and consists of one or more sections of a form defined by the selected
writer, which is specified by the @option{print_format} option.
+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 @option{sections}.
+
Metadata tags stored in the container or in the streams are recognized
and printed in the corresponding "FORMAT" or "STREAM" section.
For more details on the available output printing formats, see the
Writers section below.
+@item -sections
+Print sections structure and section information, and exit. The output
+is not meant to be parsed by a machine.
+
@item -select_streams @var{stream_specifier}
Select only the streams specified by @var{stream_specifier}. This
option affects only the options related to streams
container format information, rather than all. This option may be given more
than once, then all specified entries will be shown.
+This option is deprecated, use @code{show_entries} instead.
+
+@item -show_entries @var{section_entries}
+Set list of entries to show.
+
+Entries are specified according to the following
+syntax. @var{section_entries} contains a list of section entries
+separated by @code{:}. 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 @code{,}.
+
+If section name is specified but is followed by no @code{=}, 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 @code{=} is specified but
+the list of local entries is empty, then no entries will be shown for
+that section.
+
+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.
+
+The formal syntax is given by:
+@example
+@var{LOCAL_SECTION_ENTRIES} ::= @var{SECTION_ENTRY_NAME}[,@var{LOCAL_SECTION_ENTRIES}]
+@var{SECTION_ENTRY} ::= @var{SECTION_NAME}[=[@var{LOCAL_SECTION_ENTRIES}]]
+@var{SECTION_ENTRIES} ::= @var{SECTION_ENTRY}[:@var{SECTION_ENTRIES}]
+@end example
+
+For example, to show only the index and type of each stream, and the PTS
+time, duration time, and stream index of the packets, you can specify
+the argument:
+@example
+packet=pts_time,duration_time,stream_index : stream=index,codec_type
+@end example
+
+To show all the entries in the section "format", but only the codec
+type in the section "stream", specify the argument:
+@example
+format : stream=codec_type
+@end example
+
+To show all the tags in the stream and format sections:
+@example
+format_tags : format_tags
+@end example
+
+To show only the @code{title} tag (if available) in the stream
+sections:
+@example
+stream_tags=title
+@end example
+
@item -show_packets
Show information about each packet contained in the input multimedia
stream.
A writer defines the output format adopted by @command{ffprobe}, and will be
used for printing all the parts of the output.
-A writer may accept one or more arguments, which specify the options to
-adopt.
+A writer may accept one or more arguments, which specify the options
+to adopt. The options are specified as a list of @var{key}=@var{value}
+pairs, separated by ":".
A description of the currently available writers follows.
Metadata tags are printed as a line in the corresponding FORMAT or
STREAM section, and are prefixed by the string "TAG:".
-This writer accepts options as a list of @var{key}=@var{value} pairs,
-separated by ":".
-
A description of the accepted options follows.
@table @option
section. A metadata tag key, if printed, is prefixed by the string
"tag:".
-This writer accepts options as a list of @var{key}=@var{value} pairs,
-separated by ":".
-
The description of the accepted options follows.
@table @option
directly embedded in sh scripts as long as the separator character is an
alphanumeric character or an underscore (see @var{sep_char} option).
-This writer accepts options as a list of @var{key}=@var{value} pairs,
-separated by ":".
-
The description of the accepted options follows.
@table @option
Each section is printed using JSON notation.
-This writer accepts options as a list of @var{key}=@var{value} pairs,
-separated by ":".
-
The description of the accepted options follows.
@table @option
(@option{unit}, @option{prefix}, @option{byte_binary_prefix},
@option{sexagesimal} etc.) are specified.
-This writer accepts options as a list of @var{key}=@var{value} pairs,
-separated by ":".
-
The description of the accepted options follows.
@table @option