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