]> git.sesse.net Git - ffmpeg/blob - doc/ffmpeg-formats.texi
Merge commit '3e175a2a550f5c2f788e8cd969052e10a5025a27'
[ffmpeg] / 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 probe the input. A
81 higher value will allow to detect more accurate information, but will
82 increase latency. It defaults to 5,000,000 microseconds = 5 seconds.
83
84 @item cryptokey @var{hexadecimal string} (@emph{input})
85 Set decryption key.
86
87 @item indexmem @var{integer} (@emph{input})
88 Set max memory used for timestamp index (per stream).
89
90 @item rtbufsize @var{integer} (@emph{input})
91 Set max memory used for buffering real-time frames.
92
93 @item fdebug @var{flags} (@emph{input/output})
94 Print specific debug info.
95
96 Possible values:
97 @table @samp
98 @item ts
99 @end table
100
101 @item max_delay @var{integer} (@emph{input/output})
102 Set maximum muxing or demuxing delay in microseconds.
103
104 @item fpsprobesize @var{integer} (@emph{input})
105 Set number of frames used to probe fps.
106
107 @item audio_preload @var{integer} (@emph{output})
108 Set microseconds by which audio packets should be interleaved earlier.
109
110 @item chunk_duration @var{integer} (@emph{output})
111 Set microseconds for each chunk.
112
113 @item chunk_size @var{integer} (@emph{output})
114 Set size in bytes for each chunk.
115
116 @item err_detect, f_err_detect @var{flags} (@emph{input})
117 Set error detection flags. @code{f_err_detect} is deprecated and
118 should be used only via the @command{ffmpeg} tool.
119
120 Possible values:
121 @table @samp
122 @item crccheck
123 Verify embedded CRCs.
124 @item bitstream
125 Detect bitstream specification deviations.
126 @item buffer
127 Detect improper bitstream length.
128 @item explode
129 Abort decoding on minor error detection.
130 @item careful
131 Consider things that violate the spec and have not been seen in the
132 wild as errors.
133 @item compliant
134 Consider all spec non compliancies as errors.
135 @item aggressive
136 Consider things that a sane encoder should not do as an error.
137 @end table
138
139 @item use_wallclock_as_timestamps @var{integer} (@emph{input})
140 Use wallclock as timestamps.
141
142 @item avoid_negative_ts @var{integer} (@emph{output})
143 Shift timestamps to make them positive. 1 enables, 0 disables, default
144 of -1 enables when required by target format.
145 @end table
146
147 @c man end FORMAT OPTIONS
148
149 @include demuxers.texi
150 @include muxers.texi
151 @include metadata.texi
152
153 @chapter See Also
154
155 @ifhtml
156 @url{ffmpeg.html,ffmpeg}, @url{ffplay.html,ffplay}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver},
157 @url{libavformat.html,libavformat}
158 @end ifhtml
159
160 @ifnothtml
161 ffmpeg(1), ffplay(1), ffprobe(1), ffserver(1), libavformat(3)
162 @end ifnothtml
163
164 @include authors.texi
165
166 @ignore
167
168 @setfilename ffmpeg-formats
169 @settitle FFmpeg formats
170
171 @end ignore
172
173 @bye