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 1280x720 -framerate 60 \
-input_format bgr24 \
-i /dev/video0 \
-vf vflip \
-codec:v libx264 -preset ultrafast -qp 0 \
-y ultrafast.mkv

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.mkv

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