123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224 |
- .\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35)
- .\"
- .\" Standard preamble:
- .\" ========================================================================
- .de Sp \" Vertical space (when we can't use .PP)
- .if t .sp .5v
- .if n .sp
- ..
- .de Vb \" Begin verbatim text
- .ft CW
- .nf
- .ne \\$1
- ..
- .de Ve \" End verbatim text
- .ft R
- .fi
- ..
- .\" Set up some character translations and predefined strings. \*(-- will
- .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
- .\" double quote, and \*(R" will give a right double quote. \*(C+ will
- .\" give a nicer C++. Capital omega is used to do unbreakable dashes and
- .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
- .\" nothing in troff, for use with C<>.
- .tr \(*W-
- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
- .ie n \{\
- . ds -- \(*W-
- . ds PI pi
- . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
- . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
- . ds L" ""
- . ds R" ""
- . ds C` ""
- . ds C' ""
- 'br\}
- .el\{\
- . ds -- \|\(em\|
- . ds PI \(*p
- . ds L" ``
- . ds R" ''
- . ds C`
- . ds C'
- 'br\}
- .\"
- .\" Escape single quotes in literal strings from groff's Unicode transform.
- .ie \n(.g .ds Aq \(aq
- .el .ds Aq '
- .\"
- .\" If the F register is >0, we'll generate index entries on stderr for
- .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
- .\" entries marked with X<> in POD. Of course, you'll have to process the
- .\" output yourself in some meaningful fashion.
- .\"
- .\" Avoid warning from groff about undefined register 'F'.
- .de IX
- ..
- .nr rF 0
- .if \n(.g .if rF .nr rF 1
- .if (\n(rF:(\n(.g==0)) \{\
- . if \nF \{\
- . de IX
- . tm Index:\\$1\t\\n%\t"\\$2"
- ..
- . if !\nF==2 \{\
- . nr % 0
- . nr F 2
- . \}
- . \}
- .\}
- .rr rF
- .\"
- .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
- .\" Fear. Run. Save yourself. No user-serviceable parts.
- . \" fudge factors for nroff and troff
- .if n \{\
- . ds #H 0
- . ds #V .8m
- . ds #F .3m
- . ds #[ \f1
- . ds #] \fP
- .\}
- .if t \{\
- . ds #H ((1u-(\\\\n(.fu%2u))*.13m)
- . ds #V .6m
- . ds #F 0
- . ds #[ \&
- . ds #] \&
- .\}
- . \" simple accents for nroff and troff
- .if n \{\
- . ds ' \&
- . ds ` \&
- . ds ^ \&
- . ds , \&
- . ds ~ ~
- . ds /
- .\}
- .if t \{\
- . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
- . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
- . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
- . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
- . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
- . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
- .\}
- . \" troff and (daisy-wheel) nroff accents
- .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
- .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
- .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
- .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
- .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
- .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
- .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
- .ds ae a\h'-(\w'a'u*4/10)'e
- .ds Ae A\h'-(\w'A'u*4/10)'E
- . \" corrections for vroff
- .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
- .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
- . \" for low resolution devices (crt and lpr)
- .if \n(.H>23 .if \n(.V>19 \
- \{\
- . ds : e
- . ds 8 ss
- . ds o a
- . ds d- d\h'-1'\(ga
- . ds D- D\h'-1'\(hy
- . ds th \o'bp'
- . ds Th \o'LP'
- . ds ae ae
- . ds Ae AE
- .\}
- .rm #[ #] #H #V #F C
- .\" ========================================================================
- .\"
- .IX Title "FFPROBE 1"
- .TH FFPROBE 1 " " " " " "
- .\" For nroff, turn off justification. Always turn off hyphenation; it makes
- .\" way too many mistakes in technical documents.
- .if n .ad l
- .nh
- .SH "NAME"
- ffprobe \- ffprobe media prober
- .SH "SYNOPSIS"
- .IX Header "SYNOPSIS"
- ffprobe [\fIoptions\fR] [\fIinput_url\fR]
- .SH "DESCRIPTION"
- .IX Header "DESCRIPTION"
- ffprobe gathers information from multimedia streams and prints it in
- human\- and machine-readable fashion.
- .PP
- For example it can be used to check the format of the container used
- by a multimedia stream and the format and type of each media stream
- contained in it.
- .PP
- If a url is specified in input, ffprobe will try to open and
- probe the url content. If the url cannot be opened or recognized as
- a multimedia file, a positive exit code is returned.
- .PP
- ffprobe may be employed both as a standalone application or in
- combination with a textual filter, which may perform more
- sophisticated processing, e.g. statistical processing or plotting.
- .PP
- Options are used to list some of the formats supported by ffprobe or
- for specifying which information to display, and for setting how
- ffprobe will show it.
- .PP
- ffprobe output is designed to be easily parsable by a textual filter,
- and consists of one or more sections of a form defined by the selected
- writer, which is specified by the \fBprint_format\fR option.
- .PP
- Sections may contain other nested sections, and are identified by a
- name (which may be shared by other sections), and an unique
- name. See the output of \fBsections\fR.
- .PP
- Metadata tags stored in the container or in the streams are recognized
- and printed in the corresponding \*(L"\s-1FORMAT\*(R", \*(L"STREAM\*(R"\s0 or \*(L"\s-1PROGRAM_STREAM\*(R"\s0
- section.
- .SH "OPTIONS"
- .IX Header "OPTIONS"
- All the numerical options, if not specified otherwise, accept a string
- representing a number as input, which may be followed by one of the \s-1SI\s0
- unit prefixes, for example: 'K', 'M', or 'G'.
- .PP
- If 'i' is appended to the \s-1SI\s0 unit prefix, the complete prefix will be
- interpreted as a unit prefix for binary multiples, which are based on
- powers of 1024 instead of powers of 1000. Appending 'B' to the \s-1SI\s0 unit
- prefix multiplies the value by 8. This allows using, for example:
- \&'\s-1KB\s0', 'MiB', 'G' and 'B' as number suffixes.
- .PP
- Options which do not take arguments are boolean options, and set the
- corresponding value to true. They can be set to false by prefixing
- the option name with \*(L"no\*(R". For example using \*(L"\-nofoo\*(R"
- will set the boolean option with name \*(L"foo\*(R" to false.
- .SS "Stream specifiers"
- .IX Subsection "Stream specifiers"
- Some options are applied per-stream, e.g. bitrate or codec. Stream specifiers
- are used to precisely specify which stream(s) a given option belongs to.
- .PP
- A stream specifier is a string generally appended to the option name and
- separated from it by a colon. E.g. \f(CW\*(C`\-codec:a:1 ac3\*(C'\fR contains the
- \&\f(CW\*(C`a:1\*(C'\fR stream specifier, which matches the second audio stream. Therefore, it
- would select the ac3 codec for the second audio stream.
- .PP
- A stream specifier can match several streams, so that the option is applied to all
- of them. E.g. the stream specifier in \f(CW\*(C`\-b:a 128k\*(C'\fR matches all audio
- streams.
- .PP
- An empty stream specifier matches all streams. For example, \f(CW\*(C`\-codec copy\*(C'\fR
- or \f(CW\*(C`\-codec: copy\*(C'\fR would copy all the streams without reencoding.
- .PP
- Possible forms of stream specifiers are:
- .IP "\fIstream_index\fR" 4
- .IX Item "stream_index"
- Matches the stream with this index. E.g. \f(CW\*(C`\-threads:1 4\*(C'\fR would set the
- thread count for the second stream to 4. If \fIstream_index\fR is used as an
- additional stream specifier (see below), then it selects stream number
- \&\fIstream_index\fR from the matching streams. Stream numbering is based on the
- order of the streams as detected by libavformat except when a program \s-1ID\s0 is
- also specified. In this case it is based on the ordering of the streams in the
- program.
- .IP "\fIstream_type\fR\fB[:\fR\fIadditional_stream_specifier\fR\fB]\fR" 4
- .IX Item "stream_type[:additional_stream_specifier]"
- \&\fIstream_type\fR is one of following: 'v' or 'V' for video, 'a' for audio, 's'
- for subtitle, 'd' for data, and 't' for attachments. 'v' matches all video
- streams, 'V' only matches video streams which are not attached pictures, video
- thumbnails or cover arts. If \fIadditional_stream_specifier\fR is used, then
- it matches streams which both have this type and match the
- \&\fIadditional_stream_specifier\fR. Otherwise, it matches all streams of the
- specified type.
- .IP "\fBp:\fR\fIprogram_id\fR\fB[:\fR\fIadditional_stream_specifier\fR\fB]\fR" 4
- .IX Item "p:program_id[:additional_stream_specifier]"
- Matches streams which are in the program with the id \fIprogram_id\fR. If
- \&\fIadditional_stream_specifier\fR is used, then it matches streams which both
- are part of the program and match the \fIadditional_stream_specifier\fR.
- .IP "\fB#\fR\fIstream_id\fR \fBor i:\fR\fIstream_id\fR" 4
- .IX Item "#stream_id or i:stream_id"
- Match the stream by stream id (e.g. \s-1PID\s0 in MPEG-TS container).
- .IP "\fBm:\fR\fIkey\fR\fB[:\fR\fIvalue\fR\fB]\fR" 4
- .IX Item "m:key[:value]"
- Matches streams with the metadata tag \fIkey\fR having the specified value. If
- \&\fIvalue\fR is not given, matches streams that contain the given tag with any
- value.
- .IP "\fBu\fR" 4
- .IX Item "u"
- Matches streams with usable configuration, the codec must be defined and the
- essential information such as video dimension or audio sample rate must be present.
- .Sp
- Note that in \fBffmpeg\fR, matching by metadata will only work properly for
- input files.
- .SS "Generic options"
- .IX Subsection "Generic options"
- These options are shared amongst the ff* tools.
- .IP "\fB\-L\fR" 4
- .IX Item "-L"
- Show license.
- .IP "\fB\-h, \-?, \-help, \-\-help [\fR\fIarg\fR\fB]\fR" 4
- .IX Item "-h, -?, -help, --help [arg]"
- Show help. An optional parameter may be specified to print help about a specific
- item. If no argument is specified, only basic (non advanced) tool
- options are shown.
- .Sp
- Possible values of \fIarg\fR are:
- .RS 4
- .IP "\fBlong\fR" 4
- .IX Item "long"
- Print advanced tool options in addition to the basic tool options.
- .IP "\fBfull\fR" 4
- .IX Item "full"
- Print complete list of options, including shared and private options
- for encoders, decoders, demuxers, muxers, filters, etc.
- .IP "\fBdecoder=\fR\fIdecoder_name\fR" 4
- .IX Item "decoder=decoder_name"
- Print detailed information about the decoder named \fIdecoder_name\fR. Use the
- \&\fB\-decoders\fR option to get a list of all decoders.
- .IP "\fBencoder=\fR\fIencoder_name\fR" 4
- .IX Item "encoder=encoder_name"
- Print detailed information about the encoder named \fIencoder_name\fR. Use the
- \&\fB\-encoders\fR option to get a list of all encoders.
- .IP "\fBdemuxer=\fR\fIdemuxer_name\fR" 4
- .IX Item "demuxer=demuxer_name"
- Print detailed information about the demuxer named \fIdemuxer_name\fR. Use the
- \&\fB\-formats\fR option to get a list of all demuxers and muxers.
- .IP "\fBmuxer=\fR\fImuxer_name\fR" 4
- .IX Item "muxer=muxer_name"
- Print detailed information about the muxer named \fImuxer_name\fR. Use the
- \&\fB\-formats\fR option to get a list of all muxers and demuxers.
- .IP "\fBfilter=\fR\fIfilter_name\fR" 4
- .IX Item "filter=filter_name"
- Print detailed information about the filter named \fIfilter_name\fR. Use the
- \&\fB\-filters\fR option to get a list of all filters.
- .IP "\fBbsf=\fR\fIbitstream_filter_name\fR" 4
- .IX Item "bsf=bitstream_filter_name"
- Print detailed information about the bitstream filter named \fIbitstream_filter_name\fR.
- Use the \fB\-bsfs\fR option to get a list of all bitstream filters.
- .IP "\fBprotocol=\fR\fIprotocol_name\fR" 4
- .IX Item "protocol=protocol_name"
- Print detailed information about the protocol named \fIprotocol_name\fR.
- Use the \fB\-protocols\fR option to get a list of all protocols.
- .RE
- .RS 4
- .RE
- .IP "\fB\-version\fR" 4
- .IX Item "-version"
- Show version.
- .IP "\fB\-buildconf\fR" 4
- .IX Item "-buildconf"
- Show the build configuration, one option per line.
- .IP "\fB\-formats\fR" 4
- .IX Item "-formats"
- Show available formats (including devices).
- .IP "\fB\-demuxers\fR" 4
- .IX Item "-demuxers"
- Show available demuxers.
- .IP "\fB\-muxers\fR" 4
- .IX Item "-muxers"
- Show available muxers.
- .IP "\fB\-devices\fR" 4
- .IX Item "-devices"
- Show available devices.
- .IP "\fB\-codecs\fR" 4
- .IX Item "-codecs"
- Show all codecs known to libavcodec.
- .Sp
- Note that the term 'codec' is used throughout this documentation as a shortcut
- for what is more correctly called a media bitstream format.
- .IP "\fB\-decoders\fR" 4
- .IX Item "-decoders"
- Show available decoders.
- .IP "\fB\-encoders\fR" 4
- .IX Item "-encoders"
- Show all available encoders.
- .IP "\fB\-bsfs\fR" 4
- .IX Item "-bsfs"
- Show available bitstream filters.
- .IP "\fB\-protocols\fR" 4
- .IX Item "-protocols"
- Show available protocols.
- .IP "\fB\-filters\fR" 4
- .IX Item "-filters"
- Show available libavfilter filters.
- .IP "\fB\-pix_fmts\fR" 4
- .IX Item "-pix_fmts"
- Show available pixel formats.
- .IP "\fB\-sample_fmts\fR" 4
- .IX Item "-sample_fmts"
- Show available sample formats.
- .IP "\fB\-layouts\fR" 4
- .IX Item "-layouts"
- Show channel names and standard channel layouts.
- .IP "\fB\-colors\fR" 4
- .IX Item "-colors"
- Show recognized color names.
- .IP "\fB\-sources\fR \fIdevice\fR\fB[,\fR\fIopt1\fR\fB=\fR\fIval1\fR\fB[,\fR\fIopt2\fR\fB=\fR\fIval2\fR\fB]...]\fR" 4
- .IX Item "-sources device[,opt1=val1[,opt2=val2]...]"
- Show autodetected sources of the input device.
- Some devices may provide system-dependent source names that cannot be autodetected.
- The returned list cannot be assumed to be always complete.
- .Sp
- .Vb 1
- \& ffmpeg \-sources pulse,server=192.168.0.4
- .Ve
- .IP "\fB\-sinks\fR \fIdevice\fR\fB[,\fR\fIopt1\fR\fB=\fR\fIval1\fR\fB[,\fR\fIopt2\fR\fB=\fR\fIval2\fR\fB]...]\fR" 4
- .IX Item "-sinks device[,opt1=val1[,opt2=val2]...]"
- Show autodetected sinks of the output device.
- Some devices may provide system-dependent sink names that cannot be autodetected.
- The returned list cannot be assumed to be always complete.
- .Sp
- .Vb 1
- \& ffmpeg \-sinks pulse,server=192.168.0.4
- .Ve
- .IP "\fB\-loglevel [\fR\fIflags\fR\fB+]\fR\fIloglevel\fR \fB| \-v [\fR\fIflags\fR\fB+]\fR\fIloglevel\fR" 4
- .IX Item "-loglevel [flags+]loglevel | -v [flags+]loglevel"
- Set logging level and flags used by the library.
- .Sp
- The optional \fIflags\fR prefix can consist of the following values:
- .RS 4
- .IP "\fBrepeat\fR" 4
- .IX Item "repeat"
- Indicates that repeated log output should not be compressed to the first line
- and the \*(L"Last message repeated n times\*(R" line will be omitted.
- .IP "\fBlevel\fR" 4
- .IX Item "level"
- Indicates that log output should add a \f(CW\*(C`[level]\*(C'\fR prefix to each message
- line. This can be used as an alternative to log coloring, e.g. when dumping the
- log to file.
- .RE
- .RS 4
- .Sp
- Flags can also be used alone by adding a '+'/'\-' prefix to set/reset a single
- flag without affecting other \fIflags\fR or changing \fIloglevel\fR. When
- setting both \fIflags\fR and \fIloglevel\fR, a '+' separator is expected
- between the last \fIflags\fR value and before \fIloglevel\fR.
- .Sp
- \&\fIloglevel\fR is a string or a number containing one of the following values:
- .IP "\fBquiet, \-8\fR" 4
- .IX Item "quiet, -8"
- Show nothing at all; be silent.
- .IP "\fBpanic, 0\fR" 4
- .IX Item "panic, 0"
- Only show fatal errors which could lead the process to crash, such as
- an assertion failure. This is not currently used for anything.
- .IP "\fBfatal, 8\fR" 4
- .IX Item "fatal, 8"
- Only show fatal errors. These are errors after which the process absolutely
- cannot continue.
- .IP "\fBerror, 16\fR" 4
- .IX Item "error, 16"
- Show all errors, including ones which can be recovered from.
- .IP "\fBwarning, 24\fR" 4
- .IX Item "warning, 24"
- Show all warnings and errors. Any message related to possibly
- incorrect or unexpected events will be shown.
- .IP "\fBinfo, 32\fR" 4
- .IX Item "info, 32"
- Show informative messages during processing. This is in addition to
- warnings and errors. This is the default value.
- .IP "\fBverbose, 40\fR" 4
- .IX Item "verbose, 40"
- Same as \f(CW\*(C`info\*(C'\fR, except more verbose.
- .IP "\fBdebug, 48\fR" 4
- .IX Item "debug, 48"
- Show everything, including debugging information.
- .IP "\fBtrace, 56\fR" 4
- .IX Item "trace, 56"
- .RE
- .RS 4
- .Sp
- For example to enable repeated log output, add the \f(CW\*(C`level\*(C'\fR prefix, and set
- \&\fIloglevel\fR to \f(CW\*(C`verbose\*(C'\fR:
- .Sp
- .Vb 1
- \& ffmpeg \-loglevel repeat+level+verbose \-i input output
- .Ve
- .Sp
- Another example that enables repeated log output without affecting current
- state of \f(CW\*(C`level\*(C'\fR prefix flag or \fIloglevel\fR:
- .Sp
- .Vb 1
- \& ffmpeg [...] \-loglevel +repeat
- .Ve
- .Sp
- By default the program logs to stderr. If coloring is supported by the
- terminal, colors are used to mark errors and warnings. Log coloring
- can be disabled setting the environment variable
- \&\fB\s-1AV_LOG_FORCE_NOCOLOR\s0\fR, or can be forced setting
- the environment variable \fB\s-1AV_LOG_FORCE_COLOR\s0\fR.
- .RE
- .IP "\fB\-report\fR" 4
- .IX Item "-report"
- Dump full command line and log output to a file named
- \&\f(CW\*(C`\f(CIprogram\f(CW\-\f(CIYYYYMMDD\f(CW\-\f(CIHHMMSS\f(CW.log\*(C'\fR in the current
- directory.
- This file can be useful for bug reports.
- It also implies \f(CW\*(C`\-loglevel debug\*(C'\fR.
- .Sp
- Setting the environment variable \fB\s-1FFREPORT\s0\fR to any value has the
- same effect. If the value is a ':'\-separated key=value sequence, these
- options will affect the report; option values must be escaped if they
- contain special characters or the options delimiter ':' (see the
- ``Quoting and escaping'' section in the ffmpeg-utils manual).
- .Sp
- The following options are recognized:
- .RS 4
- .IP "\fBfile\fR" 4
- .IX Item "file"
- set the file name to use for the report; \f(CW%p\fR is expanded to the name
- of the program, \f(CW%t\fR is expanded to a timestamp, \f(CW\*(C`%%\*(C'\fR is expanded
- to a plain \f(CW\*(C`%\*(C'\fR
- .IP "\fBlevel\fR" 4
- .IX Item "level"
- set the log verbosity level using a numerical value (see \f(CW\*(C`\-loglevel\*(C'\fR).
- .RE
- .RS 4
- .Sp
- For example, to output a report to a file named \fIffreport.log\fR
- using a log level of \f(CW32\fR (alias for log level \f(CW\*(C`info\*(C'\fR):
- .Sp
- .Vb 1
- \& FFREPORT=file=ffreport.log:level=32 ffmpeg \-i input output
- .Ve
- .Sp
- Errors in parsing the environment variable are not fatal, and will not
- appear in the report.
- .RE
- .IP "\fB\-hide_banner\fR" 4
- .IX Item "-hide_banner"
- Suppress printing banner.
- .Sp
- All FFmpeg tools will normally show a copyright notice, build options
- and library versions. This option can be used to suppress printing
- this information.
- .IP "\fB\-cpuflags flags (\fR\fIglobal\fR\fB)\fR" 4
- .IX Item "-cpuflags flags (global)"
- Allows setting and clearing cpu flags. This option is intended
- for testing. Do not use it unless you know what you're doing.
- .Sp
- .Vb 3
- \& ffmpeg \-cpuflags \-sse+mmx ...
- \& ffmpeg \-cpuflags mmx ...
- \& ffmpeg \-cpuflags 0 ...
- .Ve
- .Sp
- Possible flags for this option are:
- .RS 4
- .IP "\fBx86\fR" 4
- .IX Item "x86"
- .RS 4
- .PD 0
- .IP "\fBmmx\fR" 4
- .IX Item "mmx"
- .IP "\fBmmxext\fR" 4
- .IX Item "mmxext"
- .IP "\fBsse\fR" 4
- .IX Item "sse"
- .IP "\fBsse2\fR" 4
- .IX Item "sse2"
- .IP "\fBsse2slow\fR" 4
- .IX Item "sse2slow"
- .IP "\fBsse3\fR" 4
- .IX Item "sse3"
- .IP "\fBsse3slow\fR" 4
- .IX Item "sse3slow"
- .IP "\fBssse3\fR" 4
- .IX Item "ssse3"
- .IP "\fBatom\fR" 4
- .IX Item "atom"
- .IP "\fBsse4.1\fR" 4
- .IX Item "sse4.1"
- .IP "\fBsse4.2\fR" 4
- .IX Item "sse4.2"
- .IP "\fBavx\fR" 4
- .IX Item "avx"
- .IP "\fBavx2\fR" 4
- .IX Item "avx2"
- .IP "\fBxop\fR" 4
- .IX Item "xop"
- .IP "\fBfma3\fR" 4
- .IX Item "fma3"
- .IP "\fBfma4\fR" 4
- .IX Item "fma4"
- .IP "\fB3dnow\fR" 4
- .IX Item "3dnow"
- .IP "\fB3dnowext\fR" 4
- .IX Item "3dnowext"
- .IP "\fBbmi1\fR" 4
- .IX Item "bmi1"
- .IP "\fBbmi2\fR" 4
- .IX Item "bmi2"
- .IP "\fBcmov\fR" 4
- .IX Item "cmov"
- .RE
- .RS 4
- .RE
- .IP "\fB\s-1ARM\s0\fR" 4
- .IX Item "ARM"
- .RS 4
- .IP "\fBarmv5te\fR" 4
- .IX Item "armv5te"
- .IP "\fBarmv6\fR" 4
- .IX Item "armv6"
- .IP "\fBarmv6t2\fR" 4
- .IX Item "armv6t2"
- .IP "\fBvfp\fR" 4
- .IX Item "vfp"
- .IP "\fBvfpv3\fR" 4
- .IX Item "vfpv3"
- .IP "\fBneon\fR" 4
- .IX Item "neon"
- .IP "\fBsetend\fR" 4
- .IX Item "setend"
- .RE
- .RS 4
- .RE
- .IP "\fBAArch64\fR" 4
- .IX Item "AArch64"
- .RS 4
- .IP "\fBarmv8\fR" 4
- .IX Item "armv8"
- .IP "\fBvfp\fR" 4
- .IX Item "vfp"
- .IP "\fBneon\fR" 4
- .IX Item "neon"
- .RE
- .RS 4
- .RE
- .IP "\fBPowerPC\fR" 4
- .IX Item "PowerPC"
- .RS 4
- .IP "\fBaltivec\fR" 4
- .IX Item "altivec"
- .RE
- .RS 4
- .RE
- .IP "\fBSpecific Processors\fR" 4
- .IX Item "Specific Processors"
- .RS 4
- .IP "\fBpentium2\fR" 4
- .IX Item "pentium2"
- .IP "\fBpentium3\fR" 4
- .IX Item "pentium3"
- .IP "\fBpentium4\fR" 4
- .IX Item "pentium4"
- .IP "\fBk6\fR" 4
- .IX Item "k6"
- .IP "\fBk62\fR" 4
- .IX Item "k62"
- .IP "\fBathlon\fR" 4
- .IX Item "athlon"
- .IP "\fBathlonxp\fR" 4
- .IX Item "athlonxp"
- .IP "\fBk8\fR" 4
- .IX Item "k8"
- .RE
- .RS 4
- .RE
- .RE
- .RS 4
- .RE
- .IP "\fB\-max_alloc\fR \fIbytes\fR" 4
- .IX Item "-max_alloc bytes"
- .PD
- Set the maximum size limit for allocating a block on the heap by ffmpeg's
- family of malloc functions. Exercise \fBextreme caution\fR when using
- this option. Don't use if you do not understand the full consequence of doing so.
- Default is \s-1INT_MAX.\s0
- .SS "AVOptions"
- .IX Subsection "AVOptions"
- These options are provided directly by the libavformat, libavdevice and
- libavcodec libraries. To see the list of available AVOptions, use the
- \&\fB\-help\fR option. They are separated into two categories:
- .IP "\fBgeneric\fR" 4
- .IX Item "generic"
- These options can be set for any container, codec or device. Generic options
- are listed under AVFormatContext options for containers/devices and under
- AVCodecContext options for codecs.
- .IP "\fBprivate\fR" 4
- .IX Item "private"
- These options are specific to the given container, device or codec. Private
- options are listed under their corresponding containers/devices/codecs.
- .PP
- For example to write an ID3v2.3 header instead of a default ID3v2.4 to
- an \s-1MP3\s0 file, use the \fBid3v2_version\fR private option of the \s-1MP3\s0
- muxer:
- .PP
- .Vb 1
- \& ffmpeg \-i input.flac \-id3v2_version 3 out.mp3
- .Ve
- .PP
- All codec AVOptions are per-stream, and thus a stream specifier
- should be attached to them:
- .PP
- .Vb 1
- \& ffmpeg \-i multichannel.mxf \-map 0:v:0 \-map 0:a:0 \-map 0:a:0 \-c:a:0 ac3 \-b:a:0 640k \-ac:a:1 2 \-c:a:1 aac \-b:2 128k out.mp4
- .Ve
- .PP
- In the above example, a multichannel audio stream is mapped twice for output.
- The first instance is encoded with codec ac3 and bitrate 640k.
- The second instance is downmixed to 2 channels and encoded with codec aac. A bitrate of 128k is specified for it using
- absolute index of the output stream.
- .PP
- Note: the \fB\-nooption\fR syntax cannot be used for boolean
- AVOptions, use \fB\-option 0\fR/\fB\-option 1\fR.
- .PP
- Note: the old undocumented way of specifying per-stream AVOptions by
- prepending v/a/s to the options name is now obsolete and will be
- removed soon.
- .SS "Main options"
- .IX Subsection "Main options"
- .IP "\fB\-f\fR \fIformat\fR" 4
- .IX Item "-f format"
- Force format to use.
- .IP "\fB\-unit\fR" 4
- .IX Item "-unit"
- Show the unit of the displayed values.
- .IP "\fB\-prefix\fR" 4
- .IX Item "-prefix"
- Use \s-1SI\s0 prefixes for the displayed values.
- Unless the \*(L"\-byte_binary_prefix\*(R" option is used all the prefixes
- are decimal.
- .IP "\fB\-byte_binary_prefix\fR" 4
- .IX Item "-byte_binary_prefix"
- Force the use of binary prefixes for byte values.
- .IP "\fB\-sexagesimal\fR" 4
- .IX Item "-sexagesimal"
- Use sexagesimal format \s-1HH:MM:SS.MICROSECONDS\s0 for time values.
- .IP "\fB\-pretty\fR" 4
- .IX Item "-pretty"
- Prettify the format of the displayed values, it corresponds to the
- options \*(L"\-unit \-prefix \-byte_binary_prefix \-sexagesimal\*(R".
- .IP "\fB\-of, \-print_format\fR \fIwriter_name\fR\fB[=\fR\fIwriter_options\fR\fB]\fR" 4
- .IX Item "-of, -print_format writer_name[=writer_options]"
- Set the output printing format.
- .Sp
- \&\fIwriter_name\fR specifies the name of the writer, and
- \&\fIwriter_options\fR specifies the options to be passed to the writer.
- .Sp
- For example for printing the output in \s-1JSON\s0 format, specify:
- .Sp
- .Vb 1
- \& \-print_format json
- .Ve
- .Sp
- For more details on the available output printing formats, see the
- Writers section below.
- .IP "\fB\-sections\fR" 4
- .IX Item "-sections"
- Print sections structure and section information, and exit. The output
- is not meant to be parsed by a machine.
- .IP "\fB\-select_streams\fR \fIstream_specifier\fR" 4
- .IX Item "-select_streams stream_specifier"
- Select only the streams specified by \fIstream_specifier\fR. This
- option affects only the options related to streams
- (e.g. \f(CW\*(C`show_streams\*(C'\fR, \f(CW\*(C`show_packets\*(C'\fR, etc.).
- .Sp
- For example to show only audio streams, you can use the command:
- .Sp
- .Vb 1
- \& ffprobe \-show_streams \-select_streams a INPUT
- .Ve
- .Sp
- To show only video packets belonging to the video stream with index 1:
- .Sp
- .Vb 1
- \& ffprobe \-show_packets \-select_streams v:1 INPUT
- .Ve
- .IP "\fB\-show_data\fR" 4
- .IX Item "-show_data"
- Show payload data, as a hexadecimal and \s-1ASCII\s0 dump. Coupled with
- \&\fB\-show_packets\fR, it will dump the packets' data. Coupled with
- \&\fB\-show_streams\fR, it will dump the codec extradata.
- .Sp
- The dump is printed as the \*(L"data\*(R" field. It may contain newlines.
- .IP "\fB\-show_data_hash\fR \fIalgorithm\fR" 4
- .IX Item "-show_data_hash algorithm"
- Show a hash of payload data, for packets with \fB\-show_packets\fR and for
- codec extradata with \fB\-show_streams\fR.
- .IP "\fB\-show_error\fR" 4
- .IX Item "-show_error"
- Show information about the error found when trying to probe the input.
- .Sp
- The error information is printed within a section with name \*(L"\s-1ERROR\*(R".\s0
- .IP "\fB\-show_format\fR" 4
- .IX Item "-show_format"
- Show information about the container format of the input multimedia
- stream.
- .Sp
- All the container format information is printed within a section with
- name \*(L"\s-1FORMAT\*(R".\s0
- .IP "\fB\-show_format_entry\fR \fIname\fR" 4
- .IX Item "-show_format_entry name"
- Like \fB\-show_format\fR, but only prints the specified entry of the
- container format information, rather than all. This option may be given more
- than once, then all specified entries will be shown.
- .Sp
- This option is deprecated, use \f(CW\*(C`show_entries\*(C'\fR instead.
- .IP "\fB\-show_entries\fR \fIsection_entries\fR" 4
- .IX Item "-show_entries section_entries"
- Set list of entries to show.
- .Sp
- Entries are specified according to the following
- syntax. \fIsection_entries\fR contains a list of section entries
- separated by \f(CW\*(C`:\*(C'\fR. Each section entry is composed by a section
- name (or unique name), optionally followed by a list of entries local
- to that section, separated by \f(CW\*(C`,\*(C'\fR.
- .Sp
- If section name is specified but is followed by no \f(CW\*(C`=\*(C'\fR, all
- entries are printed to output, together with all the contained
- sections. Otherwise only the entries specified in the local section
- entries list are printed. In particular, if \f(CW\*(C`=\*(C'\fR is specified but
- the list of local entries is empty, then no entries will be shown for
- that section.
- .Sp
- Note that the order of specification of the local section entries is
- not honored in the output, and the usual display order will be
- retained.
- .Sp
- The formal syntax is given by:
- .Sp
- .Vb 3
- \& <LOCAL_SECTION_ENTRIES> ::= <SECTION_ENTRY_NAME>[,<LOCAL_SECTION_ENTRIES>]
- \& <SECTION_ENTRY> ::= <SECTION_NAME>[=[<LOCAL_SECTION_ENTRIES>]]
- \& <SECTION_ENTRIES> ::= <SECTION_ENTRY>[:<SECTION_ENTRIES>]
- .Ve
- .Sp
- For example, to show only the index and type of each stream, and the \s-1PTS\s0
- time, duration time, and stream index of the packets, you can specify
- the argument:
- .Sp
- .Vb 1
- \& packet=pts_time,duration_time,stream_index : stream=index,codec_type
- .Ve
- .Sp
- To show all the entries in the section \*(L"format\*(R", but only the codec
- type in the section \*(L"stream\*(R", specify the argument:
- .Sp
- .Vb 1
- \& format : stream=codec_type
- .Ve
- .Sp
- To show all the tags in the stream and format sections:
- .Sp
- .Vb 1
- \& stream_tags : format_tags
- .Ve
- .Sp
- To show only the \f(CW\*(C`title\*(C'\fR tag (if available) in the stream
- sections:
- .Sp
- .Vb 1
- \& stream_tags=title
- .Ve
- .IP "\fB\-show_packets\fR" 4
- .IX Item "-show_packets"
- Show information about each packet contained in the input multimedia
- stream.
- .Sp
- The information for each single packet is printed within a dedicated
- section with name \*(L"\s-1PACKET\*(R".\s0
- .IP "\fB\-show_frames\fR" 4
- .IX Item "-show_frames"
- Show information about each frame and subtitle contained in the input
- multimedia stream.
- .Sp
- The information for each single frame is printed within a dedicated
- section with name \*(L"\s-1FRAME\*(R"\s0 or \*(L"\s-1SUBTITLE\*(R".\s0
- .IP "\fB\-show_log\fR \fIloglevel\fR" 4
- .IX Item "-show_log loglevel"
- Show logging information from the decoder about each frame according to
- the value set in \fIloglevel\fR, (see \f(CW\*(C`\-loglevel\*(C'\fR). This option requires \f(CW\*(C`\-show_frames\*(C'\fR.
- .Sp
- The information for each log message is printed within a dedicated
- section with name \*(L"\s-1LOG\*(R".\s0
- .IP "\fB\-show_streams\fR" 4
- .IX Item "-show_streams"
- Show information about each media stream contained in the input
- multimedia stream.
- .Sp
- Each media stream information is printed within a dedicated section
- with name \*(L"\s-1STREAM\*(R".\s0
- .IP "\fB\-show_programs\fR" 4
- .IX Item "-show_programs"
- Show information about programs and their streams contained in the input
- multimedia stream.
- .Sp
- Each media stream information is printed within a dedicated section
- with name \*(L"\s-1PROGRAM_STREAM\*(R".\s0
- .IP "\fB\-show_chapters\fR" 4
- .IX Item "-show_chapters"
- Show information about chapters stored in the format.
- .Sp
- Each chapter is printed within a dedicated section with name \*(L"\s-1CHAPTER\*(R".\s0
- .IP "\fB\-count_frames\fR" 4
- .IX Item "-count_frames"
- Count the number of frames per stream and report it in the
- corresponding stream section.
- .IP "\fB\-count_packets\fR" 4
- .IX Item "-count_packets"
- Count the number of packets per stream and report it in the
- corresponding stream section.
- .IP "\fB\-read_intervals\fR \fIread_intervals\fR" 4
- .IX Item "-read_intervals read_intervals"
- Read only the specified intervals. \fIread_intervals\fR must be a
- sequence of interval specifications separated by \*(L",\*(R".
- \&\fBffprobe\fR will seek to the interval starting point, and will
- continue reading from that.
- .Sp
- Each interval is specified by two optional parts, separated by \*(L"%\*(R".
- .Sp
- The first part specifies the interval start position. It is
- interpreted as an absolute position, or as a relative offset from the
- current position if it is preceded by the \*(L"+\*(R" character. If this first
- part is not specified, no seeking will be performed when reading this
- interval.
- .Sp
- The second part specifies the interval end position. It is interpreted
- as an absolute position, or as a relative offset from the current
- position if it is preceded by the \*(L"+\*(R" character. If the offset
- specification starts with \*(L"#\*(R", it is interpreted as the number of
- packets to read (not including the flushing packets) from the interval
- start. If no second part is specified, the program will read until the
- end of the input.
- .Sp
- Note that seeking is not accurate, thus the actual interval start
- point may be different from the specified position. Also, when an
- interval duration is specified, the absolute end time will be computed
- by adding the duration to the interval start point found by seeking
- the file, rather than to the specified start value.
- .Sp
- The formal syntax is given by:
- .Sp
- .Vb 2
- \& <INTERVAL> ::= [<START>|+<START_OFFSET>][%[<END>|+<END_OFFSET>]]
- \& <INTERVALS> ::= <INTERVAL>[,<INTERVALS>]
- .Ve
- .Sp
- A few examples follow.
- .RS 4
- .IP "\(bu" 4
- Seek to time 10, read packets until 20 seconds after the found seek
- point, then seek to position \f(CW\*(C`01:30\*(C'\fR (1 minute and thirty
- seconds) and read packets until position \f(CW\*(C`01:45\*(C'\fR.
- .Sp
- .Vb 1
- \& 10%+20,01:30%01:45
- .Ve
- .IP "\(bu" 4
- Read only 42 packets after seeking to position \f(CW\*(C`01:23\*(C'\fR:
- .Sp
- .Vb 1
- \& 01:23%+#42
- .Ve
- .IP "\(bu" 4
- Read only the first 20 seconds from the start:
- .Sp
- .Vb 1
- \& %+20
- .Ve
- .IP "\(bu" 4
- Read from the start until position \f(CW\*(C`02:30\*(C'\fR:
- .Sp
- .Vb 1
- \& %02:30
- .Ve
- .RE
- .RS 4
- .RE
- .IP "\fB\-show_private_data, \-private\fR" 4
- .IX Item "-show_private_data, -private"
- Show private data, that is data depending on the format of the
- particular shown element.
- This option is enabled by default, but you may need to disable it
- for specific uses, for example when creating XSD-compliant \s-1XML\s0 output.
- .IP "\fB\-show_program_version\fR" 4
- .IX Item "-show_program_version"
- Show information related to program version.
- .Sp
- Version information is printed within a section with name
- \&\*(L"\s-1PROGRAM_VERSION\*(R".\s0
- .IP "\fB\-show_library_versions\fR" 4
- .IX Item "-show_library_versions"
- Show information related to library versions.
- .Sp
- Version information for each library is printed within a section with
- name \*(L"\s-1LIBRARY_VERSION\*(R".\s0
- .IP "\fB\-show_versions\fR" 4
- .IX Item "-show_versions"
- Show information related to program and library versions. This is the
- equivalent of setting both \fB\-show_program_version\fR and
- \&\fB\-show_library_versions\fR options.
- .IP "\fB\-show_pixel_formats\fR" 4
- .IX Item "-show_pixel_formats"
- Show information about all pixel formats supported by FFmpeg.
- .Sp
- Pixel format information for each format is printed within a section
- with name \*(L"\s-1PIXEL_FORMAT\*(R".\s0
- .IP "\fB\-bitexact\fR" 4
- .IX Item "-bitexact"
- Force bitexact output, useful to produce output which is not dependent
- on the specific build.
- .IP "\fB\-i\fR \fIinput_url\fR" 4
- .IX Item "-i input_url"
- Read \fIinput_url\fR.
- .SH "WRITERS"
- .IX Header "WRITERS"
- A writer defines the output format adopted by \fBffprobe\fR, and will be
- used for printing all the parts of the output.
- .PP
- A writer may accept one or more arguments, which specify the options
- to adopt. The options are specified as a list of \fIkey\fR=\fIvalue\fR
- pairs, separated by \*(L":\*(R".
- .PP
- All writers support the following options:
- .IP "\fBstring_validation, sv\fR" 4
- .IX Item "string_validation, sv"
- Set string validation mode.
- .Sp
- The following values are accepted.
- .RS 4
- .IP "\fBfail\fR" 4
- .IX Item "fail"
- The writer will fail immediately in case an invalid string (\s-1UTF\-8\s0)
- sequence or code point is found in the input. This is especially
- useful to validate input metadata.
- .IP "\fBignore\fR" 4
- .IX Item "ignore"
- Any validation error will be ignored. This will result in possibly
- broken output, especially with the json or xml writer.
- .IP "\fBreplace\fR" 4
- .IX Item "replace"
- The writer will substitute invalid \s-1UTF\-8\s0 sequences or code points with
- the string specified with the \fBstring_validation_replacement\fR.
- .RE
- .RS 4
- .Sp
- Default value is \fBreplace\fR.
- .RE
- .IP "\fBstring_validation_replacement, svr\fR" 4
- .IX Item "string_validation_replacement, svr"
- Set replacement string to use in case \fBstring_validation\fR is
- set to \fBreplace\fR.
- .Sp
- In case the option is not specified, the writer will assume the empty
- string, that is it will remove the invalid sequences from the input
- strings.
- .PP
- A description of the currently available writers follows.
- .SS "default"
- .IX Subsection "default"
- Default format.
- .PP
- Print each section in the form:
- .PP
- .Vb 5
- \& [SECTION]
- \& key1=val1
- \& ...
- \& keyN=valN
- \& [/SECTION]
- .Ve
- .PP
- Metadata tags are printed as a line in the corresponding \s-1FORMAT, STREAM\s0 or
- \&\s-1PROGRAM_STREAM\s0 section, and are prefixed by the string \*(L"\s-1TAG:\*(R".\s0
- .PP
- A description of the accepted options follows.
- .IP "\fBnokey, nk\fR" 4
- .IX Item "nokey, nk"
- If set to 1 specify not to print the key of each field. Default value
- is 0.
- .IP "\fBnoprint_wrappers, nw\fR" 4
- .IX Item "noprint_wrappers, nw"
- If set to 1 specify not to print the section header and footer.
- Default value is 0.
- .SS "compact, csv"
- .IX Subsection "compact, csv"
- Compact and \s-1CSV\s0 format.
- .PP
- The \f(CW\*(C`csv\*(C'\fR writer is equivalent to \f(CW\*(C`compact\*(C'\fR, but supports
- different defaults.
- .PP
- Each section is printed on a single line.
- If no option is specified, the output has the form:
- .PP
- .Vb 1
- \& section|key1=val1| ... |keyN=valN
- .Ve
- .PP
- Metadata tags are printed in the corresponding \*(L"format\*(R" or \*(L"stream\*(R"
- section. A metadata tag key, if printed, is prefixed by the string
- \&\*(L"tag:\*(R".
- .PP
- The description of the accepted options follows.
- .IP "\fBitem_sep, s\fR" 4
- .IX Item "item_sep, s"
- Specify the character to use for separating fields in the output line.
- It must be a single printable character, it is \*(L"|\*(R" by default (\*(L",\*(R" for
- the \f(CW\*(C`csv\*(C'\fR writer).
- .IP "\fBnokey, nk\fR" 4
- .IX Item "nokey, nk"
- If set to 1 specify not to print the key of each field. Its default
- value is 0 (1 for the \f(CW\*(C`csv\*(C'\fR writer).
- .IP "\fBescape, e\fR" 4
- .IX Item "escape, e"
- Set the escape mode to use, default to \*(L"c\*(R" (\*(L"csv\*(R" for the \f(CW\*(C`csv\*(C'\fR
- writer).
- .Sp
- It can assume one of the following values:
- .RS 4
- .IP "\fBc\fR" 4
- .IX Item "c"
- Perform C\-like escaping. Strings containing a newline (\fB\en\fR), carriage
- return (\fB\er\fR), a tab (\fB\et\fR), a form feed (\fB\ef\fR), the escaping
- character (\fB\e\fR) or the item separator character \fI\s-1SEP\s0\fR are escaped
- using C\-like fashioned escaping, so that a newline is converted to the
- sequence \fB\en\fR, a carriage return to \fB\er\fR, \fB\e\fR to \fB\e\e\fR and
- the separator \fI\s-1SEP\s0\fR is converted to \fB\e\fR\fI\s-1SEP\s0\fR.
- .IP "\fBcsv\fR" 4
- .IX Item "csv"
- Perform CSV-like escaping, as described in \s-1RFC4180.\s0 Strings
- containing a newline (\fB\en\fR), a carriage return (\fB\er\fR), a double quote
- (\fB"\fR), or \fI\s-1SEP\s0\fR are enclosed in double-quotes.
- .IP "\fBnone\fR" 4
- .IX Item "none"
- Perform no escaping.
- .RE
- .RS 4
- .RE
- .IP "\fBprint_section, p\fR" 4
- .IX Item "print_section, p"
- Print the section name at the beginning of each line if the value is
- \&\f(CW1\fR, disable it with value set to \f(CW0\fR. Default value is
- \&\f(CW1\fR.
- .SS "flat"
- .IX Subsection "flat"
- Flat format.
- .PP
- A free-form output where each line contains an explicit key=value, such as
- \&\*(L"streams.stream.3.tags.foo=bar\*(R". The output is shell escaped, so it can be
- directly embedded in sh scripts as long as the separator character is an
- alphanumeric character or an underscore (see \fIsep_char\fR option).
- .PP
- The description of the accepted options follows.
- .IP "\fBsep_char, s\fR" 4
- .IX Item "sep_char, s"
- Separator character used to separate the chapter, the section name, IDs and
- potential tags in the printed field key.
- .Sp
- Default value is \fB.\fR.
- .IP "\fBhierarchical, h\fR" 4
- .IX Item "hierarchical, h"
- Specify if the section name specification should be hierarchical. If
- set to 1, and if there is more than one section in the current
- chapter, the section name will be prefixed by the name of the
- chapter. A value of 0 will disable this behavior.
- .Sp
- Default value is 1.
- .SS "ini"
- .IX Subsection "ini"
- \&\s-1INI\s0 format output.
- .PP
- Print output in an \s-1INI\s0 based format.
- .PP
- The following conventions are adopted:
- .IP "\(bu" 4
- all key and values are \s-1UTF\-8\s0
- .IP "\(bu" 4
- \&\fB.\fR is the subgroup separator
- .IP "\(bu" 4
- newline, \fB\et\fR, \fB\ef\fR, \fB\eb\fR and the following characters are
- escaped
- .IP "\(bu" 4
- \&\fB\e\fR is the escape character
- .IP "\(bu" 4
- \&\fB#\fR is the comment indicator
- .IP "\(bu" 4
- \&\fB=\fR is the key/value separator
- .IP "\(bu" 4
- \&\fB:\fR is not used but usually parsed as key/value separator
- .PP
- This writer accepts options as a list of \fIkey\fR=\fIvalue\fR pairs,
- separated by \fB:\fR.
- .PP
- The description of the accepted options follows.
- .IP "\fBhierarchical, h\fR" 4
- .IX Item "hierarchical, h"
- Specify if the section name specification should be hierarchical. If
- set to 1, and if there is more than one section in the current
- chapter, the section name will be prefixed by the name of the
- chapter. A value of 0 will disable this behavior.
- .Sp
- Default value is 1.
- .SS "json"
- .IX Subsection "json"
- \&\s-1JSON\s0 based format.
- .PP
- Each section is printed using \s-1JSON\s0 notation.
- .PP
- The description of the accepted options follows.
- .IP "\fBcompact, c\fR" 4
- .IX Item "compact, c"
- If set to 1 enable compact output, that is each section will be
- printed on a single line. Default value is 0.
- .PP
- For more information about \s-1JSON,\s0 see <\fBhttp://www.json.org/\fR>.
- .SS "xml"
- .IX Subsection "xml"
- \&\s-1XML\s0 based format.
- .PP
- The \s-1XML\s0 output is described in the \s-1XML\s0 schema description file
- \&\fIffprobe.xsd\fR installed in the FFmpeg datadir.
- .PP
- An updated version of the schema can be retrieved at the url
- <\fBhttp://www.ffmpeg.org/schema/ffprobe.xsd\fR>, which redirects to the
- latest schema committed into the FFmpeg development source code tree.
- .PP
- Note that the output issued will be compliant to the
- \&\fIffprobe.xsd\fR schema only when no special global output options
- (\fBunit\fR, \fBprefix\fR, \fBbyte_binary_prefix\fR,
- \&\fBsexagesimal\fR etc.) are specified.
- .PP
- The description of the accepted options follows.
- .IP "\fBfully_qualified, q\fR" 4
- .IX Item "fully_qualified, q"
- If set to 1 specify if the output should be fully qualified. Default
- value is 0.
- This is required for generating an \s-1XML\s0 file which can be validated
- through an \s-1XSD\s0 file.
- .IP "\fBxsd_strict, x\fR" 4
- .IX Item "xsd_strict, x"
- If set to 1 perform more checks for ensuring that the output is \s-1XSD\s0
- compliant. Default value is 0.
- This option automatically sets \fBfully_qualified\fR to 1.
- .PP
- For more information about the \s-1XML\s0 format, see
- <\fBhttps://www.w3.org/XML/\fR>.
- .SH "TIMECODE"
- .IX Header "TIMECODE"
- \&\fBffprobe\fR supports Timecode extraction:
- .IP "\(bu" 4
- \&\s-1MPEG1/2\s0 timecode is extracted from the \s-1GOP,\s0 and is available in the video
- stream details (\fB\-show_streams\fR, see \fItimecode\fR).
- .IP "\(bu" 4
- \&\s-1MOV\s0 timecode is extracted from tmcd track, so is available in the tmcd
- stream metadata (\fB\-show_streams\fR, see \fITAG:timecode\fR).
- .IP "\(bu" 4
- \&\s-1DV, GXF\s0 and \s-1AVI\s0 timecodes are available in format metadata
- (\fB\-show_format\fR, see \fITAG:timecode\fR).
- .SH "SEE ALSO"
- .IX Header "SEE ALSO"
- \&\fBffprobe\-all\fR\|(1),
- \&\fBffmpeg\fR\|(1), \fBffplay\fR\|(1),
- \&\fBffmpeg\-utils\fR\|(1), \fBffmpeg\-scaler\fR\|(1), \fBffmpeg\-resampler\fR\|(1),
- \&\fBffmpeg\-codecs\fR\|(1), \fBffmpeg\-bitstream\-filters\fR\|(1), \fBffmpeg\-formats\fR\|(1),
- \&\fBffmpeg\-devices\fR\|(1), \fBffmpeg\-protocols\fR\|(1), \fBffmpeg\-filters\fR\|(1)
- .SH "AUTHORS"
- .IX Header "AUTHORS"
- The FFmpeg developers.
- .PP
- For details about the authorship, see the Git history of the project
- (https://git.ffmpeg.org/ffmpeg), e.g. by typing the command
- \&\fBgit log\fR in the FFmpeg source directory, or browsing the
- online repository at <\fBhttps://git.ffmpeg.org/ffmpeg\fR>.
- .PP
- Maintainers for the specific components are listed in the file
- \&\fI\s-1MAINTAINERS\s0\fR in the source code tree.
|