Snippets
Change container
ffmpeg \
-i input.avi \
-y output.mkv
Record video device
List formats
ffmpeg \
-f v4l2 -list_formats all \
-i /dev/video0
Acquire fastly
ffmpeg \
-f v4l2 -use_wallclock_as_timestamps true \
-video_size 1920x1080 -framerate 60 \
-input_format bgr24 \
-i /dev/video0 \
-vf vflip \
-codec:v libx264 -preset ultrafast -qp 0 \
-y ultrafast.mkv
Windows desktop:
-f 'gdigrab' -i 'desktop'
Cut and shrink
ffmpeg -i ultrafast.mkv \
-ss 00:00:01.000 -to 00:00:02.000 \
-codec:v libx264 -preset veryslow -qp 0 \
-y uf.mkv
Compress for web
ffmpeg -i uf.mkv \
-codec:v libx264 -preset veryslow -qp 23 \
-movflags +faststart -pix_fmt yuv420p \
-y uf.23.mp4
ffmpeg -i uf.mkv \
-codec:v libx265 -preset veryslow -qp 28 \
-movflags +faststart -pix_fmt yuv420p \
-y uf.28.mp4
Cut file
ffmpeg \
-i input.mkv \
-ss 00:00:01.000 \
-to 00:00:02.000 \
-codec copy \
-y output.mkv
Closest I frames
ffmpeg \
-ss 00:00:01.000 \
-i input.mkv \
-to 00:00:02.000 \
-codec copy \
-y output.mkv
Filter
comma separated
Crop
-filter:v "crop=1280:720:0:0"
Speed
-r 120 \
-filter:v "setpts=0.5*PTS"
-filter:a "atempo=2.0"