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