1FFPROBE(1) FFPROBE(1)
2
3
4
6 ffprobe - ffprobe media prober
7
9 ffprobe [options] [input_url]
10
12 ffprobe gathers information from multimedia streams and prints it in
13 human- and machine-readable fashion.
14
15 For example it can be used to check the format of the container used by
16 a multimedia stream and the format and type of each media stream
17 contained in it.
18
19 If a url is specified in input, ffprobe will try to open and probe the
20 url content. If the url cannot be opened or recognized as a multimedia
21 file, a positive exit code is returned.
22
23 ffprobe may be employed both as a standalone application or in
24 combination with a textual filter, which may perform more sophisticated
25 processing, e.g. statistical processing or plotting.
26
27 Options are used to list some of the formats supported by ffprobe or
28 for specifying which information to display, and for setting how
29 ffprobe will show it.
30
31 ffprobe output is designed to be easily parsable by a textual filter,
32 and consists of one or more sections of a form defined by the selected
33 writer, which is specified by the print_format option.
34
35 Sections may contain other nested sections, and are identified by a
36 name (which may be shared by other sections), and an unique name. See
37 the output of sections.
38
39 Metadata tags stored in the container or in the streams are recognized
40 and printed in the corresponding "FORMAT", "STREAM" or "PROGRAM_STREAM"
41 section.
42
44 All the numerical options, if not specified otherwise, accept a string
45 representing a number as input, which may be followed by one of the SI
46 unit prefixes, for example: 'K', 'M', or 'G'.
47
48 If 'i' is appended to the SI unit prefix, the complete prefix will be
49 interpreted as a unit prefix for binary multiples, which are based on
50 powers of 1024 instead of powers of 1000. Appending 'B' to the SI unit
51 prefix multiplies the value by 8. This allows using, for example: 'KB',
52 'MiB', 'G' and 'B' as number suffixes.
53
54 Options which do not take arguments are boolean options, and set the
55 corresponding value to true. They can be set to false by prefixing the
56 option name with "no". For example using "-nofoo" will set the boolean
57 option with name "foo" to false.
58
59 Stream specifiers
60 Some options are applied per-stream, e.g. bitrate or codec. Stream
61 specifiers are used to precisely specify which stream(s) a given option
62 belongs to.
63
64 A stream specifier is a string generally appended to the option name
65 and separated from it by a colon. E.g. "-codec:a:1 ac3" contains the
66 "a:1" stream specifier, which matches the second audio stream.
67 Therefore, it would select the ac3 codec for the second audio stream.
68
69 A stream specifier can match several streams, so that the option is
70 applied to all of them. E.g. the stream specifier in "-b:a 128k"
71 matches all audio streams.
72
73 An empty stream specifier matches all streams. For example, "-codec
74 copy" or "-codec: copy" would copy all the streams without reencoding.
75
76 Possible forms of stream specifiers are:
77
78 stream_index
79 Matches the stream with this index. E.g. "-threads:1 4" would set
80 the thread count for the second stream to 4. If stream_index is
81 used as an additional stream specifier (see below), then it selects
82 stream number stream_index from the matching streams. Stream
83 numbering is based on the order of the streams as detected by
84 libavformat except when a program ID is also specified. In this
85 case it is based on the ordering of the streams in the program.
86
87 stream_type[:additional_stream_specifier]
88 stream_type is one of following: 'v' or 'V' for video, 'a' for
89 audio, 's' for subtitle, 'd' for data, and 't' for attachments. 'v'
90 matches all video streams, 'V' only matches video streams which are
91 not attached pictures, video thumbnails or cover arts. If
92 additional_stream_specifier is used, then it matches streams which
93 both have this type and match the additional_stream_specifier.
94 Otherwise, it matches all streams of the specified type.
95
96 p:program_id[:additional_stream_specifier]
97 Matches streams which are in the program with the id program_id. If
98 additional_stream_specifier is used, then it matches streams which
99 both are part of the program and match the
100 additional_stream_specifier.
101
102 #stream_id or i:stream_id
103 Match the stream by stream id (e.g. PID in MPEG-TS container).
104
105 m:key[:value]
106 Matches streams with the metadata tag key having the specified
107 value. If value is not given, matches streams that contain the
108 given tag with any value.
109
110 u Matches streams with usable configuration, the codec must be
111 defined and the essential information such as video dimension or
112 audio sample rate must be present.
113
114 Note that in ffmpeg, matching by metadata will only work properly
115 for input files.
116
117 Generic options
118 These options are shared amongst the ff* tools.
119
120 -L Show license.
121
122 -h, -?, -help, --help [arg]
123 Show help. An optional parameter may be specified to print help
124 about a specific item. If no argument is specified, only basic (non
125 advanced) tool options are shown.
126
127 Possible values of arg are:
128
129 long
130 Print advanced tool options in addition to the basic tool
131 options.
132
133 full
134 Print complete list of options, including shared and private
135 options for encoders, decoders, demuxers, muxers, filters, etc.
136
137 decoder=decoder_name
138 Print detailed information about the decoder named
139 decoder_name. Use the -decoders option to get a list of all
140 decoders.
141
142 encoder=encoder_name
143 Print detailed information about the encoder named
144 encoder_name. Use the -encoders option to get a list of all
145 encoders.
146
147 demuxer=demuxer_name
148 Print detailed information about the demuxer named
149 demuxer_name. Use the -formats option to get a list of all
150 demuxers and muxers.
151
152 muxer=muxer_name
153 Print detailed information about the muxer named muxer_name.
154 Use the -formats option to get a list of all muxers and
155 demuxers.
156
157 filter=filter_name
158 Print detailed information about the filter named filter_name.
159 Use the -filters option to get a list of all filters.
160
161 bsf=bitstream_filter_name
162 Print detailed information about the bitstream filter named
163 bitstream_filter_name. Use the -bsfs option to get a list of
164 all bitstream filters.
165
166 protocol=protocol_name
167 Print detailed information about the protocol named
168 protocol_name. Use the -protocols option to get a list of all
169 protocols.
170
171 -version
172 Show version.
173
174 -buildconf
175 Show the build configuration, one option per line.
176
177 -formats
178 Show available formats (including devices).
179
180 -demuxers
181 Show available demuxers.
182
183 -muxers
184 Show available muxers.
185
186 -devices
187 Show available devices.
188
189 -codecs
190 Show all codecs known to libavcodec.
191
192 Note that the term 'codec' is used throughout this documentation as
193 a shortcut for what is more correctly called a media bitstream
194 format.
195
196 -decoders
197 Show available decoders.
198
199 -encoders
200 Show all available encoders.
201
202 -bsfs
203 Show available bitstream filters.
204
205 -protocols
206 Show available protocols.
207
208 -filters
209 Show available libavfilter filters.
210
211 -pix_fmts
212 Show available pixel formats.
213
214 -sample_fmts
215 Show available sample formats.
216
217 -layouts
218 Show channel names and standard channel layouts.
219
220 -dispositions
221 Show stream dispositions.
222
223 -colors
224 Show recognized color names.
225
226 -sources device[,opt1=val1[,opt2=val2]...]
227 Show autodetected sources of the input device. Some devices may
228 provide system-dependent source names that cannot be autodetected.
229 The returned list cannot be assumed to be always complete.
230
231 ffmpeg -sources pulse,server=192.168.0.4
232
233 -sinks device[,opt1=val1[,opt2=val2]...]
234 Show autodetected sinks of the output device. Some devices may
235 provide system-dependent sink names that cannot be autodetected.
236 The returned list cannot be assumed to be always complete.
237
238 ffmpeg -sinks pulse,server=192.168.0.4
239
240 -loglevel [flags+]loglevel | -v [flags+]loglevel
241 Set logging level and flags used by the library.
242
243 The optional flags prefix can consist of the following values:
244
245 repeat
246 Indicates that repeated log output should not be compressed to
247 the first line and the "Last message repeated n times" line
248 will be omitted.
249
250 level
251 Indicates that log output should add a "[level]" prefix to each
252 message line. This can be used as an alternative to log
253 coloring, e.g. when dumping the log to file.
254
255 Flags can also be used alone by adding a '+'/'-' prefix to
256 set/reset a single flag without affecting other flags or changing
257 loglevel. When setting both flags and loglevel, a '+' separator is
258 expected between the last flags value and before loglevel.
259
260 loglevel is a string or a number containing one of the following
261 values:
262
263 quiet, -8
264 Show nothing at all; be silent.
265
266 panic, 0
267 Only show fatal errors which could lead the process to crash,
268 such as an assertion failure. This is not currently used for
269 anything.
270
271 fatal, 8
272 Only show fatal errors. These are errors after which the
273 process absolutely cannot continue.
274
275 error, 16
276 Show all errors, including ones which can be recovered from.
277
278 warning, 24
279 Show all warnings and errors. Any message related to possibly
280 incorrect or unexpected events will be shown.
281
282 info, 32
283 Show informative messages during processing. This is in
284 addition to warnings and errors. This is the default value.
285
286 verbose, 40
287 Same as "info", except more verbose.
288
289 debug, 48
290 Show everything, including debugging information.
291
292 trace, 56
293
294 For example to enable repeated log output, add the "level" prefix,
295 and set loglevel to "verbose":
296
297 ffmpeg -loglevel repeat+level+verbose -i input output
298
299 Another example that enables repeated log output without affecting
300 current state of "level" prefix flag or loglevel:
301
302 ffmpeg [...] -loglevel +repeat
303
304 By default the program logs to stderr. If coloring is supported by
305 the terminal, colors are used to mark errors and warnings. Log
306 coloring can be disabled setting the environment variable
307 AV_LOG_FORCE_NOCOLOR, or can be forced setting the environment
308 variable AV_LOG_FORCE_COLOR.
309
310 -report
311 Dump full command line and log output to a file named
312 "program-YYYYMMDD-HHMMSS.log" in the current directory. This file
313 can be useful for bug reports. It also implies "-loglevel debug".
314
315 Setting the environment variable FFREPORT to any value has the same
316 effect. If the value is a ':'-separated key=value sequence, these
317 options will affect the report; option values must be escaped if
318 they contain special characters or the options delimiter ':' (see
319 the ``Quoting and escaping'' section in the ffmpeg-utils manual).
320
321 The following options are recognized:
322
323 file
324 set the file name to use for the report; %p is expanded to the
325 name of the program, %t is expanded to a timestamp, "%%" is
326 expanded to a plain "%"
327
328 level
329 set the log verbosity level using a numerical value (see
330 "-loglevel").
331
332 For example, to output a report to a file named ffreport.log using
333 a log level of 32 (alias for log level "info"):
334
335 FFREPORT=file=ffreport.log:level=32 ffmpeg -i input output
336
337 Errors in parsing the environment variable are not fatal, and will
338 not appear in the report.
339
340 -hide_banner
341 Suppress printing banner.
342
343 All FFmpeg tools will normally show a copyright notice, build
344 options and library versions. This option can be used to suppress
345 printing this information.
346
347 -cpuflags flags (global)
348 Allows setting and clearing cpu flags. This option is intended for
349 testing. Do not use it unless you know what you're doing.
350
351 ffmpeg -cpuflags -sse+mmx ...
352 ffmpeg -cpuflags mmx ...
353 ffmpeg -cpuflags 0 ...
354
355 Possible flags for this option are:
356
357 x86
358 mmx
359 mmxext
360 sse
361 sse2
362 sse2slow
363 sse3
364 sse3slow
365 ssse3
366 atom
367 sse4.1
368 sse4.2
369 avx
370 avx2
371 xop
372 fma3
373 fma4
374 3dnow
375 3dnowext
376 bmi1
377 bmi2
378 cmov
379 ARM
380 armv5te
381 armv6
382 armv6t2
383 vfp
384 vfpv3
385 neon
386 setend
387 AArch64
388 armv8
389 vfp
390 neon
391 PowerPC
392 altivec
393 Specific Processors
394 pentium2
395 pentium3
396 pentium4
397 k6
398 k62
399 athlon
400 athlonxp
401 k8
402 -cpucount count (global)
403 Override detection of CPU count. This option is intended for
404 testing. Do not use it unless you know what you're doing.
405
406 ffmpeg -cpucount 2
407
408 -max_alloc bytes
409 Set the maximum size limit for allocating a block on the heap by
410 ffmpeg's family of malloc functions. Exercise extreme caution when
411 using this option. Don't use if you do not understand the full
412 consequence of doing so. Default is INT_MAX.
413
414 AVOptions
415 These options are provided directly by the libavformat, libavdevice and
416 libavcodec libraries. To see the list of available AVOptions, use the
417 -help option. They are separated into two categories:
418
419 generic
420 These options can be set for any container, codec or device.
421 Generic options are listed under AVFormatContext options for
422 containers/devices and under AVCodecContext options for codecs.
423
424 private
425 These options are specific to the given container, device or codec.
426 Private options are listed under their corresponding
427 containers/devices/codecs.
428
429 For example to write an ID3v2.3 header instead of a default ID3v2.4 to
430 an MP3 file, use the id3v2_version private option of the MP3 muxer:
431
432 ffmpeg -i input.flac -id3v2_version 3 out.mp3
433
434 All codec AVOptions are per-stream, and thus a stream specifier should
435 be attached to them:
436
437 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
438
439 In the above example, a multichannel audio stream is mapped twice for
440 output. The first instance is encoded with codec ac3 and bitrate 640k.
441 The second instance is downmixed to 2 channels and encoded with codec
442 aac. A bitrate of 128k is specified for it using absolute index of the
443 output stream.
444
445 Note: the -nooption syntax cannot be used for boolean AVOptions, use
446 -option 0/-option 1.
447
448 Note: the old undocumented way of specifying per-stream AVOptions by
449 prepending v/a/s to the options name is now obsolete and will be
450 removed soon.
451
452 Main options
453 -f format
454 Force format to use.
455
456 -unit
457 Show the unit of the displayed values.
458
459 -prefix
460 Use SI prefixes for the displayed values. Unless the
461 "-byte_binary_prefix" option is used all the prefixes are decimal.
462
463 -byte_binary_prefix
464 Force the use of binary prefixes for byte values.
465
466 -sexagesimal
467 Use sexagesimal format HH:MM:SS.MICROSECONDS for time values.
468
469 -pretty
470 Prettify the format of the displayed values, it corresponds to the
471 options "-unit -prefix -byte_binary_prefix -sexagesimal".
472
473 -of, -print_format writer_name[=writer_options]
474 Set the output printing format.
475
476 writer_name specifies the name of the writer, and writer_options
477 specifies the options to be passed to the writer.
478
479 For example for printing the output in JSON format, specify:
480
481 -print_format json
482
483 For more details on the available output printing formats, see the
484 Writers section below.
485
486 -sections
487 Print sections structure and section information, and exit. The
488 output is not meant to be parsed by a machine.
489
490 -select_streams stream_specifier
491 Select only the streams specified by stream_specifier. This option
492 affects only the options related to streams (e.g. "show_streams",
493 "show_packets", etc.).
494
495 For example to show only audio streams, you can use the command:
496
497 ffprobe -show_streams -select_streams a INPUT
498
499 To show only video packets belonging to the video stream with index
500 1:
501
502 ffprobe -show_packets -select_streams v:1 INPUT
503
504 -show_data
505 Show payload data, as a hexadecimal and ASCII dump. Coupled with
506 -show_packets, it will dump the packets' data. Coupled with
507 -show_streams, it will dump the codec extradata.
508
509 The dump is printed as the "data" field. It may contain newlines.
510
511 -show_data_hash algorithm
512 Show a hash of payload data, for packets with -show_packets and for
513 codec extradata with -show_streams.
514
515 -show_error
516 Show information about the error found when trying to probe the
517 input.
518
519 The error information is printed within a section with name
520 "ERROR".
521
522 -show_format
523 Show information about the container format of the input multimedia
524 stream.
525
526 All the container format information is printed within a section
527 with name "FORMAT".
528
529 -show_format_entry name
530 Like -show_format, but only prints the specified entry of the
531 container format information, rather than all. This option may be
532 given more than once, then all specified entries will be shown.
533
534 This option is deprecated, use "show_entries" instead.
535
536 -show_entries section_entries
537 Set list of entries to show.
538
539 Entries are specified according to the following syntax.
540 section_entries contains a list of section entries separated by
541 ":". Each section entry is composed by a section name (or unique
542 name), optionally followed by a list of entries local to that
543 section, separated by ",".
544
545 If section name is specified but is followed by no "=", all entries
546 are printed to output, together with all the contained sections.
547 Otherwise only the entries specified in the local section entries
548 list are printed. In particular, if "=" is specified but the list
549 of local entries is empty, then no entries will be shown for that
550 section.
551
552 Note that the order of specification of the local section entries
553 is not honored in the output, and the usual display order will be
554 retained.
555
556 The formal syntax is given by:
557
558 <LOCAL_SECTION_ENTRIES> ::= <SECTION_ENTRY_NAME>[,<LOCAL_SECTION_ENTRIES>]
559 <SECTION_ENTRY> ::= <SECTION_NAME>[=[<LOCAL_SECTION_ENTRIES>]]
560 <SECTION_ENTRIES> ::= <SECTION_ENTRY>[:<SECTION_ENTRIES>]
561
562 For example, to show only the index and type of each stream, and
563 the PTS time, duration time, and stream index of the packets, you
564 can specify the argument:
565
566 packet=pts_time,duration_time,stream_index : stream=index,codec_type
567
568 To show all the entries in the section "format", but only the codec
569 type in the section "stream", specify the argument:
570
571 format : stream=codec_type
572
573 To show all the tags in the stream and format sections:
574
575 stream_tags : format_tags
576
577 To show only the "title" tag (if available) in the stream sections:
578
579 stream_tags=title
580
581 -show_packets
582 Show information about each packet contained in the input
583 multimedia stream.
584
585 The information for each single packet is printed within a
586 dedicated section with name "PACKET".
587
588 -show_frames
589 Show information about each frame and subtitle contained in the
590 input multimedia stream.
591
592 The information for each single frame is printed within a dedicated
593 section with name "FRAME" or "SUBTITLE".
594
595 -show_log loglevel
596 Show logging information from the decoder about each frame
597 according to the value set in loglevel, (see "-loglevel"). This
598 option requires "-show_frames".
599
600 The information for each log message is printed within a dedicated
601 section with name "LOG".
602
603 -show_streams
604 Show information about each media stream contained in the input
605 multimedia stream.
606
607 Each media stream information is printed within a dedicated section
608 with name "STREAM".
609
610 -show_programs
611 Show information about programs and their streams contained in the
612 input multimedia stream.
613
614 Each media stream information is printed within a dedicated section
615 with name "PROGRAM_STREAM".
616
617 -show_chapters
618 Show information about chapters stored in the format.
619
620 Each chapter is printed within a dedicated section with name
621 "CHAPTER".
622
623 -count_frames
624 Count the number of frames per stream and report it in the
625 corresponding stream section.
626
627 -count_packets
628 Count the number of packets per stream and report it in the
629 corresponding stream section.
630
631 -read_intervals read_intervals
632 Read only the specified intervals. read_intervals must be a
633 sequence of interval specifications separated by ",". ffprobe will
634 seek to the interval starting point, and will continue reading from
635 that.
636
637 Each interval is specified by two optional parts, separated by "%".
638
639 The first part specifies the interval start position. It is
640 interpreted as an absolute position, or as a relative offset from
641 the current position if it is preceded by the "+" character. If
642 this first part is not specified, no seeking will be performed when
643 reading this interval.
644
645 The second part specifies the interval end position. It is
646 interpreted as an absolute position, or as a relative offset from
647 the current position if it is preceded by the "+" character. If the
648 offset specification starts with "#", it is interpreted as the
649 number of packets to read (not including the flushing packets) from
650 the interval start. If no second part is specified, the program
651 will read until the end of the input.
652
653 Note that seeking is not accurate, thus the actual interval start
654 point may be different from the specified position. Also, when an
655 interval duration is specified, the absolute end time will be
656 computed by adding the duration to the interval start point found
657 by seeking the file, rather than to the specified start value.
658
659 The formal syntax is given by:
660
661 <INTERVAL> ::= [<START>|+<START_OFFSET>][%[<END>|+<END_OFFSET>]]
662 <INTERVALS> ::= <INTERVAL>[,<INTERVALS>]
663
664 A few examples follow.
665
666 • Seek to time 10, read packets until 20 seconds after the found
667 seek point, then seek to position "01:30" (1 minute and thirty
668 seconds) and read packets until position "01:45".
669
670 10%+20,01:30%01:45
671
672 • Read only 42 packets after seeking to position "01:23":
673
674 01:23%+#42
675
676 • Read only the first 20 seconds from the start:
677
678 %+20
679
680 • Read from the start until position "02:30":
681
682 %02:30
683
684 -show_private_data, -private
685 Show private data, that is data depending on the format of the
686 particular shown element. This option is enabled by default, but
687 you may need to disable it for specific uses, for example when
688 creating XSD-compliant XML output.
689
690 -show_program_version
691 Show information related to program version.
692
693 Version information is printed within a section with name
694 "PROGRAM_VERSION".
695
696 -show_library_versions
697 Show information related to library versions.
698
699 Version information for each library is printed within a section
700 with name "LIBRARY_VERSION".
701
702 -show_versions
703 Show information related to program and library versions. This is
704 the equivalent of setting both -show_program_version and
705 -show_library_versions options.
706
707 -show_pixel_formats
708 Show information about all pixel formats supported by FFmpeg.
709
710 Pixel format information for each format is printed within a
711 section with name "PIXEL_FORMAT".
712
713 -show_optional_fields value
714 Some writers viz. JSON and XML, omit the printing of fields with
715 invalid or non-applicable values, while other writers always print
716 them. This option enables one to control this behaviour. Valid
717 values are "always"/1, "never"/0 and "auto"/"-1". Default is auto.
718
719 -bitexact
720 Force bitexact output, useful to produce output which is not
721 dependent on the specific build.
722
723 -i input_url
724 Read input_url.
725
727 A writer defines the output format adopted by ffprobe, and will be used
728 for printing all the parts of the output.
729
730 A writer may accept one or more arguments, which specify the options to
731 adopt. The options are specified as a list of key=value pairs,
732 separated by ":".
733
734 All writers support the following options:
735
736 string_validation, sv
737 Set string validation mode.
738
739 The following values are accepted.
740
741 fail
742 The writer will fail immediately in case an invalid string
743 (UTF-8) sequence or code point is found in the input. This is
744 especially useful to validate input metadata.
745
746 ignore
747 Any validation error will be ignored. This will result in
748 possibly broken output, especially with the json or xml writer.
749
750 replace
751 The writer will substitute invalid UTF-8 sequences or code
752 points with the string specified with the
753 string_validation_replacement.
754
755 Default value is replace.
756
757 string_validation_replacement, svr
758 Set replacement string to use in case string_validation is set to
759 replace.
760
761 In case the option is not specified, the writer will assume the
762 empty string, that is it will remove the invalid sequences from the
763 input strings.
764
765 A description of the currently available writers follows.
766
767 default
768 Default format.
769
770 Print each section in the form:
771
772 [SECTION]
773 key1=val1
774 ...
775 keyN=valN
776 [/SECTION]
777
778 Metadata tags are printed as a line in the corresponding FORMAT, STREAM
779 or PROGRAM_STREAM section, and are prefixed by the string "TAG:".
780
781 A description of the accepted options follows.
782
783 nokey, nk
784 If set to 1 specify not to print the key of each field. Default
785 value is 0.
786
787 noprint_wrappers, nw
788 If set to 1 specify not to print the section header and footer.
789 Default value is 0.
790
791 compact, csv
792 Compact and CSV format.
793
794 The "csv" writer is equivalent to "compact", but supports different
795 defaults.
796
797 Each section is printed on a single line. If no option is specified,
798 the output has the form:
799
800 section|key1=val1| ... |keyN=valN
801
802 Metadata tags are printed in the corresponding "format" or "stream"
803 section. A metadata tag key, if printed, is prefixed by the string
804 "tag:".
805
806 The description of the accepted options follows.
807
808 item_sep, s
809 Specify the character to use for separating fields in the output
810 line. It must be a single printable character, it is "|" by
811 default ("," for the "csv" writer).
812
813 nokey, nk
814 If set to 1 specify not to print the key of each field. Its default
815 value is 0 (1 for the "csv" writer).
816
817 escape, e
818 Set the escape mode to use, default to "c" ("csv" for the "csv"
819 writer).
820
821 It can assume one of the following values:
822
823 c Perform C-like escaping. Strings containing a newline (\n),
824 carriage return (\r), a tab (\t), a form feed (\f), the
825 escaping character (\) or the item separator character SEP are
826 escaped using C-like fashioned escaping, so that a newline is
827 converted to the sequence \n, a carriage return to \r, \ to \\
828 and the separator SEP is converted to \SEP.
829
830 csv Perform CSV-like escaping, as described in RFC4180. Strings
831 containing a newline (\n), a carriage return (\r), a double
832 quote ("), or SEP are enclosed in double-quotes.
833
834 none
835 Perform no escaping.
836
837 print_section, p
838 Print the section name at the beginning of each line if the value
839 is 1, disable it with value set to 0. Default value is 1.
840
841 flat
842 Flat format.
843
844 A free-form output where each line contains an explicit key=value, such
845 as "streams.stream.3.tags.foo=bar". The output is shell escaped, so it
846 can be directly embedded in sh scripts as long as the separator
847 character is an alphanumeric character or an underscore (see sep_char
848 option).
849
850 The description of the accepted options follows.
851
852 sep_char, s
853 Separator character used to separate the chapter, the section name,
854 IDs and potential tags in the printed field key.
855
856 Default value is ..
857
858 hierarchical, h
859 Specify if the section name specification should be hierarchical.
860 If set to 1, and if there is more than one section in the current
861 chapter, the section name will be prefixed by the name of the
862 chapter. A value of 0 will disable this behavior.
863
864 Default value is 1.
865
866 ini
867 INI format output.
868
869 Print output in an INI based format.
870
871 The following conventions are adopted:
872
873 • all key and values are UTF-8
874
875 • . is the subgroup separator
876
877 • newline, \t, \f, \b and the following characters are escaped
878
879 • \ is the escape character
880
881 • # is the comment indicator
882
883 • = is the key/value separator
884
885 • : is not used but usually parsed as key/value separator
886
887 This writer accepts options as a list of key=value pairs, separated by
888 :.
889
890 The description of the accepted options follows.
891
892 hierarchical, h
893 Specify if the section name specification should be hierarchical.
894 If set to 1, and if there is more than one section in the current
895 chapter, the section name will be prefixed by the name of the
896 chapter. A value of 0 will disable this behavior.
897
898 Default value is 1.
899
900 json
901 JSON based format.
902
903 Each section is printed using JSON notation.
904
905 The description of the accepted options follows.
906
907 compact, c
908 If set to 1 enable compact output, that is each section will be
909 printed on a single line. Default value is 0.
910
911 For more information about JSON, see <http://www.json.org/>.
912
913 xml
914 XML based format.
915
916 The XML output is described in the XML schema description file
917 ffprobe.xsd installed in the FFmpeg datadir.
918
919 An updated version of the schema can be retrieved at the url
920 <http://www.ffmpeg.org/schema/ffprobe.xsd>, which redirects to the
921 latest schema committed into the FFmpeg development source code tree.
922
923 Note that the output issued will be compliant to the ffprobe.xsd schema
924 only when no special global output options (unit, prefix,
925 byte_binary_prefix, sexagesimal etc.) are specified.
926
927 The description of the accepted options follows.
928
929 fully_qualified, q
930 If set to 1 specify if the output should be fully qualified.
931 Default value is 0. This is required for generating an XML file
932 which can be validated through an XSD file.
933
934 xsd_strict, x
935 If set to 1 perform more checks for ensuring that the output is XSD
936 compliant. Default value is 0. This option automatically sets
937 fully_qualified to 1.
938
939 For more information about the XML format, see
940 <https://www.w3.org/XML/>.
941
943 ffprobe supports Timecode extraction:
944
945 • MPEG1/2 timecode is extracted from the GOP, and is available in the
946 video stream details (-show_streams, see timecode).
947
948 • MOV timecode is extracted from tmcd track, so is available in the
949 tmcd stream metadata (-show_streams, see TAG:timecode).
950
951 • DV, GXF and AVI timecodes are available in format metadata
952 (-show_format, see TAG:timecode).
953
955 ffprobe-all(1), ffmpeg(1), ffplay(1), ffmpeg-utils(1),
956 ffmpeg-scaler(1), ffmpeg-resampler(1), ffmpeg-codecs(1),
957 ffmpeg-bitstream-filters(1), ffmpeg-formats(1), ffmpeg-devices(1),
958 ffmpeg-protocols(1), ffmpeg-filters(1)
959
961 The FFmpeg developers.
962
963 For details about the authorship, see the Git history of the project
964 (git://source.ffmpeg.org/ffmpeg), e.g. by typing the command git log in
965 the FFmpeg source directory, or browsing the online repository at
966 <http://source.ffmpeg.org>.
967
968 Maintainers for the specific components are listed in the file
969 MAINTAINERS in the source code tree.
970
971
972
973 FFPROBE(1)