doc: make developer.texi point to correct fate doc
[ffmpeg.git] / doc / ffprobe.texi
index 514d19e..89b270d 100644 (file)
@@ -42,25 +42,18 @@ for specifying which information to display, and for setting how
 ffprobe will show it.
 
 ffprobe output is designed to be easily parsable by a textual filter,
-and consists of one or more sections of the form:
-@example
-[SECTION]
-key1=val1
-...
-keyN=valN
-[/SECTION]
-@end example
+and consists of one or more sections of a form defined by the selected
+writer, which is specified by the @option{print_format} option.
 
 Metadata tags stored in the container or in the streams are recognized
-and printed in the corresponding "FORMAT" or "STREAM" section, and
-are prefixed by the string "TAG:".
+and printed in the corresponding "FORMAT" or "STREAM" section.
 
 @c man end
 
 @chapter Options
 @c man begin OPTIONS
 
-@include fftools-common-opts.texi
+@include avtools-common-opts.texi
 
 @section Main options
 
@@ -87,6 +80,20 @@ Use sexagesimal format HH:MM:SS.MICROSECONDS for time values.
 Prettify the format of the displayed values, it corresponds to the
 options "-unit -prefix -byte_binary_prefix -sexagesimal".
 
+@item -print_format @var{writer_name}[=@var{writer_options}]
+Set the output printing format.
+
+@var{writer_name} specifies the name of the writer, and
+@var{writer_options} specifies the options to be passed to the writer.
+
+For example for printing the output in JSON format, specify:
+@example
+-print_format json
+@end example
+
+For more details on the available output printing formats, see the
+Writers section below.
+
 @item -show_format
 Show information about the container format of the input multimedia
 stream.
@@ -108,9 +115,106 @@ multimedia stream.
 Each media stream information is printed within a dedicated section
 with name "STREAM".
 
+@item -i @var{input_file}
+Read @var{input_file}.
+
 @end table
 @c man end
 
+@chapter Writers
+@c man begin WRITERS
+
+A writer defines the output format adopted by @file{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 description of the currently available writers follows.
+
+@section default
+Default format.
+
+Print each section in the form:
+@example
+[SECTION]
+key1=val1
+...
+keyN=valN
+[/SECTION]
+@end example
+
+Metadata tags are printed as a line in the corresponding FORMAT or
+STREAM section, and are prefixed by the string "TAG:".
+
+@section compact
+Compact format.
+
+Each section is printed on a single line.
+If no option is specifid, the output has the form:
+@example
+section|key1=val1| ... |keyN=valN
+@end example
+
+Metadata tags are printed in the corresponding "format" or "stream"
+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
+
+@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 "|" by default.
+
+@item nokey, nk
+If set to 1 specify not to print the key of each field. Its default
+value is 0.
+
+@item escape, e
+Set the escape mode to use, default to "c".
+
+It can assume one of the following values:
+@table @option
+@item c
+Perform C-like escaping. Strings containing a newline ('\n') or
+carriage return ('\r'), the escaping character ('\') or the item
+separator character @var{SEP} are escaped using C-like fashioned
+escaping, so that a newline is converted to the sequence "\n", a
+carriage return to "\r", '\' to "\\" and the separator @var{SEP} is
+converted to "\@var{SEP}".
+
+@item csv
+Perform CSV-like escaping, as described in RFC4180.  Strings
+containing a newline ('\n'), a carriage return ('\r'), a double quote
+('"'), or @var{SEP} are enclosed in double-quotes.
+
+@item none
+Perform no escaping.
+@end table
+
+@end table
+
+@section csv
+CSV format.
+
+This writer is equivalent to
+@code{compact=item_sep=,:nokey=1:escape=csv}.
+
+@section json
+JSON based format.
+
+Each section is printed using JSON notation.
+
+For more information about JSON, see @url{http://www.json.org/}.
+
+@c man end WRITERS
+
+@include decoders.texi
 @include demuxers.texi
 @include protocols.texi
 @include indevs.texi