Commit | Line | Data |
---|---|---|
25e25617 SS |
1 | All the numerical options, if not specified otherwise, accept in input |
2 | a string representing a number, which may contain one of the | |
3 | International System number postfixes, for example 'K', 'M', 'G'. | |
4 | If 'i' is appended after the postfix, powers of 2 are used instead of | |
5 | powers of 10. The 'B' postfix multiplies the value for 8, and can be | |
6 | appended after another postfix or used alone. This allows using for | |
7 | example 'KB', 'MiB', 'G' and 'B' as postfix. | |
8 | ||
92d71714 SS |
9 | Options which do not take arguments are boolean options, and set the |
10 | corresponding value to true. They can be set to false by prefixing | |
11 | with "no" the option name, for example using "-nofoo" in the | |
12 | commandline will set to false the boolean option with name "foo". | |
13 | ||
99442bfe AK |
14 | @section Stream specifiers |
15 | Some options are applied per-stream, e.g. bitrate or codec. Stream specifiers | |
16 | are used to precisely specify which stream(s) does a given option belong to. | |
17 | ||
18 | A stream specifier is a string generally appended to the option name and | |
19 | separated from it by a colon. E.g. @code{-codec:a:1 ac3} option contains | |
20 | @code{a:1} stream specifer, which matches the second audio stream. Therefore it | |
21 | would select the ac3 codec for the second audio stream. | |
22 | ||
23 | A stream specifier can match several stream, the option is then applied to all | |
24 | of them. E.g. the stream specifier in @code{-b:a 128k} matches all audio | |
25 | streams. | |
26 | ||
27 | An empty stream specifier matches all streams, for example @code{-codec copy} | |
28 | or @code{-codec: copy} would copy all the streams without reencoding. | |
29 | ||
30 | Possible forms of stream specifiers are: | |
31 | @table @option | |
32 | @item @var{stream_index} | |
33 | Matches the stream with this index. E.g. @code{-threads:1 4} would set the | |
34 | thread count for the second stream to 4. | |
35 | @item @var{stream_type}[:@var{stream_index}] | |
3ccd1580 AK |
36 | @var{stream_type} is one of: 'v' for video, 'a' for audio, 's' for subtitle, |
37 | 'd' for data and 't' for attachments. If @var{stream_index} is given, then | |
38 | matches stream number @var{stream_index} of this type. Otherwise matches all | |
39 | streams of this type. | |
99442bfe AK |
40 | @item @var{program_id}[:@var{stream_index}] |
41 | If @var{stream_index} is given, then matches stream number @var{stream_index} in | |
42 | program with id @var{program_id}. Otherwise matches all streams in this program. | |
43 | @end table | |
8b9da8b5 SS |
44 | @section Generic options |
45 | ||
b3dd2010 | 46 | These options are shared amongst the av* tools. |
8b9da8b5 SS |
47 | |
48 | @table @option | |
49 | ||
5f6cb6eb SS |
50 | @item -L |
51 | Show license. | |
52 | ||
53 | @item -h, -?, -help, --help | |
54 | Show help. | |
55 | ||
56 | @item -version | |
57 | Show version. | |
58 | ||
59 | @item -formats | |
60 | Show available formats. | |
61 | ||
62 | The fields preceding the format names have the following meanings: | |
63 | @table @samp | |
64 | @item D | |
65 | Decoding available | |
66 | @item E | |
67 | Encoding available | |
68 | @end table | |
69 | ||
70 | @item -codecs | |
71 | Show available codecs. | |
72 | ||
73 | The fields preceding the codec names have the following meanings: | |
74 | @table @samp | |
75 | @item D | |
76 | Decoding available | |
77 | @item E | |
78 | Encoding available | |
79 | @item V/A/S | |
80 | Video/audio/subtitle codec | |
81 | @item S | |
82 | Codec supports slices | |
83 | @item D | |
84 | Codec supports direct rendering | |
85 | @item T | |
86 | Codec can handle input truncated at random locations instead of only at frame boundaries | |
87 | @end table | |
88 | ||
89 | @item -bsfs | |
90 | Show available bitstream filters. | |
91 | ||
92 | @item -protocols | |
93 | Show available protocols. | |
94 | ||
95 | @item -filters | |
96 | Show available libavfilter filters. | |
97 | ||
3f7bb426 SS |
98 | @item -pix_fmts |
99 | Show available pixel formats. | |
100 | ||
05bffc12 AK |
101 | @item -sample_fmts |
102 | Show available sample formats. | |
103 | ||
8124d8ad | 104 | @item -loglevel @var{loglevel} | -v @var{loglevel} |
5f6cb6eb SS |
105 | Set the logging level used by the library. |
106 | @var{loglevel} is a number or a string containing one of the following values: | |
107 | @table @samp | |
108 | @item quiet | |
109 | @item panic | |
110 | @item fatal | |
111 | @item error | |
112 | @item warning | |
113 | @item info | |
114 | @item verbose | |
115 | @item debug | |
116 | @end table | |
117 | ||
1e27c477 SS |
118 | By default the program logs to stderr, if coloring is supported by the |
119 | terminal, colors are used to mark errors and warnings. Log coloring | |
3011ecde SS |
120 | can be disabled setting the environment variable |
121 | @env{FFMPEG_FORCE_NOCOLOR} or @env{NO_COLOR}, or can be forced setting | |
122 | the environment variable @env{FFMPEG_FORCE_COLOR}. | |
c3d07c17 | 123 | The use of the environment variable @env{NO_COLOR} is deprecated and |
f8a45fa1 | 124 | will be dropped in a following Libav version. |
1e27c477 | 125 | |
8b9da8b5 | 126 | @end table |
22b203ba AK |
127 | |
128 | @section AVOptions | |
129 | ||
e0e65ddb AK |
130 | These options are provided directly by the libavformat, libavdevice and |
131 | libavcodec libraries. To see the list of available AVOptions, use the | |
22b203ba AK |
132 | @option{-help} option. They are separated into two categories: |
133 | @table @option | |
134 | @item generic | |
e0e65ddb AK |
135 | These options can be set for any container, codec or device. Generic options are |
136 | listed under AVFormatContext options for containers/devices and under | |
137 | AVCodecContext options for codecs. | |
22b203ba | 138 | @item private |
e0e65ddb AK |
139 | These options are specific to the given container, device or codec. Private |
140 | options are listed under their corresponding containers/devices/codecs. | |
22b203ba AK |
141 | @end table |
142 | ||
143 | For example to write an ID3v2.3 header instead of a default ID3v2.4 to | |
144 | an MP3 file, use the @option{id3v2_version} private option of the MP3 | |
145 | muxer: | |
146 | @example | |
147 | ffmpeg -i input.flac -id3v2_version 3 out.mp3 | |
148 | @end example | |
149 | ||
99442bfe AK |
150 | All codec AVOptions are obviously per-stream, so the chapter on stream |
151 | specifiers applies to them | |
d4863fc1 | 152 | |
22b203ba AK |
153 | Note -nooption syntax cannot be used for boolean AVOptions, use -option |
154 | 0/-option 1. | |
d4863fc1 AK |
155 | |
156 | Note2 old undocumented way of specifying per-stream AVOptions by prepending | |
157 | v/a/s to the options name is now obsolete and will be removed soon. |