yading@10
|
1 @chapter Format Options
|
yading@10
|
2 @c man begin FORMAT OPTIONS
|
yading@10
|
3
|
yading@10
|
4 The libavformat library provides some generic global options, which
|
yading@10
|
5 can be set on all the muxers and demuxers. In addition each muxer or
|
yading@10
|
6 demuxer may support so-called private options, which are specific for
|
yading@10
|
7 that component.
|
yading@10
|
8
|
yading@10
|
9 Options may be set by specifying -@var{option} @var{value} in the
|
yading@10
|
10 FFmpeg tools, or by setting the value explicitly in the
|
yading@10
|
11 @code{AVFormatContext} options or using the @file{libavutil/opt.h} API
|
yading@10
|
12 for programmatic use.
|
yading@10
|
13
|
yading@10
|
14 The list of supported options follows:
|
yading@10
|
15
|
yading@10
|
16 @table @option
|
yading@10
|
17 @item avioflags @var{flags} (@emph{input/output})
|
yading@10
|
18 Possible values:
|
yading@10
|
19 @table @samp
|
yading@10
|
20 @item direct
|
yading@10
|
21 Reduce buffering.
|
yading@10
|
22 @end table
|
yading@10
|
23
|
yading@10
|
24 @item probesize @var{integer} (@emph{input})
|
yading@10
|
25 Set probing size in bytes, i.e. the size of the data to analyze to get
|
yading@10
|
26 stream information. A higher value will allow to detect more
|
yading@10
|
27 information in case it is dispersed into the stream, but will increase
|
yading@10
|
28 latency. Must be an integer not lesser than 32. It is 5000000 by default.
|
yading@10
|
29
|
yading@10
|
30 @item packetsize @var{integer} (@emph{output})
|
yading@10
|
31 Set packet size.
|
yading@10
|
32
|
yading@10
|
33 @item fflags @var{flags} (@emph{input/output})
|
yading@10
|
34 Set format flags.
|
yading@10
|
35
|
yading@10
|
36 Possible values:
|
yading@10
|
37 @table @samp
|
yading@10
|
38 @item ignidx
|
yading@10
|
39 Ignore index.
|
yading@10
|
40 @item genpts
|
yading@10
|
41 Generate PTS.
|
yading@10
|
42 @item nofillin
|
yading@10
|
43 Do not fill in missing values that can be exactly calculated.
|
yading@10
|
44 @item noparse
|
yading@10
|
45 Disable AVParsers, this needs @code{+nofillin} too.
|
yading@10
|
46 @item igndts
|
yading@10
|
47 Ignore DTS.
|
yading@10
|
48 @item discardcorrupt
|
yading@10
|
49 Discard corrupted frames.
|
yading@10
|
50 @item sortdts
|
yading@10
|
51 Try to interleave output packets by DTS.
|
yading@10
|
52 @item keepside
|
yading@10
|
53 Do not merge side data.
|
yading@10
|
54 @item latm
|
yading@10
|
55 Enable RTP MP4A-LATM payload.
|
yading@10
|
56 @item nobuffer
|
yading@10
|
57 Reduce the latency introduced by optional buffering
|
yading@10
|
58 @end table
|
yading@10
|
59
|
yading@10
|
60 @item analyzeduration @var{integer} (@emph{input})
|
yading@10
|
61 Specify how many microseconds are analyzed to probe the input. A
|
yading@10
|
62 higher value will allow to detect more accurate information, but will
|
yading@10
|
63 increase latency. It defaults to 5,000,000 microseconds = 5 seconds.
|
yading@10
|
64
|
yading@10
|
65 @item cryptokey @var{hexadecimal string} (@emph{input})
|
yading@10
|
66 Set decryption key.
|
yading@10
|
67
|
yading@10
|
68 @item indexmem @var{integer} (@emph{input})
|
yading@10
|
69 Set max memory used for timestamp index (per stream).
|
yading@10
|
70
|
yading@10
|
71 @item rtbufsize @var{integer} (@emph{input})
|
yading@10
|
72 Set max memory used for buffering real-time frames.
|
yading@10
|
73
|
yading@10
|
74 @item fdebug @var{flags} (@emph{input/output})
|
yading@10
|
75 Print specific debug info.
|
yading@10
|
76
|
yading@10
|
77 Possible values:
|
yading@10
|
78 @table @samp
|
yading@10
|
79 @item ts
|
yading@10
|
80 @end table
|
yading@10
|
81
|
yading@10
|
82 @item max_delay @var{integer} (@emph{input/output})
|
yading@10
|
83 Set maximum muxing or demuxing delay in microseconds.
|
yading@10
|
84
|
yading@10
|
85 @item fpsprobesize @var{integer} (@emph{input})
|
yading@10
|
86 Set number of frames used to probe fps.
|
yading@10
|
87
|
yading@10
|
88 @item audio_preload @var{integer} (@emph{output})
|
yading@10
|
89 Set microseconds by which audio packets should be interleaved earlier.
|
yading@10
|
90
|
yading@10
|
91 @item chunk_duration @var{integer} (@emph{output})
|
yading@10
|
92 Set microseconds for each chunk.
|
yading@10
|
93
|
yading@10
|
94 @item chunk_size @var{integer} (@emph{output})
|
yading@10
|
95 Set size in bytes for each chunk.
|
yading@10
|
96
|
yading@10
|
97 @item err_detect, f_err_detect @var{flags} (@emph{input})
|
yading@10
|
98 Set error detection flags. @code{f_err_detect} is deprecated and
|
yading@10
|
99 should be used only via the @command{ffmpeg} tool.
|
yading@10
|
100
|
yading@10
|
101 Possible values:
|
yading@10
|
102 @table @samp
|
yading@10
|
103 @item crccheck
|
yading@10
|
104 Verify embedded CRCs.
|
yading@10
|
105 @item bitstream
|
yading@10
|
106 Detect bitstream specification deviations.
|
yading@10
|
107 @item buffer
|
yading@10
|
108 Detect improper bitstream length.
|
yading@10
|
109 @item explode
|
yading@10
|
110 Abort decoding on minor error detection.
|
yading@10
|
111 @item careful
|
yading@10
|
112 Consider things that violate the spec and have not been seen in the
|
yading@10
|
113 wild as errors.
|
yading@10
|
114 @item compliant
|
yading@10
|
115 Consider all spec non compliancies as errors.
|
yading@10
|
116 @item aggressive
|
yading@10
|
117 Consider things that a sane encoder should not do as an error.
|
yading@10
|
118 @end table
|
yading@10
|
119
|
yading@10
|
120 @item use_wallclock_as_timestamps @var{integer} (@emph{input})
|
yading@10
|
121 Use wallclock as timestamps.
|
yading@10
|
122
|
yading@10
|
123 @item avoid_negative_ts @var{integer} (@emph{output})
|
yading@10
|
124 Shift timestamps to make them positive. A value of 1 enables shifting,
|
yading@10
|
125 a value of 0 disables it, the default value of -1 enables shifting
|
yading@10
|
126 when required by the target format.
|
yading@10
|
127
|
yading@10
|
128 When shifting is enabled, all output timestamps are shifted by the
|
yading@10
|
129 same amount. Audio, video, and subtitles desynching and relative
|
yading@10
|
130 timestamp differences are preserved compared to how they would have
|
yading@10
|
131 been without shifting.
|
yading@10
|
132
|
yading@10
|
133 Also note that this affects only leading negative timestamps, and not
|
yading@10
|
134 non-monotonic negative timestamps.
|
yading@10
|
135
|
yading@10
|
136 @item flush_packets @var{integer} (@emph{output})
|
yading@10
|
137 Flush the underlying I/O stream after each packet. Default 1 enables it, and
|
yading@10
|
138 has the effect of reducing the latency; 0 disables it and may slightly
|
yading@10
|
139 increase performance in some cases.
|
yading@10
|
140 @end table
|
yading@10
|
141
|
yading@10
|
142 @c man end FORMAT OPTIONS
|
yading@10
|
143
|
yading@10
|
144 @include demuxers.texi
|
yading@10
|
145 @include muxers.texi
|
yading@10
|
146 @include metadata.texi
|