ffmpeg.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Sun, 03 Jan 2021 23:37:00 +0200
changeset 2492 bd3d45148652
parent 2491 47d29886013c
permissions -rw-r--r--
Fixed example.


========
 ffmpeg
========
.. contents::
   :local:

Docs
====

https://ffmpeg.org/documentation.html
  Docs index.
http://ffmpeg.org/ffmpeg-all.html
  Common options.
https://ffmpeg.org/faq.html
  FAQ.
https://ffmpeg.org/ffmpeg.html
  Syntax overview.

Print supported options
=======================

Supported formats::

  ffmpeg -formats

Supported decoders/encoders::

  ffmpeg -codecs
  ffmpeg -encoders
  ffmpeg -decoders

Details for particular encoder/decoder::

  ffmpeg -h decoder=h264
  ffmpeg -h encoder=libx264

Supported muxer/demuxer::

  ffmpeg -muxers
  ffmpeg -demuxers

Details for particular muxer/demuxer::

  ffmpeg -h muxer=webm
  ffmpeg -h demuxer=flv

Available filters::

  ffmpeg -filters

Details for particular filter::

  ffmpeg -h filter=aecho
  ffmpeg -h filter=blackdetect

Pixel formats::

  ffmpeg -pix_fmts

Supported bitstream filters::

  ffmpeg -bsfs

Layouts for audio (mono/stereo/etc)::

  ffmpeg -layouts

Available protocols::

  ffmpeg -protocols

Probe file
==========
::

   mediainfo $FILE
   ffprobe $FILE

Limiting bit rate
=================

``-maxrate`` should be accompanied with ``-bufsize`` option like::

  -maxrate 800k -bufsize 1200k

otherwise you'll get warning:

> VBV maxrate specified, but no bufsize, ignored

``-b:v RATE`` allows to specify average bitrate for video.

To specify video stream use syntax like::

  -c:v:0 libx264 -b:v:0 2000k -maxrate:v:0 2200k -bufsize:v:0 3000k

https://trac.ffmpeg.org/wiki/Limiting%20the%20output%20bitrate
  Limiting the output bitrate.
https://trac.ffmpeg.org/wiki/EncodingForStreamingSites
  Encoding for streaming sites.

H.264
=====

https://trac.ffmpeg.org/wiki/Encode/H.264

Adding a logo to a video
========================

::

  ffmpeg -i in.mp4 -i logo.png out.mp4
  ffmpeg -i in.mp4 -i logo.png -filter_complex "overlay=x=10:y=20" out.mp4