119 lines
1.5 KiB
ReStructuredText
119 lines
1.5 KiB
ReStructuredText
********
|
|
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 -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"
|