Merge commit 'ea1806ce650f0502dd25939c335b9216fa4a955f' into release/1.1
[ffmpeg.git] / doc / ffmpeg-formats.texi
1 \input texinfo @c -*- texinfo -*-
2
3 @settitle FFmpeg Formats Documentation
4 @titlepage
5 @center @titlefont{FFmpeg Formats Documentation}
6 @end titlepage
7
8 @top
9
10 @contents
11
12 @chapter Description
13 @c man begin DESCRIPTION
14
15 This document describes the supported formats (muxers and demuxers)
16 provided by the libavformat library.
17
18 @c man end DESCRIPTION
19
20 @chapter Format Options
21 @c man begin FORMAT OPTIONS
22
23 The libavformat library provides some generic global options, which
24 can be set on all the muxers and demuxers. In addition each muxer or
25 demuxer may support so-called private options, which are specific for
26 that component.
27
28 Options may be set by specifying -@var{option} @var{value} in the
29 FFmpeg tools, or by setting the value explicitly in the
30 @code{AVFormatContext} options or using the @file{libavutil/opt.h} API
31 for programmatic use.
32
33 The list of supported options follows:
34
35 @table @option
36 @item avioflags @var{flags} (@emph{input/output})
37 Possible values:
38 @table @samp
39 @item direct
40 Reduce buffering.
41 @end table
42
43 @item probesize @var{integer} (@emph{input})
44 Set probing size in bytes, i.e. the size of the data to analyze to get
45 stream information. A higher value will allow to detect more
46 information in case it is dispersed into the stream, but will increase
47 latency. Must be an integer not lesser than 32. It is 5000000 by default.
48
49 @item packetsize @var{integer} (@emph{output})
50 Set packet size.
51
52 @item fflags @var{flags} (@emph{input/output})
53 Set format flags.
54
55 Possible values:
56 @table @samp
57 @item ignidx
58 Ignore index.
59 @item genpts
60 Generate PTS.
61 @item nofillin
62 Do not fill in missing values that can be exactly calculated.
63 @item noparse
64 Disable AVParsers, this needs @code{+nofillin} too.
65 @item igndts
66 Ignore DTS.
67 @item discardcorrupt
68 Discard corrupted frames.
69 @item sortdts
70 Try to interleave output packets by DTS.
71 @item keepside
72 Do not merge side data.
73 @item latm
74 Enable RTP MP4A-LATM payload.
75 @item nobuffer
76 Reduce the latency introduced by optional buffering
77 @end table
78
79 @item analyzeduration @var{integer} (@emph{input})
80 Specify how many microseconds are analyzed to estimate duration.
81
82 @item cryptokey @var{hexadecimal string} (@emph{input})
83 Set decryption key.
84
85 @item indexmem @var{integer} (@emph{input})
86 Set max memory used for timestamp index (per stream).
87
88 @item rtbufsize @var{integer} (@emph{input})
89 Set max memory used for buffering real-time frames.
90
91 @item fdebug @var{flags} (@emph{input/output})
92 Print specific debug info.
93
94 Possible values:
95 @table @samp
96 @item ts
97 @end table
98
99 @item max_delay @var{integer} (@emph{input/output})
100 Set maximum muxing or demuxing delay in microseconds.
101
102 @item fpsprobesize @var{integer} (@emph{input})
103 Set number of frames used to probe fps.
104
105 @item audio_preload @var{integer} (@emph{output})
106 Set microseconds by which audio packets should be interleaved earlier.
107
108 @item chunk_duration @var{integer} (@emph{output})
109 Set microseconds for each chunk.
110
111 @item chunk_size @var{integer} (@emph{output})
112 Set size in bytes for each chunk.
113
114 @item err_detect, f_err_detect @var{flags} (@emph{input})
115 Set error detection flags. @code{f_err_detect} is deprecated and
116 should be used only via the @command{ffmpeg} tool.
117
118 Possible values:
119 @table @samp
120 @item crccheck
121 Verify embedded CRCs.
122 @item bitstream
123 Detect bitstream specification deviations.
124 @item buffer
125 Detect improper bitstream length.
126 @item explode
127 Abort decoding on minor error detection.
128 @item careful
129 Consider things that violate the spec and have not been seen in the
130 wild as errors.
131 @item compliant
132 Consider all spec non compliancies as errors.
133 @item aggressive
134 Consider things that a sane encoder should not do as an error.
135 @end table
136
137 @item use_wallclock_as_timestamps @var{integer} (@emph{input})
138 Use wallclock as timestamps.
139
140 @item avoid_negative_ts @var{integer} (@emph{output})
141 Shift timestamps to make them positive. 1 enables, 0 disables, default
142 of -1 enables when required by target format.
143
144 @item skip_initial_bytes @var{integer} (@emph{input})
145 Set number initial bytes to skip. Default is 0.
146
147 @item correct_ts_overflow @var{integer} (@emph{input})
148 Correct single timestamp overflows if set to 1. Default is 1.
149 @end table
150
151 @c man end FORMAT OPTIONS
152
153 @include demuxers.texi
154 @include muxers.texi
155 @include metadata.texi
156
157 @chapter See Also
158
159 @ifhtml
160 @url{ffmpeg.html,ffmpeg}, @url{ffplay.html,ffplay}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver},
161 @url{libavformat.html,libavformat}
162 @end ifhtml
163
164 @ifnothtml
165 ffmpeg(1), ffplay(1), ffprobe(1), ffserver(1), libavformat(3)
166 @end ifnothtml
167
168 @include authors.texi
169
170 @ignore
171
172 @setfilename ffmpeg-formats
173 @settitle FFmpeg formats
174
175 @end ignore
176
177 @bye