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