convert name.png name.jpg
convert *.png *.jpg
convert name.png -resize 512x name.jpg
convert name.png -resize 1242x2208\! name.png ## force resize
(requires installation of ghostscript)
brew install gs
convert foo.png -crop 640x480+50+100 out.png
convert icon.png -colorspace Gray icon_bnw.png
convert -size 800x800 xc:transparent transparent.png
convert -gravity Center -composite white.png foo.jpg combined.png
convert +append foo.png bar.jpg result.png
montage foo.png bar.jpg -tile 2x1 -geometry +0+0 result.png
convert -append *.png out.png
convert foo.png -background "#0c39ff" -alpha remove result.png
convert -delay 30 -loop 0 -dispose 2 *.png image.gif
with a 30ms delay between frames, loop forever, and disposing of previous image (no stacking)
(requires installation of ffmpeg)
brew install ffmpeg
ffmpeg -i name.mp4 name.gif
OR
mkdir frames
ffmpeg -i input.mp4 -vf scale=320:-1:flags=lanczos,fps=10 frames/ffout%03d.png
convert -loop 0 frames/ffout*.png output.gif
ffmpeg -t 30 -i inputfile.mp3 -acodec copy outputfile.mp3
ffmpeg -i kaching.m4a -vn -ar 44100 -ac 2 -ab 192k -f mp3 kaching.mp3
ffmpeg -i buzzer-sound-effect.mp3 -filter:a "volume=0.5" buzzer-soft.mp3
ffmpeg -i foo.mp4 -ss 00:00:33 -t 3 -async 1 cut.mp4
ffmpeg -i foo.mp4 -filter_complex \
"[0:v]crop=1080:1920:0:0,boxblur=10[fg]; \
[0:v][fg]overlay=0:0[v]" \
-map "[v]" -map 0:a -c:v libx264 -c:a copy -movflags +faststart fooblur.mp4