ffmpeg.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Fri, 13 Nov 2020 22:27:55 +0200
changeset 2456 b7e46ea06927
parent 2426 b8ad0acb827d
child 2491 47d29886013c
permissions -rw-r--r--
Show current key details.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2424
2a62ec5e8506 Print supported options.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     1
2a62ec5e8506 Print supported options.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     2
========
2a62ec5e8506 Print supported options.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     3
 ffmpeg
2a62ec5e8506 Print supported options.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     4
========
2a62ec5e8506 Print supported options.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     5
.. contents::
2a62ec5e8506 Print supported options.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     6
   :local:
2a62ec5e8506 Print supported options.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     7
2425
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
     8
Docs
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
     9
====
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
    10
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
    11
https://ffmpeg.org/documentation.html
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
    12
  Docs index.
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
    13
http://ffmpeg.org/ffmpeg-all.html
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
    14
  Common options.
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
    15
https://ffmpeg.org/faq.html
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
    16
  FAQ.
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
    17
https://ffmpeg.org/ffmpeg.html
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
    18
  Syntax overview.
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
    19
2424
2a62ec5e8506 Print supported options.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    20
Print supported options
2a62ec5e8506 Print supported options.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    21
=======================
2a62ec5e8506 Print supported options.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    22
2a62ec5e8506 Print supported options.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    23
Supported decoders/encoders::
2a62ec5e8506 Print supported options.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    24
2a62ec5e8506 Print supported options.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    25
  ffmpeg -codecs
2a62ec5e8506 Print supported options.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    26
2a62ec5e8506 Print supported options.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    27
Pixel formats::
2a62ec5e8506 Print supported options.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    28
2a62ec5e8506 Print supported options.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    29
  ffmpeg -pix_fmts
2a62ec5e8506 Print supported options.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    30
2426
b8ad0acb827d Probe file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2425
diff changeset
    31
Probe file
b8ad0acb827d Probe file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2425
diff changeset
    32
==========
b8ad0acb827d Probe file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2425
diff changeset
    33
::
b8ad0acb827d Probe file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2425
diff changeset
    34
b8ad0acb827d Probe file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2425
diff changeset
    35
   mediainfo $FILE
b8ad0acb827d Probe file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2425
diff changeset
    36
   ffprobe $FILE
b8ad0acb827d Probe file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2425
diff changeset
    37
2425
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
    38
Limiting bit rate
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
    39
=================
2424
2a62ec5e8506 Print supported options.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    40
2425
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
    41
``-maxrate`` should be accompanied with ``-bufsize`` option like::
2424
2a62ec5e8506 Print supported options.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    42
2425
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
    43
  -maxrate 800k -bufsize 1200k
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
    44
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
    45
otherwise you'll get warning:
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
    46
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
    47
> VBV maxrate specified, but no bufsize, ignored
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
    48
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
    49
``-b:v RATE`` allows to specify average bitrate for video.
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
    50
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
    51
To specify video stream use syntax like::
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
    52
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
    53
  -c:v:0 libx264 -b:v:0 2000k -maxrate:v:0 2200k -bufsize:v:0 3000k
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
    54
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
    55
https://trac.ffmpeg.org/wiki/Limiting%20the%20output%20bitrate
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
    56
  Limiting the output bitrate.
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
    57
https://trac.ffmpeg.org/wiki/EncodingForStreamingSites
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
    58
  Encoding for streaming sites.
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
    59
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
    60
H.264
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
    61
=====
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
    62
0dadee3a3b63 Limiting bit rate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2424
diff changeset
    63
https://trac.ffmpeg.org/wiki/Encode/H.264
2426
b8ad0acb827d Probe file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2425
diff changeset
    64
b8ad0acb827d Probe file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2425
diff changeset
    65
Adding a logo to a video
b8ad0acb827d Probe file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2425
diff changeset
    66
========================
b8ad0acb827d Probe file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2425
diff changeset
    67
b8ad0acb827d Probe file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2425
diff changeset
    68
::
b8ad0acb827d Probe file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2425
diff changeset
    69
b8ad0acb827d Probe file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2425
diff changeset
    70
  ffmpeg -i in.mp4 -i logo.png out.mp4
b8ad0acb827d Probe file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2425
diff changeset
    71
  ffmpeg -i in.mp4 -i logo.png -filter_complex "overlay=x=10:y=20" out.mp4
b8ad0acb827d Probe file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2425
diff changeset
    72