|
- @chapter Format Options
- @c man begin FORMAT OPTIONS
-
- The libavformat library provides some generic global options, which
- can be set on all the muxers and demuxers. In addition each muxer or
- demuxer may support so-called private options, which are specific for
- that component.
-
- Options may be set by specifying -@var{option} @var{value} in the
- FFmpeg tools, or by setting the value explicitly in the
- @code{AVFormatContext} options or using the @file{libavutil/opt.h} API
- for programmatic use.
-
- The list of supported options follows:
-
- @table @option
- @item avioflags @var{flags} (@emph{input/output})
- Possible values:
- @table @samp
- @item direct
- Reduce buffering.
- @end table
-
- @item probesize @var{integer} (@emph{input})
- Set probing size in bytes, i.e. the size of the data to analyze to get
- stream information. A higher value will allow to detect more
- information in case it is dispersed into the stream, but will increase
- latency. Must be an integer not lesser than 32. It is 5000000 by default.
-
- @item packetsize @var{integer} (@emph{output})
- Set packet size.
-
- @item fflags @var{flags} (@emph{input/output})
- Set format flags.
-
- Possible values:
- @table @samp
- @item ignidx
- Ignore index.
- @item genpts
- Generate PTS.
- @item nofillin
- Do not fill in missing values that can be exactly calculated.
- @item noparse
- Disable AVParsers, this needs @code{+nofillin} too.
- @item igndts
- Ignore DTS.
- @item discardcorrupt
- Discard corrupted frames.
- @item sortdts
- Try to interleave output packets by DTS.
- @item keepside
- Do not merge side data.
- @item latm
- Enable RTP MP4A-LATM payload.
- @item nobuffer
- Reduce the latency introduced by optional buffering
- @end table
-
- @item seek2any @var{integer} (@emph{input})
- Allow seeking to non-keyframes on demuxer level when supported if set to 1.
- Default is 0.
-
- @item analyzeduration @var{integer} (@emph{input})
- Specify how many microseconds are analyzed to probe the input. A
- higher value will allow to detect more accurate information, but will
- increase latency. It defaults to 5,000,000 microseconds = 5 seconds.
-
- @item cryptokey @var{hexadecimal string} (@emph{input})
- Set decryption key.
-
- @item indexmem @var{integer} (@emph{input})
- Set max memory used for timestamp index (per stream).
-
- @item rtbufsize @var{integer} (@emph{input})
- Set max memory used for buffering real-time frames.
-
- @item fdebug @var{flags} (@emph{input/output})
- Print specific debug info.
-
- Possible values:
- @table @samp
- @item ts
- @end table
-
- @item max_delay @var{integer} (@emph{input/output})
- Set maximum muxing or demuxing delay in microseconds.
-
- @item fpsprobesize @var{integer} (@emph{input})
- Set number of frames used to probe fps.
-
- @item audio_preload @var{integer} (@emph{output})
- Set microseconds by which audio packets should be interleaved earlier.
-
- @item chunk_duration @var{integer} (@emph{output})
- Set microseconds for each chunk.
-
- @item chunk_size @var{integer} (@emph{output})
- Set size in bytes for each chunk.
-
- @item err_detect, f_err_detect @var{flags} (@emph{input})
- Set error detection flags. @code{f_err_detect} is deprecated and
- should be used only via the @command{ffmpeg} tool.
-
- Possible values:
- @table @samp
- @item crccheck
- Verify embedded CRCs.
- @item bitstream
- Detect bitstream specification deviations.
- @item buffer
- Detect improper bitstream length.
- @item explode
- Abort decoding on minor error detection.
- @item careful
- Consider things that violate the spec and have not been seen in the
- wild as errors.
- @item compliant
- Consider all spec non compliancies as errors.
- @item aggressive
- Consider things that a sane encoder should not do as an error.
- @end table
-
- @item use_wallclock_as_timestamps @var{integer} (@emph{input})
- Use wallclock as timestamps.
-
- @item avoid_negative_ts @var{integer} (@emph{output})
- Shift timestamps to make them non-negative. A value of 1 enables shifting,
- a value of 0 disables it, the default value of -1 enables shifting
- when required by the target format.
-
- When shifting is enabled, all output timestamps are shifted by the
- same amount. Audio, video, and subtitles desynching and relative
- timestamp differences are preserved compared to how they would have
- been without shifting.
-
- Also note that this affects only leading negative timestamps, and not
- non-monotonic negative timestamps.
-
- @item skip_initial_bytes @var{integer} (@emph{input})
- Set number of bytes to skip before reading header and frames if set to 1.
- Default is 0.
-
- @item correct_ts_overflow @var{integer} (@emph{input})
- Correct single timestamp overflows if set to 1. Default is 1.
-
- @item flush_packets @var{integer} (@emph{output})
- Flush the underlying I/O stream after each packet. Default 1 enables it, and
- has the effect of reducing the latency; 0 disables it and may slightly
- increase performance in some cases.
- @end table
-
- @c man end FORMAT OPTIONS
-
- @anchor{Format stream specifiers}
- @section Format stream specifiers
-
- Format stream specifiers allow selection of one or more streams that
- match specific properties.
-
- Possible forms of stream specifiers are:
- @table @option
- @item @var{stream_index}
- Matches the stream with this index.
-
- @item @var{stream_type}[:@var{stream_index}]
- @var{stream_type} is one of following: 'v' for video, 'a' for audio,
- 's' for subtitle, 'd' for data, and 't' for attachments. If
- @var{stream_index} is given, then it matches the stream number
- @var{stream_index} of this type. Otherwise, it matches all streams of
- this type.
-
- @item p:@var{program_id}[:@var{stream_index}]
- If @var{stream_index} is given, then it matches the stream with number
- @var{stream_index} in the program with the id
- @var{program_id}. Otherwise, it matches all streams in the program.
-
- @item #@var{stream_id}
- Matches the stream by a format-specific ID.
- @end table
-
- The exact semantics of stream specifiers is defined by the
- @code{avformat_match_stream_specifier()} function declared in the
- @file{libavformat/avformat.h} header.
-
- @ifclear config-writeonly
- @include demuxers.texi
- @end ifclear
- @ifclear config-readonly
- @include muxers.texi
- @end ifclear
- @include metadata.texi
|