yading@10
|
1 .\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
|
yading@10
|
2 .\"
|
yading@10
|
3 .\" Standard preamble:
|
yading@10
|
4 .\" ========================================================================
|
yading@10
|
5 .de Sp \" Vertical space (when we can't use .PP)
|
yading@10
|
6 .if t .sp .5v
|
yading@10
|
7 .if n .sp
|
yading@10
|
8 ..
|
yading@10
|
9 .de Vb \" Begin verbatim text
|
yading@10
|
10 .ft CW
|
yading@10
|
11 .nf
|
yading@10
|
12 .ne \\$1
|
yading@10
|
13 ..
|
yading@10
|
14 .de Ve \" End verbatim text
|
yading@10
|
15 .ft R
|
yading@10
|
16 .fi
|
yading@10
|
17 ..
|
yading@10
|
18 .\" Set up some character translations and predefined strings. \*(-- will
|
yading@10
|
19 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
|
yading@10
|
20 .\" double quote, and \*(R" will give a right double quote. \*(C+ will
|
yading@10
|
21 .\" give a nicer C++. Capital omega is used to do unbreakable dashes and
|
yading@10
|
22 .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
|
yading@10
|
23 .\" nothing in troff, for use with C<>.
|
yading@10
|
24 .tr \(*W-
|
yading@10
|
25 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
yading@10
|
26 .ie n \{\
|
yading@10
|
27 . ds -- \(*W-
|
yading@10
|
28 . ds PI pi
|
yading@10
|
29 . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
yading@10
|
30 . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
yading@10
|
31 . ds L" ""
|
yading@10
|
32 . ds R" ""
|
yading@10
|
33 . ds C` ""
|
yading@10
|
34 . ds C' ""
|
yading@10
|
35 'br\}
|
yading@10
|
36 .el\{\
|
yading@10
|
37 . ds -- \|\(em\|
|
yading@10
|
38 . ds PI \(*p
|
yading@10
|
39 . ds L" ``
|
yading@10
|
40 . ds R" ''
|
yading@10
|
41 'br\}
|
yading@10
|
42 .\"
|
yading@10
|
43 .\" Escape single quotes in literal strings from groff's Unicode transform.
|
yading@10
|
44 .ie \n(.g .ds Aq \(aq
|
yading@10
|
45 .el .ds Aq '
|
yading@10
|
46 .\"
|
yading@10
|
47 .\" If the F register is turned on, we'll generate index entries on stderr for
|
yading@10
|
48 .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
|
yading@10
|
49 .\" entries marked with X<> in POD. Of course, you'll have to process the
|
yading@10
|
50 .\" output yourself in some meaningful fashion.
|
yading@10
|
51 .ie \nF \{\
|
yading@10
|
52 . de IX
|
yading@10
|
53 . tm Index:\\$1\t\\n%\t"\\$2"
|
yading@10
|
54 ..
|
yading@10
|
55 . nr % 0
|
yading@10
|
56 . rr F
|
yading@10
|
57 .\}
|
yading@10
|
58 .el \{\
|
yading@10
|
59 . de IX
|
yading@10
|
60 ..
|
yading@10
|
61 .\}
|
yading@10
|
62 .\"
|
yading@10
|
63 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
|
yading@10
|
64 .\" Fear. Run. Save yourself. No user-serviceable parts.
|
yading@10
|
65 . \" fudge factors for nroff and troff
|
yading@10
|
66 .if n \{\
|
yading@10
|
67 . ds #H 0
|
yading@10
|
68 . ds #V .8m
|
yading@10
|
69 . ds #F .3m
|
yading@10
|
70 . ds #[ \f1
|
yading@10
|
71 . ds #] \fP
|
yading@10
|
72 .\}
|
yading@10
|
73 .if t \{\
|
yading@10
|
74 . ds #H ((1u-(\\\\n(.fu%2u))*.13m)
|
yading@10
|
75 . ds #V .6m
|
yading@10
|
76 . ds #F 0
|
yading@10
|
77 . ds #[ \&
|
yading@10
|
78 . ds #] \&
|
yading@10
|
79 .\}
|
yading@10
|
80 . \" simple accents for nroff and troff
|
yading@10
|
81 .if n \{\
|
yading@10
|
82 . ds ' \&
|
yading@10
|
83 . ds ` \&
|
yading@10
|
84 . ds ^ \&
|
yading@10
|
85 . ds , \&
|
yading@10
|
86 . ds ~ ~
|
yading@10
|
87 . ds /
|
yading@10
|
88 .\}
|
yading@10
|
89 .if t \{\
|
yading@10
|
90 . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
|
yading@10
|
91 . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
|
yading@10
|
92 . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
|
yading@10
|
93 . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
|
yading@10
|
94 . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
|
yading@10
|
95 . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
|
yading@10
|
96 .\}
|
yading@10
|
97 . \" troff and (daisy-wheel) nroff accents
|
yading@10
|
98 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
|
yading@10
|
99 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
|
yading@10
|
100 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
|
yading@10
|
101 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
|
yading@10
|
102 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
|
yading@10
|
103 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
|
yading@10
|
104 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
|
yading@10
|
105 .ds ae a\h'-(\w'a'u*4/10)'e
|
yading@10
|
106 .ds Ae A\h'-(\w'A'u*4/10)'E
|
yading@10
|
107 . \" corrections for vroff
|
yading@10
|
108 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
|
yading@10
|
109 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
|
yading@10
|
110 . \" for low resolution devices (crt and lpr)
|
yading@10
|
111 .if \n(.H>23 .if \n(.V>19 \
|
yading@10
|
112 \{\
|
yading@10
|
113 . ds : e
|
yading@10
|
114 . ds 8 ss
|
yading@10
|
115 . ds o a
|
yading@10
|
116 . ds d- d\h'-1'\(ga
|
yading@10
|
117 . ds D- D\h'-1'\(hy
|
yading@10
|
118 . ds th \o'bp'
|
yading@10
|
119 . ds Th \o'LP'
|
yading@10
|
120 . ds ae ae
|
yading@10
|
121 . ds Ae AE
|
yading@10
|
122 .\}
|
yading@10
|
123 .rm #[ #] #H #V #F C
|
yading@10
|
124 .\" ========================================================================
|
yading@10
|
125 .\"
|
yading@10
|
126 .IX Title "FFPROBE 1"
|
yading@10
|
127 .TH FFPROBE 1 "2013-04-21" " " " "
|
yading@10
|
128 .\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
yading@10
|
129 .\" way too many mistakes in technical documents.
|
yading@10
|
130 .if n .ad l
|
yading@10
|
131 .nh
|
yading@10
|
132 .SH "NAME"
|
yading@10
|
133 ffprobe \- ffprobe media prober
|
yading@10
|
134 .SH "SYNOPSIS"
|
yading@10
|
135 .IX Header "SYNOPSIS"
|
yading@10
|
136 ffprobe [\fIoptions\fR] [\fIinput_file\fR]
|
yading@10
|
137 .SH "DESCRIPTION"
|
yading@10
|
138 .IX Header "DESCRIPTION"
|
yading@10
|
139 ffprobe gathers information from multimedia streams and prints it in
|
yading@10
|
140 human\- and machine-readable fashion.
|
yading@10
|
141 .PP
|
yading@10
|
142 For example it can be used to check the format of the container used
|
yading@10
|
143 by a multimedia stream and the format and type of each media stream
|
yading@10
|
144 contained in it.
|
yading@10
|
145 .PP
|
yading@10
|
146 If a filename is specified in input, ffprobe will try to open and
|
yading@10
|
147 probe the file content. If the file cannot be opened or recognized as
|
yading@10
|
148 a multimedia file, a positive exit code is returned.
|
yading@10
|
149 .PP
|
yading@10
|
150 ffprobe may be employed both as a standalone application or in
|
yading@10
|
151 combination with a textual filter, which may perform more
|
yading@10
|
152 sophisticated processing, e.g. statistical processing or plotting.
|
yading@10
|
153 .PP
|
yading@10
|
154 Options are used to list some of the formats supported by ffprobe or
|
yading@10
|
155 for specifying which information to display, and for setting how
|
yading@10
|
156 ffprobe will show it.
|
yading@10
|
157 .PP
|
yading@10
|
158 ffprobe output is designed to be easily parsable by a textual filter,
|
yading@10
|
159 and consists of one or more sections of a form defined by the selected
|
yading@10
|
160 writer, which is specified by the \fBprint_format\fR option.
|
yading@10
|
161 .PP
|
yading@10
|
162 Sections may contain other nested sections, and are identified by a
|
yading@10
|
163 name (which may be shared by other sections), and an unique
|
yading@10
|
164 name. See the output of \fBsections\fR.
|
yading@10
|
165 .PP
|
yading@10
|
166 Metadata tags stored in the container or in the streams are recognized
|
yading@10
|
167 and printed in the corresponding \*(L"\s-1FORMAT\s0\*(R" or \*(L"\s-1STREAM\s0\*(R" section.
|
yading@10
|
168 .SH "OPTIONS"
|
yading@10
|
169 .IX Header "OPTIONS"
|
yading@10
|
170 All the numerical options, if not specified otherwise, accept a string
|
yading@10
|
171 representing a number as input, which may be followed by one of the \s-1SI\s0
|
yading@10
|
172 unit prefixes, for example: 'K', 'M', or 'G'.
|
yading@10
|
173 .PP
|
yading@10
|
174 If 'i' is appended to the \s-1SI\s0 unit prefix, the complete prefix will be
|
yading@10
|
175 interpreted as a unit prefix for binary multiplies, which are based on
|
yading@10
|
176 powers of 1024 instead of powers of 1000. Appending 'B' to the \s-1SI\s0 unit
|
yading@10
|
177 prefix multiplies the value by 8. This allows using, for example:
|
yading@10
|
178 \&'\s-1KB\s0', 'MiB', 'G' and 'B' as number suffixes.
|
yading@10
|
179 .PP
|
yading@10
|
180 Options which do not take arguments are boolean options, and set the
|
yading@10
|
181 corresponding value to true. They can be set to false by prefixing
|
yading@10
|
182 the option name with \*(L"no\*(R". For example using \*(L"\-nofoo\*(R"
|
yading@10
|
183 will set the boolean option with name \*(L"foo\*(R" to false.
|
yading@10
|
184 .SS "Stream specifiers"
|
yading@10
|
185 .IX Subsection "Stream specifiers"
|
yading@10
|
186 Some options are applied per-stream, e.g. bitrate or codec. Stream specifiers
|
yading@10
|
187 are used to precisely specify which stream(s) a given option belongs to.
|
yading@10
|
188 .PP
|
yading@10
|
189 A stream specifier is a string generally appended to the option name and
|
yading@10
|
190 separated from it by a colon. E.g. \f(CW\*(C`\-codec:a:1 ac3\*(C'\fR contains the
|
yading@10
|
191 \&\f(CW\*(C`a:1\*(C'\fR stream specifier, which matches the second audio stream. Therefore, it
|
yading@10
|
192 would select the ac3 codec for the second audio stream.
|
yading@10
|
193 .PP
|
yading@10
|
194 A stream specifier can match several streams, so that the option is applied to all
|
yading@10
|
195 of them. E.g. the stream specifier in \f(CW\*(C`\-b:a 128k\*(C'\fR matches all audio
|
yading@10
|
196 streams.
|
yading@10
|
197 .PP
|
yading@10
|
198 An empty stream specifier matches all streams. For example, \f(CW\*(C`\-codec copy\*(C'\fR
|
yading@10
|
199 or \f(CW\*(C`\-codec: copy\*(C'\fR would copy all the streams without reencoding.
|
yading@10
|
200 .PP
|
yading@10
|
201 Possible forms of stream specifiers are:
|
yading@10
|
202 .IP "\fIstream_index\fR" 4
|
yading@10
|
203 .IX Item "stream_index"
|
yading@10
|
204 Matches the stream with this index. E.g. \f(CW\*(C`\-threads:1 4\*(C'\fR would set the
|
yading@10
|
205 thread count for the second stream to 4.
|
yading@10
|
206 .IP "\fIstream_type\fR\fB[:\fR\fIstream_index\fR\fB]\fR" 4
|
yading@10
|
207 .IX Item "stream_type[:stream_index]"
|
yading@10
|
208 \&\fIstream_type\fR is one of following: 'v' for video, 'a' for audio, 's' for subtitle,
|
yading@10
|
209 \&'d' for data, and 't' for attachments. If \fIstream_index\fR is given, then it matches
|
yading@10
|
210 stream number \fIstream_index\fR of this type. Otherwise, it matches all
|
yading@10
|
211 streams of this type.
|
yading@10
|
212 .IP "\fBp:\fR\fIprogram_id\fR\fB[:\fR\fIstream_index\fR\fB]\fR" 4
|
yading@10
|
213 .IX Item "p:program_id[:stream_index]"
|
yading@10
|
214 If \fIstream_index\fR is given, then it matches the stream with number \fIstream_index\fR
|
yading@10
|
215 in the program with the id \fIprogram_id\fR. Otherwise, it matches all streams in the
|
yading@10
|
216 program.
|
yading@10
|
217 .IP "\fB#\fR\fIstream_id\fR" 4
|
yading@10
|
218 .IX Item "#stream_id"
|
yading@10
|
219 Matches the stream by a format-specific \s-1ID\s0.
|
yading@10
|
220 .SS "Generic options"
|
yading@10
|
221 .IX Subsection "Generic options"
|
yading@10
|
222 These options are shared amongst the ff* tools.
|
yading@10
|
223 .IP "\fB\-L\fR" 4
|
yading@10
|
224 .IX Item "-L"
|
yading@10
|
225 Show license.
|
yading@10
|
226 .IP "\fB\-h, \-?, \-help, \-\-help [\fR\fIarg\fR\fB]\fR" 4
|
yading@10
|
227 .IX Item "-h, -?, -help, --help [arg]"
|
yading@10
|
228 Show help. An optional parameter may be specified to print help about a specific
|
yading@10
|
229 item.
|
yading@10
|
230 .Sp
|
yading@10
|
231 Possible values of \fIarg\fR are:
|
yading@10
|
232 .RS 4
|
yading@10
|
233 .IP "\fBdecoder=\fR\fIdecoder_name\fR" 4
|
yading@10
|
234 .IX Item "decoder=decoder_name"
|
yading@10
|
235 Print detailed information about the decoder named \fIdecoder_name\fR. Use the
|
yading@10
|
236 \&\fB\-decoders\fR option to get a list of all decoders.
|
yading@10
|
237 .IP "\fBencoder=\fR\fIencoder_name\fR" 4
|
yading@10
|
238 .IX Item "encoder=encoder_name"
|
yading@10
|
239 Print detailed information about the encoder named \fIencoder_name\fR. Use the
|
yading@10
|
240 \&\fB\-encoders\fR option to get a list of all encoders.
|
yading@10
|
241 .IP "\fBdemuxer=\fR\fIdemuxer_name\fR" 4
|
yading@10
|
242 .IX Item "demuxer=demuxer_name"
|
yading@10
|
243 Print detailed information about the demuxer named \fIdemuxer_name\fR. Use the
|
yading@10
|
244 \&\fB\-formats\fR option to get a list of all demuxers and muxers.
|
yading@10
|
245 .IP "\fBmuxer=\fR\fImuxer_name\fR" 4
|
yading@10
|
246 .IX Item "muxer=muxer_name"
|
yading@10
|
247 Print detailed information about the muxer named \fImuxer_name\fR. Use the
|
yading@10
|
248 \&\fB\-formats\fR option to get a list of all muxers and demuxers.
|
yading@10
|
249 .IP "\fBfilter=\fR\fIfilter_name\fR" 4
|
yading@10
|
250 .IX Item "filter=filter_name"
|
yading@10
|
251 Print detailed information about the filter name \fIfilter_name\fR. Use the
|
yading@10
|
252 \&\fB\-filters\fR option to get a list of all filters.
|
yading@10
|
253 .RE
|
yading@10
|
254 .RS 4
|
yading@10
|
255 .RE
|
yading@10
|
256 .IP "\fB\-version\fR" 4
|
yading@10
|
257 .IX Item "-version"
|
yading@10
|
258 Show version.
|
yading@10
|
259 .IP "\fB\-formats\fR" 4
|
yading@10
|
260 .IX Item "-formats"
|
yading@10
|
261 Show available formats.
|
yading@10
|
262 .IP "\fB\-codecs\fR" 4
|
yading@10
|
263 .IX Item "-codecs"
|
yading@10
|
264 Show all codecs known to libavcodec.
|
yading@10
|
265 .Sp
|
yading@10
|
266 Note that the term 'codec' is used throughout this documentation as a shortcut
|
yading@10
|
267 for what is more correctly called a media bitstream format.
|
yading@10
|
268 .IP "\fB\-decoders\fR" 4
|
yading@10
|
269 .IX Item "-decoders"
|
yading@10
|
270 Show available decoders.
|
yading@10
|
271 .IP "\fB\-encoders\fR" 4
|
yading@10
|
272 .IX Item "-encoders"
|
yading@10
|
273 Show all available encoders.
|
yading@10
|
274 .IP "\fB\-bsfs\fR" 4
|
yading@10
|
275 .IX Item "-bsfs"
|
yading@10
|
276 Show available bitstream filters.
|
yading@10
|
277 .IP "\fB\-protocols\fR" 4
|
yading@10
|
278 .IX Item "-protocols"
|
yading@10
|
279 Show available protocols.
|
yading@10
|
280 .IP "\fB\-filters\fR" 4
|
yading@10
|
281 .IX Item "-filters"
|
yading@10
|
282 Show available libavfilter filters.
|
yading@10
|
283 .IP "\fB\-pix_fmts\fR" 4
|
yading@10
|
284 .IX Item "-pix_fmts"
|
yading@10
|
285 Show available pixel formats.
|
yading@10
|
286 .IP "\fB\-sample_fmts\fR" 4
|
yading@10
|
287 .IX Item "-sample_fmts"
|
yading@10
|
288 Show available sample formats.
|
yading@10
|
289 .IP "\fB\-layouts\fR" 4
|
yading@10
|
290 .IX Item "-layouts"
|
yading@10
|
291 Show channel names and standard channel layouts.
|
yading@10
|
292 .IP "\fB\-loglevel [repeat+]\fR\fIloglevel\fR \fB| \-v [repeat+]\fR\fIloglevel\fR" 4
|
yading@10
|
293 .IX Item "-loglevel [repeat+]loglevel | -v [repeat+]loglevel"
|
yading@10
|
294 Set the logging level used by the library.
|
yading@10
|
295 Adding \*(L"repeat+\*(R" indicates that repeated log output should not be compressed
|
yading@10
|
296 to the first line and the \*(L"Last message repeated n times\*(R" line will be
|
yading@10
|
297 omitted. \*(L"repeat\*(R" can also be used alone.
|
yading@10
|
298 If \*(L"repeat\*(R" is used alone, and with no prior loglevel set, the default
|
yading@10
|
299 loglevel will be used. If multiple loglevel parameters are given, using
|
yading@10
|
300 \&'repeat' will not change the loglevel.
|
yading@10
|
301 \&\fIloglevel\fR is a number or a string containing one of the following values:
|
yading@10
|
302 .RS 4
|
yading@10
|
303 .IP "\fBquiet\fR" 4
|
yading@10
|
304 .IX Item "quiet"
|
yading@10
|
305 Show nothing at all; be silent.
|
yading@10
|
306 .IP "\fBpanic\fR" 4
|
yading@10
|
307 .IX Item "panic"
|
yading@10
|
308 Only show fatal errors which could lead the process to crash, such as
|
yading@10
|
309 and assert failure. This is not currently used for anything.
|
yading@10
|
310 .IP "\fBfatal\fR" 4
|
yading@10
|
311 .IX Item "fatal"
|
yading@10
|
312 Only show fatal errors. These are errors after which the process absolutely
|
yading@10
|
313 cannot continue after.
|
yading@10
|
314 .IP "\fBerror\fR" 4
|
yading@10
|
315 .IX Item "error"
|
yading@10
|
316 Show all errors, including ones which can be recovered from.
|
yading@10
|
317 .IP "\fBwarning\fR" 4
|
yading@10
|
318 .IX Item "warning"
|
yading@10
|
319 Show all warnings and errors. Any message related to possibly
|
yading@10
|
320 incorrect or unexpected events will be shown.
|
yading@10
|
321 .IP "\fBinfo\fR" 4
|
yading@10
|
322 .IX Item "info"
|
yading@10
|
323 Show informative messages during processing. This is in addition to
|
yading@10
|
324 warnings and errors. This is the default value.
|
yading@10
|
325 .IP "\fBverbose\fR" 4
|
yading@10
|
326 .IX Item "verbose"
|
yading@10
|
327 Same as \f(CW\*(C`info\*(C'\fR, except more verbose.
|
yading@10
|
328 .IP "\fBdebug\fR" 4
|
yading@10
|
329 .IX Item "debug"
|
yading@10
|
330 Show everything, including debugging information.
|
yading@10
|
331 .RE
|
yading@10
|
332 .RS 4
|
yading@10
|
333 .Sp
|
yading@10
|
334 By default the program logs to stderr, if coloring is supported by the
|
yading@10
|
335 terminal, colors are used to mark errors and warnings. Log coloring
|
yading@10
|
336 can be disabled setting the environment variable
|
yading@10
|
337 \&\fB\s-1AV_LOG_FORCE_NOCOLOR\s0\fR or \fB\s-1NO_COLOR\s0\fR, or can be forced setting
|
yading@10
|
338 the environment variable \fB\s-1AV_LOG_FORCE_COLOR\s0\fR.
|
yading@10
|
339 The use of the environment variable \fB\s-1NO_COLOR\s0\fR is deprecated and
|
yading@10
|
340 will be dropped in a following FFmpeg version.
|
yading@10
|
341 .RE
|
yading@10
|
342 .IP "\fB\-report\fR" 4
|
yading@10
|
343 .IX Item "-report"
|
yading@10
|
344 Dump full command line and console output to a file named
|
yading@10
|
345 \&\f(CW\*(C`\f(CIprogram\f(CW\-\f(CIYYYYMMDD\f(CW\-\f(CIHHMMSS\f(CW.log\*(C'\fR in the current
|
yading@10
|
346 directory.
|
yading@10
|
347 This file can be useful for bug reports.
|
yading@10
|
348 It also implies \f(CW\*(C`\-loglevel verbose\*(C'\fR.
|
yading@10
|
349 .Sp
|
yading@10
|
350 Setting the environment variable \f(CW\*(C`FFREPORT\*(C'\fR to any value has the
|
yading@10
|
351 same effect. If the value is a ':'\-separated key=value sequence, these
|
yading@10
|
352 options will affect the report; options values must be escaped if they
|
yading@10
|
353 contain special characters or the options delimiter ':' (see the
|
yading@10
|
354 ``Quoting and escaping'' section in the ffmpeg-utils manual). The
|
yading@10
|
355 following option is recognized:
|
yading@10
|
356 .RS 4
|
yading@10
|
357 .IP "\fBfile\fR" 4
|
yading@10
|
358 .IX Item "file"
|
yading@10
|
359 set the file name to use for the report; \f(CW%p\fR is expanded to the name
|
yading@10
|
360 of the program, \f(CW%t\fR is expanded to a timestamp, \f(CW\*(C`%%\*(C'\fR is expanded
|
yading@10
|
361 to a plain \f(CW\*(C`%\*(C'\fR
|
yading@10
|
362 .RE
|
yading@10
|
363 .RS 4
|
yading@10
|
364 .Sp
|
yading@10
|
365 Errors in parsing the environment variable are not fatal, and will not
|
yading@10
|
366 appear in the report.
|
yading@10
|
367 .RE
|
yading@10
|
368 .IP "\fB\-cpuflags flags (\fR\fIglobal\fR\fB)\fR" 4
|
yading@10
|
369 .IX Item "-cpuflags flags (global)"
|
yading@10
|
370 Allows setting and clearing cpu flags. This option is intended
|
yading@10
|
371 for testing. Do not use it unless you know what you're doing.
|
yading@10
|
372 .Sp
|
yading@10
|
373 .Vb 3
|
yading@10
|
374 \& ffmpeg \-cpuflags \-sse+mmx ...
|
yading@10
|
375 \& ffmpeg \-cpuflags mmx ...
|
yading@10
|
376 \& ffmpeg \-cpuflags 0 ...
|
yading@10
|
377 .Ve
|
yading@10
|
378 .Sp
|
yading@10
|
379 Possible flags for this option are:
|
yading@10
|
380 .RS 4
|
yading@10
|
381 .IP "\fBx86\fR" 4
|
yading@10
|
382 .IX Item "x86"
|
yading@10
|
383 .RS 4
|
yading@10
|
384 .PD 0
|
yading@10
|
385 .IP "\fBmmx\fR" 4
|
yading@10
|
386 .IX Item "mmx"
|
yading@10
|
387 .IP "\fBmmxext\fR" 4
|
yading@10
|
388 .IX Item "mmxext"
|
yading@10
|
389 .IP "\fBsse\fR" 4
|
yading@10
|
390 .IX Item "sse"
|
yading@10
|
391 .IP "\fBsse2\fR" 4
|
yading@10
|
392 .IX Item "sse2"
|
yading@10
|
393 .IP "\fBsse2slow\fR" 4
|
yading@10
|
394 .IX Item "sse2slow"
|
yading@10
|
395 .IP "\fBsse3\fR" 4
|
yading@10
|
396 .IX Item "sse3"
|
yading@10
|
397 .IP "\fBsse3slow\fR" 4
|
yading@10
|
398 .IX Item "sse3slow"
|
yading@10
|
399 .IP "\fBssse3\fR" 4
|
yading@10
|
400 .IX Item "ssse3"
|
yading@10
|
401 .IP "\fBatom\fR" 4
|
yading@10
|
402 .IX Item "atom"
|
yading@10
|
403 .IP "\fBsse4.1\fR" 4
|
yading@10
|
404 .IX Item "sse4.1"
|
yading@10
|
405 .IP "\fBsse4.2\fR" 4
|
yading@10
|
406 .IX Item "sse4.2"
|
yading@10
|
407 .IP "\fBavx\fR" 4
|
yading@10
|
408 .IX Item "avx"
|
yading@10
|
409 .IP "\fBxop\fR" 4
|
yading@10
|
410 .IX Item "xop"
|
yading@10
|
411 .IP "\fBfma4\fR" 4
|
yading@10
|
412 .IX Item "fma4"
|
yading@10
|
413 .IP "\fB3dnow\fR" 4
|
yading@10
|
414 .IX Item "3dnow"
|
yading@10
|
415 .IP "\fB3dnowext\fR" 4
|
yading@10
|
416 .IX Item "3dnowext"
|
yading@10
|
417 .IP "\fBcmov\fR" 4
|
yading@10
|
418 .IX Item "cmov"
|
yading@10
|
419 .RE
|
yading@10
|
420 .RS 4
|
yading@10
|
421 .RE
|
yading@10
|
422 .IP "\fB\s-1ARM\s0\fR" 4
|
yading@10
|
423 .IX Item "ARM"
|
yading@10
|
424 .RS 4
|
yading@10
|
425 .IP "\fBarmv5te\fR" 4
|
yading@10
|
426 .IX Item "armv5te"
|
yading@10
|
427 .IP "\fBarmv6\fR" 4
|
yading@10
|
428 .IX Item "armv6"
|
yading@10
|
429 .IP "\fBarmv6t2\fR" 4
|
yading@10
|
430 .IX Item "armv6t2"
|
yading@10
|
431 .IP "\fBvfp\fR" 4
|
yading@10
|
432 .IX Item "vfp"
|
yading@10
|
433 .IP "\fBvfpv3\fR" 4
|
yading@10
|
434 .IX Item "vfpv3"
|
yading@10
|
435 .IP "\fBneon\fR" 4
|
yading@10
|
436 .IX Item "neon"
|
yading@10
|
437 .RE
|
yading@10
|
438 .RS 4
|
yading@10
|
439 .RE
|
yading@10
|
440 .IP "\fBPowerPC\fR" 4
|
yading@10
|
441 .IX Item "PowerPC"
|
yading@10
|
442 .RS 4
|
yading@10
|
443 .IP "\fBaltivec\fR" 4
|
yading@10
|
444 .IX Item "altivec"
|
yading@10
|
445 .RE
|
yading@10
|
446 .RS 4
|
yading@10
|
447 .RE
|
yading@10
|
448 .IP "\fBSpecific Processors\fR" 4
|
yading@10
|
449 .IX Item "Specific Processors"
|
yading@10
|
450 .RS 4
|
yading@10
|
451 .IP "\fBpentium2\fR" 4
|
yading@10
|
452 .IX Item "pentium2"
|
yading@10
|
453 .IP "\fBpentium3\fR" 4
|
yading@10
|
454 .IX Item "pentium3"
|
yading@10
|
455 .IP "\fBpentium4\fR" 4
|
yading@10
|
456 .IX Item "pentium4"
|
yading@10
|
457 .IP "\fBk6\fR" 4
|
yading@10
|
458 .IX Item "k6"
|
yading@10
|
459 .IP "\fBk62\fR" 4
|
yading@10
|
460 .IX Item "k62"
|
yading@10
|
461 .IP "\fBathlon\fR" 4
|
yading@10
|
462 .IX Item "athlon"
|
yading@10
|
463 .IP "\fBathlonxp\fR" 4
|
yading@10
|
464 .IX Item "athlonxp"
|
yading@10
|
465 .IP "\fBk8\fR" 4
|
yading@10
|
466 .IX Item "k8"
|
yading@10
|
467 .RE
|
yading@10
|
468 .RS 4
|
yading@10
|
469 .RE
|
yading@10
|
470 .RE
|
yading@10
|
471 .RS 4
|
yading@10
|
472 .RE
|
yading@10
|
473 .IP "\fB\-opencl_options options (\fR\fIglobal\fR\fB)\fR" 4
|
yading@10
|
474 .IX Item "-opencl_options options (global)"
|
yading@10
|
475 .PD
|
yading@10
|
476 Set OpenCL environment options. This option is only available when
|
yading@10
|
477 FFmpeg has been compiled with \f(CW\*(C`\-\-enable\-opencl\*(C'\fR.
|
yading@10
|
478 .Sp
|
yading@10
|
479 \&\fIoptions\fR must be a list of \fIkey\fR=\fIvalue\fR option pairs
|
yading@10
|
480 separated by ':'. See the ``OpenCL Options'' section in the
|
yading@10
|
481 ffmpeg-utils manual for the list of supported options.
|
yading@10
|
482 .SS "AVOptions"
|
yading@10
|
483 .IX Subsection "AVOptions"
|
yading@10
|
484 These options are provided directly by the libavformat, libavdevice and
|
yading@10
|
485 libavcodec libraries. To see the list of available AVOptions, use the
|
yading@10
|
486 \&\fB\-help\fR option. They are separated into two categories:
|
yading@10
|
487 .IP "\fBgeneric\fR" 4
|
yading@10
|
488 .IX Item "generic"
|
yading@10
|
489 These options can be set for any container, codec or device. Generic options
|
yading@10
|
490 are listed under AVFormatContext options for containers/devices and under
|
yading@10
|
491 AVCodecContext options for codecs.
|
yading@10
|
492 .IP "\fBprivate\fR" 4
|
yading@10
|
493 .IX Item "private"
|
yading@10
|
494 These options are specific to the given container, device or codec. Private
|
yading@10
|
495 options are listed under their corresponding containers/devices/codecs.
|
yading@10
|
496 .PP
|
yading@10
|
497 For example to write an ID3v2.3 header instead of a default ID3v2.4 to
|
yading@10
|
498 an \s-1MP3\s0 file, use the \fBid3v2_version\fR private option of the \s-1MP3\s0
|
yading@10
|
499 muxer:
|
yading@10
|
500 .PP
|
yading@10
|
501 .Vb 1
|
yading@10
|
502 \& ffmpeg \-i input.flac \-id3v2_version 3 out.mp3
|
yading@10
|
503 .Ve
|
yading@10
|
504 .PP
|
yading@10
|
505 All codec AVOptions are obviously per-stream, so the chapter on stream
|
yading@10
|
506 specifiers applies to them
|
yading@10
|
507 .PP
|
yading@10
|
508 Note \fB\-nooption\fR syntax cannot be used for boolean AVOptions,
|
yading@10
|
509 use \fB\-option 0\fR/\fB\-option 1\fR.
|
yading@10
|
510 .PP
|
yading@10
|
511 Note2 old undocumented way of specifying per-stream AVOptions by prepending
|
yading@10
|
512 v/a/s to the options name is now obsolete and will be removed soon.
|
yading@10
|
513 .SS "Main options"
|
yading@10
|
514 .IX Subsection "Main options"
|
yading@10
|
515 .IP "\fB\-f\fR \fIformat\fR" 4
|
yading@10
|
516 .IX Item "-f format"
|
yading@10
|
517 Force format to use.
|
yading@10
|
518 .IP "\fB\-unit\fR" 4
|
yading@10
|
519 .IX Item "-unit"
|
yading@10
|
520 Show the unit of the displayed values.
|
yading@10
|
521 .IP "\fB\-prefix\fR" 4
|
yading@10
|
522 .IX Item "-prefix"
|
yading@10
|
523 Use \s-1SI\s0 prefixes for the displayed values.
|
yading@10
|
524 Unless the \*(L"\-byte_binary_prefix\*(R" option is used all the prefixes
|
yading@10
|
525 are decimal.
|
yading@10
|
526 .IP "\fB\-byte_binary_prefix\fR" 4
|
yading@10
|
527 .IX Item "-byte_binary_prefix"
|
yading@10
|
528 Force the use of binary prefixes for byte values.
|
yading@10
|
529 .IP "\fB\-sexagesimal\fR" 4
|
yading@10
|
530 .IX Item "-sexagesimal"
|
yading@10
|
531 Use sexagesimal format \s-1HH:MM:SS\s0.MICROSECONDS for time values.
|
yading@10
|
532 .IP "\fB\-pretty\fR" 4
|
yading@10
|
533 .IX Item "-pretty"
|
yading@10
|
534 Prettify the format of the displayed values, it corresponds to the
|
yading@10
|
535 options \*(L"\-unit \-prefix \-byte_binary_prefix \-sexagesimal\*(R".
|
yading@10
|
536 .IP "\fB\-of, \-print_format\fR \fIwriter_name\fR\fB[=\fR\fIwriter_options\fR\fB]\fR" 4
|
yading@10
|
537 .IX Item "-of, -print_format writer_name[=writer_options]"
|
yading@10
|
538 Set the output printing format.
|
yading@10
|
539 .Sp
|
yading@10
|
540 \&\fIwriter_name\fR specifies the name of the writer, and
|
yading@10
|
541 \&\fIwriter_options\fR specifies the options to be passed to the writer.
|
yading@10
|
542 .Sp
|
yading@10
|
543 For example for printing the output in \s-1JSON\s0 format, specify:
|
yading@10
|
544 .Sp
|
yading@10
|
545 .Vb 1
|
yading@10
|
546 \& \-print_format json
|
yading@10
|
547 .Ve
|
yading@10
|
548 .Sp
|
yading@10
|
549 For more details on the available output printing formats, see the
|
yading@10
|
550 Writers section below.
|
yading@10
|
551 .IP "\fB\-sections\fR" 4
|
yading@10
|
552 .IX Item "-sections"
|
yading@10
|
553 Print sections structure and section information, and exit. The output
|
yading@10
|
554 is not meant to be parsed by a machine.
|
yading@10
|
555 .IP "\fB\-select_streams\fR \fIstream_specifier\fR" 4
|
yading@10
|
556 .IX Item "-select_streams stream_specifier"
|
yading@10
|
557 Select only the streams specified by \fIstream_specifier\fR. This
|
yading@10
|
558 option affects only the options related to streams
|
yading@10
|
559 (e.g. \f(CW\*(C`show_streams\*(C'\fR, \f(CW\*(C`show_packets\*(C'\fR, etc.).
|
yading@10
|
560 .Sp
|
yading@10
|
561 For example to show only audio streams, you can use the command:
|
yading@10
|
562 .Sp
|
yading@10
|
563 .Vb 1
|
yading@10
|
564 \& ffprobe \-show_streams \-select_streams a INPUT
|
yading@10
|
565 .Ve
|
yading@10
|
566 .Sp
|
yading@10
|
567 To show only video packets belonging to the video stream with index 1:
|
yading@10
|
568 .Sp
|
yading@10
|
569 .Vb 1
|
yading@10
|
570 \& ffprobe \-show_packets \-select_streams v:1 INPUT
|
yading@10
|
571 .Ve
|
yading@10
|
572 .IP "\fB\-show_data\fR" 4
|
yading@10
|
573 .IX Item "-show_data"
|
yading@10
|
574 Show payload data, as an hexadecimal and \s-1ASCII\s0 dump. Coupled with
|
yading@10
|
575 \&\fB\-show_packets\fR, it will dump the packets' data. Coupled with
|
yading@10
|
576 \&\fB\-show_streams\fR, it will dump the codec extradata.
|
yading@10
|
577 .Sp
|
yading@10
|
578 The dump is printed as the \*(L"data\*(R" field. It may contain newlines.
|
yading@10
|
579 .IP "\fB\-show_error\fR" 4
|
yading@10
|
580 .IX Item "-show_error"
|
yading@10
|
581 Show information about the error found when trying to probe the input.
|
yading@10
|
582 .Sp
|
yading@10
|
583 The error information is printed within a section with name \*(L"\s-1ERROR\s0\*(R".
|
yading@10
|
584 .IP "\fB\-show_format\fR" 4
|
yading@10
|
585 .IX Item "-show_format"
|
yading@10
|
586 Show information about the container format of the input multimedia
|
yading@10
|
587 stream.
|
yading@10
|
588 .Sp
|
yading@10
|
589 All the container format information is printed within a section with
|
yading@10
|
590 name \*(L"\s-1FORMAT\s0\*(R".
|
yading@10
|
591 .IP "\fB\-show_format_entry\fR \fIname\fR" 4
|
yading@10
|
592 .IX Item "-show_format_entry name"
|
yading@10
|
593 Like \fB\-show_format\fR, but only prints the specified entry of the
|
yading@10
|
594 container format information, rather than all. This option may be given more
|
yading@10
|
595 than once, then all specified entries will be shown.
|
yading@10
|
596 .Sp
|
yading@10
|
597 This option is deprecated, use \f(CW\*(C`show_entries\*(C'\fR instead.
|
yading@10
|
598 .IP "\fB\-show_entries\fR \fIsection_entries\fR" 4
|
yading@10
|
599 .IX Item "-show_entries section_entries"
|
yading@10
|
600 Set list of entries to show.
|
yading@10
|
601 .Sp
|
yading@10
|
602 Entries are specified according to the following
|
yading@10
|
603 syntax. \fIsection_entries\fR contains a list of section entries
|
yading@10
|
604 separated by \f(CW\*(C`:\*(C'\fR. Each section entry is composed by a section
|
yading@10
|
605 name (or unique name), optionally followed by a list of entries local
|
yading@10
|
606 to that section, separated by \f(CW\*(C`,\*(C'\fR.
|
yading@10
|
607 .Sp
|
yading@10
|
608 If section name is specified but is followed by no \f(CW\*(C`=\*(C'\fR, all
|
yading@10
|
609 entries are printed to output, together with all the contained
|
yading@10
|
610 sections. Otherwise only the entries specified in the local section
|
yading@10
|
611 entries list are printed. In particular, if \f(CW\*(C`=\*(C'\fR is specified but
|
yading@10
|
612 the list of local entries is empty, then no entries will be shown for
|
yading@10
|
613 that section.
|
yading@10
|
614 .Sp
|
yading@10
|
615 Note that the order of specification of the local section entries is
|
yading@10
|
616 not honored in the output, and the usual display order will be
|
yading@10
|
617 retained.
|
yading@10
|
618 .Sp
|
yading@10
|
619 The formal syntax is given by:
|
yading@10
|
620 .Sp
|
yading@10
|
621 .Vb 3
|
yading@10
|
622 \& <LOCAL_SECTION_ENTRIES> ::= <SECTION_ENTRY_NAME>[,<LOCAL_SECTION_ENTRIES>]
|
yading@10
|
623 \& <SECTION_ENTRY> ::= <SECTION_NAME>[=[<LOCAL_SECTION_ENTRIES>]]
|
yading@10
|
624 \& <SECTION_ENTRIES> ::= <SECTION_ENTRY>[:<SECTION_ENTRIES>]
|
yading@10
|
625 .Ve
|
yading@10
|
626 .Sp
|
yading@10
|
627 For example, to show only the index and type of each stream, and the \s-1PTS\s0
|
yading@10
|
628 time, duration time, and stream index of the packets, you can specify
|
yading@10
|
629 the argument:
|
yading@10
|
630 .Sp
|
yading@10
|
631 .Vb 1
|
yading@10
|
632 \& packet=pts_time,duration_time,stream_index : stream=index,codec_type
|
yading@10
|
633 .Ve
|
yading@10
|
634 .Sp
|
yading@10
|
635 To show all the entries in the section \*(L"format\*(R", but only the codec
|
yading@10
|
636 type in the section \*(L"stream\*(R", specify the argument:
|
yading@10
|
637 .Sp
|
yading@10
|
638 .Vb 1
|
yading@10
|
639 \& format : stream=codec_type
|
yading@10
|
640 .Ve
|
yading@10
|
641 .Sp
|
yading@10
|
642 To show all the tags in the stream and format sections:
|
yading@10
|
643 .Sp
|
yading@10
|
644 .Vb 1
|
yading@10
|
645 \& format_tags : format_tags
|
yading@10
|
646 .Ve
|
yading@10
|
647 .Sp
|
yading@10
|
648 To show only the \f(CW\*(C`title\*(C'\fR tag (if available) in the stream
|
yading@10
|
649 sections:
|
yading@10
|
650 .Sp
|
yading@10
|
651 .Vb 1
|
yading@10
|
652 \& stream_tags=title
|
yading@10
|
653 .Ve
|
yading@10
|
654 .IP "\fB\-show_packets\fR" 4
|
yading@10
|
655 .IX Item "-show_packets"
|
yading@10
|
656 Show information about each packet contained in the input multimedia
|
yading@10
|
657 stream.
|
yading@10
|
658 .Sp
|
yading@10
|
659 The information for each single packet is printed within a dedicated
|
yading@10
|
660 section with name \*(L"\s-1PACKET\s0\*(R".
|
yading@10
|
661 .IP "\fB\-show_frames\fR" 4
|
yading@10
|
662 .IX Item "-show_frames"
|
yading@10
|
663 Show information about each frame contained in the input multimedia
|
yading@10
|
664 stream.
|
yading@10
|
665 .Sp
|
yading@10
|
666 The information for each single frame is printed within a dedicated
|
yading@10
|
667 section with name \*(L"\s-1FRAME\s0\*(R".
|
yading@10
|
668 .IP "\fB\-show_streams\fR" 4
|
yading@10
|
669 .IX Item "-show_streams"
|
yading@10
|
670 Show information about each media stream contained in the input
|
yading@10
|
671 multimedia stream.
|
yading@10
|
672 .Sp
|
yading@10
|
673 Each media stream information is printed within a dedicated section
|
yading@10
|
674 with name \*(L"\s-1STREAM\s0\*(R".
|
yading@10
|
675 .IP "\fB\-count_frames\fR" 4
|
yading@10
|
676 .IX Item "-count_frames"
|
yading@10
|
677 Count the number of frames per stream and report it in the
|
yading@10
|
678 corresponding stream section.
|
yading@10
|
679 .IP "\fB\-count_packets\fR" 4
|
yading@10
|
680 .IX Item "-count_packets"
|
yading@10
|
681 Count the number of packets per stream and report it in the
|
yading@10
|
682 corresponding stream section.
|
yading@10
|
683 .IP "\fB\-show_private_data, \-private\fR" 4
|
yading@10
|
684 .IX Item "-show_private_data, -private"
|
yading@10
|
685 Show private data, that is data depending on the format of the
|
yading@10
|
686 particular shown element.
|
yading@10
|
687 This option is enabled by default, but you may need to disable it
|
yading@10
|
688 for specific uses, for example when creating XSD-compliant \s-1XML\s0 output.
|
yading@10
|
689 .IP "\fB\-show_program_version\fR" 4
|
yading@10
|
690 .IX Item "-show_program_version"
|
yading@10
|
691 Show information related to program version.
|
yading@10
|
692 .Sp
|
yading@10
|
693 Version information is printed within a section with name
|
yading@10
|
694 \&\*(L"\s-1PROGRAM_VERSION\s0\*(R".
|
yading@10
|
695 .IP "\fB\-show_library_versions\fR" 4
|
yading@10
|
696 .IX Item "-show_library_versions"
|
yading@10
|
697 Show information related to library versions.
|
yading@10
|
698 .Sp
|
yading@10
|
699 Version information for each library is printed within a section with
|
yading@10
|
700 name \*(L"\s-1LIBRARY_VERSION\s0\*(R".
|
yading@10
|
701 .IP "\fB\-show_versions\fR" 4
|
yading@10
|
702 .IX Item "-show_versions"
|
yading@10
|
703 Show information related to program and library versions. This is the
|
yading@10
|
704 equivalent of setting both \fB\-show_program_version\fR and
|
yading@10
|
705 \&\fB\-show_library_versions\fR options.
|
yading@10
|
706 .IP "\fB\-bitexact\fR" 4
|
yading@10
|
707 .IX Item "-bitexact"
|
yading@10
|
708 Force bitexact output, useful to produce output which is not dependent
|
yading@10
|
709 on the specific build.
|
yading@10
|
710 .IP "\fB\-i\fR \fIinput_file\fR" 4
|
yading@10
|
711 .IX Item "-i input_file"
|
yading@10
|
712 Read \fIinput_file\fR.
|
yading@10
|
713 .SH "WRITERS"
|
yading@10
|
714 .IX Header "WRITERS"
|
yading@10
|
715 A writer defines the output format adopted by \fBffprobe\fR, and will be
|
yading@10
|
716 used for printing all the parts of the output.
|
yading@10
|
717 .PP
|
yading@10
|
718 A writer may accept one or more arguments, which specify the options
|
yading@10
|
719 to adopt. The options are specified as a list of \fIkey\fR=\fIvalue\fR
|
yading@10
|
720 pairs, separated by \*(L":\*(R".
|
yading@10
|
721 .PP
|
yading@10
|
722 A description of the currently available writers follows.
|
yading@10
|
723 .SS "default"
|
yading@10
|
724 .IX Subsection "default"
|
yading@10
|
725 Default format.
|
yading@10
|
726 .PP
|
yading@10
|
727 Print each section in the form:
|
yading@10
|
728 .PP
|
yading@10
|
729 .Vb 5
|
yading@10
|
730 \& [SECTION]
|
yading@10
|
731 \& key1=val1
|
yading@10
|
732 \& ...
|
yading@10
|
733 \& keyN=valN
|
yading@10
|
734 \& [/SECTION]
|
yading@10
|
735 .Ve
|
yading@10
|
736 .PP
|
yading@10
|
737 Metadata tags are printed as a line in the corresponding \s-1FORMAT\s0 or
|
yading@10
|
738 \&\s-1STREAM\s0 section, and are prefixed by the string \*(L"\s-1TAG:\s0\*(R".
|
yading@10
|
739 .PP
|
yading@10
|
740 A description of the accepted options follows.
|
yading@10
|
741 .IP "\fBnokey, nk\fR" 4
|
yading@10
|
742 .IX Item "nokey, nk"
|
yading@10
|
743 If set to 1 specify not to print the key of each field. Default value
|
yading@10
|
744 is 0.
|
yading@10
|
745 .IP "\fBnoprint_wrappers, nw\fR" 4
|
yading@10
|
746 .IX Item "noprint_wrappers, nw"
|
yading@10
|
747 If set to 1 specify not to print the section header and footer.
|
yading@10
|
748 Default value is 0.
|
yading@10
|
749 .SS "compact, csv"
|
yading@10
|
750 .IX Subsection "compact, csv"
|
yading@10
|
751 Compact and \s-1CSV\s0 format.
|
yading@10
|
752 .PP
|
yading@10
|
753 The \f(CW\*(C`csv\*(C'\fR writer is equivalent to \f(CW\*(C`compact\*(C'\fR, but supports
|
yading@10
|
754 different defaults.
|
yading@10
|
755 .PP
|
yading@10
|
756 Each section is printed on a single line.
|
yading@10
|
757 If no option is specifid, the output has the form:
|
yading@10
|
758 .PP
|
yading@10
|
759 .Vb 1
|
yading@10
|
760 \& section|key1=val1| ... |keyN=valN
|
yading@10
|
761 .Ve
|
yading@10
|
762 .PP
|
yading@10
|
763 Metadata tags are printed in the corresponding \*(L"format\*(R" or \*(L"stream\*(R"
|
yading@10
|
764 section. A metadata tag key, if printed, is prefixed by the string
|
yading@10
|
765 \&\*(L"tag:\*(R".
|
yading@10
|
766 .PP
|
yading@10
|
767 The description of the accepted options follows.
|
yading@10
|
768 .IP "\fBitem_sep, s\fR" 4
|
yading@10
|
769 .IX Item "item_sep, s"
|
yading@10
|
770 Specify the character to use for separating fields in the output line.
|
yading@10
|
771 It must be a single printable character, it is \*(L"|\*(R" by default (\*(L",\*(R" for
|
yading@10
|
772 the \f(CW\*(C`csv\*(C'\fR writer).
|
yading@10
|
773 .IP "\fBnokey, nk\fR" 4
|
yading@10
|
774 .IX Item "nokey, nk"
|
yading@10
|
775 If set to 1 specify not to print the key of each field. Its default
|
yading@10
|
776 value is 0 (1 for the \f(CW\*(C`csv\*(C'\fR writer).
|
yading@10
|
777 .IP "\fBescape, e\fR" 4
|
yading@10
|
778 .IX Item "escape, e"
|
yading@10
|
779 Set the escape mode to use, default to \*(L"c\*(R" (\*(L"csv\*(R" for the \f(CW\*(C`csv\*(C'\fR
|
yading@10
|
780 writer).
|
yading@10
|
781 .Sp
|
yading@10
|
782 It can assume one of the following values:
|
yading@10
|
783 .RS 4
|
yading@10
|
784 .IP "\fBc\fR" 4
|
yading@10
|
785 .IX Item "c"
|
yading@10
|
786 Perform C\-like escaping. Strings containing a newline ('\en'), carriage
|
yading@10
|
787 return ('\er'), a tab ('\et'), a form feed ('\ef'), the escaping
|
yading@10
|
788 character ('\e') or the item separator character \fI\s-1SEP\s0\fR are escaped using C\-like fashioned
|
yading@10
|
789 escaping, so that a newline is converted to the sequence \*(L"\en\*(R", a
|
yading@10
|
790 carriage return to \*(L"\er\*(R", '\e' to \*(L"\e\e\*(R" and the separator \fI\s-1SEP\s0\fR is
|
yading@10
|
791 converted to "\e\fI\s-1SEP\s0\fR".
|
yading@10
|
792 .IP "\fBcsv\fR" 4
|
yading@10
|
793 .IX Item "csv"
|
yading@10
|
794 Perform CSV-like escaping, as described in \s-1RFC4180\s0. Strings
|
yading@10
|
795 containing a newline ('\en'), a carriage return ('\er'), a double quote
|
yading@10
|
796 ('"'), or \fI\s-1SEP\s0\fR are enclosed in double-quotes.
|
yading@10
|
797 .IP "\fBnone\fR" 4
|
yading@10
|
798 .IX Item "none"
|
yading@10
|
799 Perform no escaping.
|
yading@10
|
800 .RE
|
yading@10
|
801 .RS 4
|
yading@10
|
802 .RE
|
yading@10
|
803 .IP "\fBprint_section, p\fR" 4
|
yading@10
|
804 .IX Item "print_section, p"
|
yading@10
|
805 Print the section name at the begin of each line if the value is
|
yading@10
|
806 \&\f(CW1\fR, disable it with value set to \f(CW0\fR. Default value is
|
yading@10
|
807 \&\f(CW1\fR.
|
yading@10
|
808 .SS "flat"
|
yading@10
|
809 .IX Subsection "flat"
|
yading@10
|
810 Flat format.
|
yading@10
|
811 .PP
|
yading@10
|
812 A free-form output where each line contains an explicit key=value, such as
|
yading@10
|
813 \&\*(L"streams.stream.3.tags.foo=bar\*(R". The output is shell escaped, so it can be
|
yading@10
|
814 directly embedded in sh scripts as long as the separator character is an
|
yading@10
|
815 alphanumeric character or an underscore (see \fIsep_char\fR option).
|
yading@10
|
816 .PP
|
yading@10
|
817 The description of the accepted options follows.
|
yading@10
|
818 .IP "\fBsep_char, s\fR" 4
|
yading@10
|
819 .IX Item "sep_char, s"
|
yading@10
|
820 Separator character used to separate the chapter, the section name, IDs and
|
yading@10
|
821 potential tags in the printed field key.
|
yading@10
|
822 .Sp
|
yading@10
|
823 Default value is '.'.
|
yading@10
|
824 .IP "\fBhierarchical, h\fR" 4
|
yading@10
|
825 .IX Item "hierarchical, h"
|
yading@10
|
826 Specify if the section name specification should be hierarchical. If
|
yading@10
|
827 set to 1, and if there is more than one section in the current
|
yading@10
|
828 chapter, the section name will be prefixed by the name of the
|
yading@10
|
829 chapter. A value of 0 will disable this behavior.
|
yading@10
|
830 .Sp
|
yading@10
|
831 Default value is 1.
|
yading@10
|
832 .SS "ini"
|
yading@10
|
833 .IX Subsection "ini"
|
yading@10
|
834 \&\s-1INI\s0 format output.
|
yading@10
|
835 .PP
|
yading@10
|
836 Print output in an \s-1INI\s0 based format.
|
yading@10
|
837 .PP
|
yading@10
|
838 The following conventions are adopted:
|
yading@10
|
839 .IP "\(bu" 4
|
yading@10
|
840 all key and values are \s-1UTF\-8\s0
|
yading@10
|
841 .IP "\(bu" 4
|
yading@10
|
842 \&'.' is the subgroup separator
|
yading@10
|
843 .IP "\(bu" 4
|
yading@10
|
844 newline, '\et', '\ef', '\eb' and the following characters are escaped
|
yading@10
|
845 .IP "\(bu" 4
|
yading@10
|
846 \&'\e' is the escape character
|
yading@10
|
847 .IP "\(bu" 4
|
yading@10
|
848 \&'#' is the comment indicator
|
yading@10
|
849 .IP "\(bu" 4
|
yading@10
|
850 \&'=' is the key/value separator
|
yading@10
|
851 .IP "\(bu" 4
|
yading@10
|
852 \&':' is not used but usually parsed as key/value separator
|
yading@10
|
853 .PP
|
yading@10
|
854 This writer accepts options as a list of \fIkey\fR=\fIvalue\fR pairs,
|
yading@10
|
855 separated by \*(L":\*(R".
|
yading@10
|
856 .PP
|
yading@10
|
857 The description of the accepted options follows.
|
yading@10
|
858 .IP "\fBhierarchical, h\fR" 4
|
yading@10
|
859 .IX Item "hierarchical, h"
|
yading@10
|
860 Specify if the section name specification should be hierarchical. If
|
yading@10
|
861 set to 1, and if there is more than one section in the current
|
yading@10
|
862 chapter, the section name will be prefixed by the name of the
|
yading@10
|
863 chapter. A value of 0 will disable this behavior.
|
yading@10
|
864 .Sp
|
yading@10
|
865 Default value is 1.
|
yading@10
|
866 .SS "json"
|
yading@10
|
867 .IX Subsection "json"
|
yading@10
|
868 \&\s-1JSON\s0 based format.
|
yading@10
|
869 .PP
|
yading@10
|
870 Each section is printed using \s-1JSON\s0 notation.
|
yading@10
|
871 .PP
|
yading@10
|
872 The description of the accepted options follows.
|
yading@10
|
873 .IP "\fBcompact, c\fR" 4
|
yading@10
|
874 .IX Item "compact, c"
|
yading@10
|
875 If set to 1 enable compact output, that is each section will be
|
yading@10
|
876 printed on a single line. Default value is 0.
|
yading@10
|
877 .PP
|
yading@10
|
878 For more information about \s-1JSON\s0, see <\fBhttp://www.json.org/\fR>.
|
yading@10
|
879 .SS "xml"
|
yading@10
|
880 .IX Subsection "xml"
|
yading@10
|
881 \&\s-1XML\s0 based format.
|
yading@10
|
882 .PP
|
yading@10
|
883 The \s-1XML\s0 output is described in the \s-1XML\s0 schema description file
|
yading@10
|
884 \&\fIffprobe.xsd\fR installed in the FFmpeg datadir.
|
yading@10
|
885 .PP
|
yading@10
|
886 An updated version of the schema can be retrieved at the url
|
yading@10
|
887 <\fBhttp://www.ffmpeg.org/schema/ffprobe.xsd\fR>, which redirects to the
|
yading@10
|
888 latest schema committed into the FFmpeg development source code tree.
|
yading@10
|
889 .PP
|
yading@10
|
890 Note that the output issued will be compliant to the
|
yading@10
|
891 \&\fIffprobe.xsd\fR schema only when no special global output options
|
yading@10
|
892 (\fBunit\fR, \fBprefix\fR, \fBbyte_binary_prefix\fR,
|
yading@10
|
893 \&\fBsexagesimal\fR etc.) are specified.
|
yading@10
|
894 .PP
|
yading@10
|
895 The description of the accepted options follows.
|
yading@10
|
896 .IP "\fBfully_qualified, q\fR" 4
|
yading@10
|
897 .IX Item "fully_qualified, q"
|
yading@10
|
898 If set to 1 specify if the output should be fully qualified. Default
|
yading@10
|
899 value is 0.
|
yading@10
|
900 This is required for generating an \s-1XML\s0 file which can be validated
|
yading@10
|
901 through an \s-1XSD\s0 file.
|
yading@10
|
902 .IP "\fBxsd_compliant, x\fR" 4
|
yading@10
|
903 .IX Item "xsd_compliant, x"
|
yading@10
|
904 If set to 1 perform more checks for ensuring that the output is \s-1XSD\s0
|
yading@10
|
905 compliant. Default value is 0.
|
yading@10
|
906 This option automatically sets \fBfully_qualified\fR to 1.
|
yading@10
|
907 .PP
|
yading@10
|
908 For more information about the \s-1XML\s0 format, see
|
yading@10
|
909 <\fBhttp://www.w3.org/XML/\fR>.
|
yading@10
|
910 .SH "TIMECODE"
|
yading@10
|
911 .IX Header "TIMECODE"
|
yading@10
|
912 \&\fBffprobe\fR supports Timecode extraction:
|
yading@10
|
913 .IP "\(bu" 4
|
yading@10
|
914 \&\s-1MPEG1/2\s0 timecode is extracted from the \s-1GOP\s0, and is available in the video
|
yading@10
|
915 stream details (\fB\-show_streams\fR, see \fItimecode\fR).
|
yading@10
|
916 .IP "\(bu" 4
|
yading@10
|
917 \&\s-1MOV\s0 timecode is extracted from tmcd track, so is available in the tmcd
|
yading@10
|
918 stream metadata (\fB\-show_streams\fR, see \fITAG:timecode\fR).
|
yading@10
|
919 .IP "\(bu" 4
|
yading@10
|
920 \&\s-1DV\s0, \s-1GXF\s0 and \s-1AVI\s0 timecodes are available in format metadata
|
yading@10
|
921 (\fB\-show_format\fR, see \fITAG:timecode\fR).
|
yading@10
|
922 .SH "SEE ALSO"
|
yading@10
|
923 .IX Header "SEE ALSO"
|
yading@10
|
924 \&\fIffprobe\-all\fR\|(1),
|
yading@10
|
925 \&\fIffmpeg\fR\|(1), \fIffplay\fR\|(1), \fIffserver\fR\|(1),
|
yading@10
|
926 \&\fIffmpeg\-utils\fR\|(1), \fIffmpeg\-scaler\fR\|(1), \fIffmpeg\-resampler\fR\|(1),
|
yading@10
|
927 \&\fIffmpeg\-codecs\fR\|(1), \fIffmpeg\-bitstream\-filters\fR\|(1), \fIffmpeg\-formats\fR\|(1),
|
yading@10
|
928 \&\fIffmpeg\-devices\fR\|(1), \fIffmpeg\-protocols\fR\|(1), \fIffmpeg\-filters\fR\|(1)
|
yading@10
|
929 .SH "AUTHORS"
|
yading@10
|
930 .IX Header "AUTHORS"
|
yading@10
|
931 The FFmpeg developers.
|
yading@10
|
932 .PP
|
yading@10
|
933 For details about the authorship, see the Git history of the project
|
yading@10
|
934 (git://source.ffmpeg.org/ffmpeg), e.g. by typing the command
|
yading@10
|
935 \&\fBgit log\fR in the FFmpeg source directory, or browsing the
|
yading@10
|
936 online repository at <\fBhttp://source.ffmpeg.org\fR>.
|
yading@10
|
937 .PP
|
yading@10
|
938 Maintainers for the specific components are listed in the file
|
yading@10
|
939 \&\fI\s-1MAINTAINERS\s0\fR in the source code tree.
|