annotate ffmpeg/doc/ffprobe.1 @ 13:844d341cf643 tip

Back up before ISMIR
author Yading Song <yading.song@eecs.qmul.ac.uk>
date Thu, 31 Oct 2013 13:17:06 +0000
parents 6840f77b83aa
children
rev   line source
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.