From f5c4671bfbad96bf346bd7e9a21fc4317b4959df Mon Sep 17 00:00:00 2001 From: Indrajith K L Date: Sat, 3 Dec 2022 17:00:20 +0530 Subject: Adds most of the tools --- ffmpeg/doc/ffmpeg-codecs.html | 7079 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 7079 insertions(+) create mode 100644 ffmpeg/doc/ffmpeg-codecs.html (limited to 'ffmpeg/doc/ffmpeg-codecs.html') diff --git a/ffmpeg/doc/ffmpeg-codecs.html b/ffmpeg/doc/ffmpeg-codecs.html new file mode 100644 index 0000000..ab11df7 --- /dev/null +++ b/ffmpeg/doc/ffmpeg-codecs.html @@ -0,0 +1,7079 @@ + + + +
+ +This document describes the codecs (decoders and encoders) provided by +the libavcodec library. +
+ + +libavcodec provides some generic global options, which can be set on +all the encoders and decoders. In addition each codec may support +so-called private options, which are specific for a given codec. +
+Sometimes, a global option may only affect a specific kind of codec, +and may be nonsensical or ignored by another, so you need to be aware +of the meaning of the specified options. Also some options are +meant only for decoding or encoding. +
+Options may be set by specifying -option value in the
+FFmpeg tools, or by setting the value explicitly in the
+AVCodecContext
options or using the libavutil/opt.h API
+for programmatic use.
+
The list of supported options follow: +
+Set bitrate in bits/s. Default value is 200K. +
+Set audio bitrate (in bits/s). Default value is 128K. +
+Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate +tolerance specifies how far ratecontrol is willing to deviate from the +target average bitrate value. This is not related to min/max +bitrate. Lowering tolerance too much has an adverse effect on quality. +
+Set generic flags. +
+Possible values: +
Use four motion vector by macroblock (mpeg4). +
Use 1/4 pel motion compensation. +
Use loop filter. +
Use fixed qscale. +
Use internal 2pass ratecontrol in first pass mode. +
Use internal 2pass ratecontrol in second pass mode. +
Only decode/encode grayscale. +
Set error[?] variables during encoding. +
Input bitstream might be randomly truncated. +
Don’t output frames whose parameters differ from first decoded frame in stream. +Error AVERROR_INPUT_CHANGED is returned when a frame is dropped. +
+Use interlaced DCT. +
Force low delay. +
Place global headers in extradata instead of every keyframe. +
Only write platform-, build- and time-independent data. (except (I)DCT). +This ensures that file and data checksums are reproducible and match between +platforms. Its primary use is for regression testing. +
Apply H263 advanced intra coding / mpeg4 ac prediction. +
Apply interlaced motion estimation. +
Use closed gop. +
Output even potentially corrupted frames. +
Set codec time base. +
+It is the fundamental unit of time (in seconds) in terms of which
+frame timestamps are represented. For fixed-fps content, timebase
+should be 1 / frame_rate
and timestamp increments should be
+identically 1.
+
Set the group of picture (GOP) size. Default value is 12. +
+Set audio sampling rate (in Hz). +
+Set number of audio channels. +
+Set cutoff bandwidth. (Supported only by selected encoders, see +their respective documentation sections.) +
+Set audio frame size. +
+Each submitted frame except the last must contain exactly frame_size +samples per channel. May be 0 when the codec has +CODEC_CAP_VARIABLE_FRAME_SIZE set, in that case the frame size is not +restricted. It is set by some decoders to indicate constant frame +size. +
+Set the frame number. +
+Set video quantizer scale compression (VBR). It is used as a constant +in the ratecontrol equation. Recommended range for default rc_eq: +0.0-1.0. +
+Set video quantizer scale blur (VBR). +
+Set min video quantizer scale (VBR). Must be included between -1 and +69, default value is 2. +
+Set max video quantizer scale (VBR). Must be included between -1 and +1024, default value is 31. +
+Set max difference between the quantizer scale (VBR). +
+Set max number of B frames between non-B-frames. +
+Must be an integer between -1 and 16. 0 means that B-frames are +disabled. If a value of -1 is used, it will choose an automatic value +depending on the encoder. +
+Default value is 0. +
+Set qp factor between P and B frames. +
+Workaround not auto detected encoder bugs. +
+Possible values: +
Xvid interlacing bug (autodetected if fourcc==XVIX) +
(autodetected if fourcc==UMP4) +
padding bug (autodetected) +
old standard qpel (autodetected per fourcc/version) +
direct-qpel-blocksize bug (autodetected per fourcc/version) +
edge padding bug (autodetected per fourcc/version) +
Workaround various bugs in microsoft broken decoders. +
trancated frames +
Specify how strictly to follow the standards. +
+Possible values: +
strictly conform to an older more strict version of the spec or reference software +
strictly conform to all the things in the spec no matter what consequences +
allow unofficial extensions +
allow non standardized experimental things, experimental +(unfinished/work in progress/not well tested) decoders and encoders. +Note: experimental decoders can pose a security risk, do not use this for +decoding untrusted input. +
Set QP offset between P and B frames. +
+Set error detection flags. +
+Possible values: +
verify embedded CRCs +
detect bitstream specification deviations +
detect improper bitstream length +
abort decoding on minor error detection +
ignore decoding errors, and continue decoding. +This is useful if you want to analyze the content of a video and thus want +everything to be decoded no matter what. This option will not result in a video +that is pleasing to watch in case of errors. +
consider things that violate the spec and have not been seen in the wild as errors +
consider all spec non compliancies as errors +
consider things that a sane encoder should not do as an error +
Set max bitrate tolerance (in bits/s). Requires bufsize to be set. +
+Set min bitrate tolerance (in bits/s). Most useful in setting up a CBR +encode. It is of little use elsewise. +
+Set ratecontrol buffer size (in bits). +
+Set QP factor between P and I frames. +
+Set QP offset between P and I frames. +
+Set DCT algorithm. +
+Possible values: +
autoselect a good one (default) +
fast integer +
accurate integer +
floating point AAN DCT +
Compress bright areas stronger than medium ones. +
+Set temporal complexity masking. +
+Set spatial complexity masking. +
+Set inter masking. +
+Compress dark areas stronger than medium ones. +
+Select IDCT implementation. +
+Possible values: +
Automatically pick a IDCT compatible with the simple one +
+floating point AAN IDCT +
Set error concealment strategy. +
+Possible values: +
iterative motion vector (MV) search (slow) +
use strong deblock filter for damaged MBs +
favor predicting from the previous frame instead of the current +
Set sample aspect ratio. +
+Set sample aspect ratio. Alias to aspect. +
+Print specific debug info. +
+Possible values: +
picture info +
rate control +
macroblock (MB) type +
per-block quantization parameter (QP) +
display complexity metadata for the upcoming frame, GoP or for a given duration. +
+error recognition +
memory management control operations (H.264) +
picture buffer allocations +
threading operations +
skip motion compensation +
Set full pel me compare function. +
+Possible values: +
sum of absolute differences, fast (default) +
sum of squared errors +
sum of absolute Hadamard transformed differences +
sum of absolute DCT transformed differences +
sum of squared quantization errors (avoid, low quality) +
number of bits needed for the block +
rate distortion optimal, slow +
0 +
sum of absolute vertical differences +
sum of squared vertical differences +
noise preserving sum of squared differences +
5/3 wavelet, only used in snow +
9/7 wavelet, only used in snow +
Set sub pel me compare function. +
+Possible values: +
sum of absolute differences, fast (default) +
sum of squared errors +
sum of absolute Hadamard transformed differences +
sum of absolute DCT transformed differences +
sum of squared quantization errors (avoid, low quality) +
number of bits needed for the block +
rate distortion optimal, slow +
0 +
sum of absolute vertical differences +
sum of squared vertical differences +
noise preserving sum of squared differences +
5/3 wavelet, only used in snow +
9/7 wavelet, only used in snow +
Set macroblock compare function. +
+Possible values: +
sum of absolute differences, fast (default) +
sum of squared errors +
sum of absolute Hadamard transformed differences +
sum of absolute DCT transformed differences +
sum of squared quantization errors (avoid, low quality) +
number of bits needed for the block +
rate distortion optimal, slow +
0 +
sum of absolute vertical differences +
sum of squared vertical differences +
noise preserving sum of squared differences +
5/3 wavelet, only used in snow +
9/7 wavelet, only used in snow +
Set interlaced dct compare function. +
+Possible values: +
sum of absolute differences, fast (default) +
sum of squared errors +
sum of absolute Hadamard transformed differences +
sum of absolute DCT transformed differences +
sum of squared quantization errors (avoid, low quality) +
number of bits needed for the block +
rate distortion optimal, slow +
0 +
sum of absolute vertical differences +
sum of squared vertical differences +
noise preserving sum of squared differences +
5/3 wavelet, only used in snow +
9/7 wavelet, only used in snow +
Set diamond type & size for motion estimation. +
full motion estimation(slowest) +
umh motion estimation +
hex motion estimation +
l2s diamond motion estimation +
var diamond motion estimation +
small diamond motion estimation +
funny diamond motion estimation +
sab diamond motion estimation +
Set amount of motion predictors from the previous frame. +
+Set pre motion estimation compare function. +
+Possible values: +
sum of absolute differences, fast (default) +
sum of squared errors +
sum of absolute Hadamard transformed differences +
sum of absolute DCT transformed differences +
sum of squared quantization errors (avoid, low quality) +
number of bits needed for the block +
rate distortion optimal, slow +
0 +
sum of absolute vertical differences +
sum of squared vertical differences +
noise preserving sum of squared differences +
5/3 wavelet, only used in snow +
9/7 wavelet, only used in snow +
Set diamond type & size for motion estimation pre-pass. +
+Set sub pel motion estimation quality. +
+Set limit motion vectors range (1023 for DivX player). +
+Set macroblock decision algorithm (high quality mode). +
+Possible values: +
use mbcmp (default) +
use fewest bits +
use best rate distortion +
Set number of bits which should be loaded into the rc buffer before +decoding starts. +
+Possible values: +
Allow non spec compliant speedup tricks. +
Skip bitstream encoding. +
Ignore cropping information from sps. +
Place global headers at every keyframe instead of in extradata. +
Frame data might be split into multiple chunks. +
Show all frames before the first keyframe. +
Export motion vectors into frame side-data (see AV_FRAME_DATA_MOTION_VECTORS
)
+for codecs that support it. See also doc/examples/export_mvs.c.
+
Do not skip samples and export skip information as frame side data. +
Do not reset ASS ReadOrder field on flush. +
Generate/parse embedded ICC profiles from/to colorimetry tags. +
Possible values: +
Export motion vectors into frame side-data (see AV_FRAME_DATA_MOTION_VECTORS
)
+for codecs that support it. See also doc/examples/export_mvs.c.
+
Export encoder Producer Reference Time into packet side-data (see AV_PKT_DATA_PRFT
)
+for codecs that support it.
+
Export video encoding parameters through frame side data (see AV_FRAME_DATA_VIDEO_ENC_PARAMS
)
+for codecs that support it. At present, those are H.264 and VP9.
+
Export film grain parameters through frame side data (see AV_FRAME_DATA_FILM_GRAIN_PARAMS
).
+Supported at present by AV1 decoders.
+
Set the number of threads to be used, in case the selected codec +implementation supports multi-threading. +
+Possible values: +
automatically select the number of threads to set +
Default value is ‘auto’. +
+Set intra_dc_precision. +
+Set nsse weight. +
+Set number of macroblock rows at the top which are skipped. +
+Set number of macroblock rows at the bottom which are skipped. +
+Set encoder codec profile. Default value is ‘unknown’. Encoder specific +profiles are documented in the relevant encoder documentation. +
+Possible values: +
Decode at 1= 1/2, 2=1/4, 3=1/8 resolutions. +
+Set min macroblock lagrange factor (VBR). +
+Set max macroblock lagrange factor (VBR). +
+Make decoder discard processing depending on the frame type selected +by the option value. +
+skip_loop_filter skips frame loop filtering, skip_idct +skips frame IDCT/dequantization, skip_frame skips decoding. +
+Possible values: +
Discard no frame. +
+Discard useless frames like 0-sized frames. +
+Discard all non-reference frames. +
+Discard all bidirectional frames. +
+Discard all frames excepts keyframes. +
+Discard all frames except I frames. +
+Discard all frames. +
Default value is ‘default’. +
+Refine the two motion vectors used in bidirectional macroblocks. +
+Set minimum interval between IDR-frames. +
+Set reference frames to consider for motion compensation. +
+Set rate-distortion optimal quantization. +
+Possible values: +
Possible values: +
Possible values: +
BT.709 +
BT.470 M +
BT.470 BG +
SMPTE 170 M +
SMPTE 240 M +
Film +
BT.2020 +
SMPTE ST 428-1 +
SMPTE 431-2 +
SMPTE 432-1 +
JEDEC P22 +
Possible values: +
BT.709 +
BT.470 M +
BT.470 BG +
SMPTE 170 M +
SMPTE 240 M +
Linear +
Log +
Log square root +
IEC 61966-2-4 +
BT.1361 +
IEC 61966-2-1 +
BT.2020 - 10 bit +
BT.2020 - 12 bit +
SMPTE ST 2084 +
SMPTE ST 428-1 +
ARIB STD-B67 +
Possible values: +
RGB +
BT.709 +
FCC +
BT.470 BG +
SMPTE 170 M +
SMPTE 240 M +
YCOCG +
BT.2020 NCL +
BT.2020 CL +
SMPTE 2085 +
Chroma-derived NCL +
Chroma-derived CL +
ICtCp +
If used as input parameter, it serves as a hint to the decoder, which +color_range the input has. +Possible values: +
MPEG (219*2^(n-8)) +
JPEG (2^n-1) +
Possible values: +
Set the log level offset. +
+Number of slices, used in parallelized encoding. +
+Select which multithreading methods to use. +
+Use of ‘frame’ will increase decoding delay by one frame per +thread, so clients which cannot provide future frames should not use +it. +
+Possible values: +
Decode more than one part of a single frame at once. +
+Multithreading using slices works only when the video was encoded with +slices. +
+Decode more than one frame at once. +
Default value is ‘slice+frame’. +
+Set audio service type. +
+Possible values: +
Main Audio Service +
Effects +
Visually Impaired +
Hearing Impaired +
Dialogue +
Commentary +
Emergency +
Voice Over +
Karaoke +
Set sample format audio decoders should prefer. Default value is
+none
.
+
Set the input subtitles character encoding. +
+Set/override the field order of the video. +Possible values: +
Progressive video +
Interlaced video, top field coded and displayed first +
Interlaced video, bottom field coded and displayed first +
Interlaced video, top coded first, bottom displayed first +
Interlaced video, bottom coded first, top displayed first +
Set to 1 to disable processing alpha (transparency). This works like the +‘gray’ flag in the flags option which skips chroma information +instead of alpha. Default is 0. +
+"," separated list of allowed decoders. By default all are allowed. +
+Separator used to separate the fields printed on the command line about the +Stream parameters. +For example, to separate the fields with newlines and indentation: +
ffprobe -dump_separator " + " -i ~/videos/matrixbench_mpeg2.mpg +
Maximum number of pixels per image. This value can be used to avoid out of +memory failures due to large images. +
+Enable cropping if cropping parameters are multiples of the required
+alignment for the left and top parameters. If the alignment is not met the
+cropping will be partially applied to maintain alignment.
+Default is 1 (enabled).
+Note: The required alignment depends on if AV_CODEC_FLAG_UNALIGNED
is set and the
+CPU. AV_CODEC_FLAG_UNALIGNED
cannot be changed from the command line. Also hardware
+decoders will not apply left/top Cropping.
+
Decoders are configured elements in FFmpeg which allow the decoding of +multimedia streams. +
+When you configure your FFmpeg build, all the supported native decoders
+are enabled by default. Decoders requiring an external library must be enabled
+manually via the corresponding --enable-lib
option. You can list all
+available decoders using the configure option --list-decoders
.
+
You can disable all the decoders with the configure option
+--disable-decoders
and selectively enable / disable single decoders
+with the options --enable-decoder=DECODER
/
+--disable-decoder=DECODER
.
+
The option -decoders
of the ff* tools will display the list of
+enabled decoders.
+
A description of some of the currently available video decoders +follows. +
+ +AOMedia Video 1 (AV1) decoder. +
+ +Select an operating point of a scalable AV1 bitstream (0 - 31). Default is 0. +
+Raw video decoder. +
+This decoder decodes rawvideo streams. +
+ +Specify the assumed field type of the input video. +
the video is assumed to be progressive (default) +
bottom-field-first is assumed +
top-field-first is assumed +
dav1d AV1 decoder. +
+libdav1d allows libavcodec to decode the AOMedia Video 1 (AV1) codec.
+Requires the presence of the libdav1d headers and library during configuration.
+You need to explicitly configure the build with --enable-libdav1d
.
+
The following options are supported by the libdav1d wrapper. +
+Set amount of frame threads to use during decoding. The default value is 0 (autodetect).
+This option is deprecated for libdav1d >= 1.0 and will be removed in the future. Use the
+option max_frame_delay
and the global option threads
instead.
+
Set amount of tile threads to use during decoding. The default value is 0 (autodetect).
+This option is deprecated for libdav1d >= 1.0 and will be removed in the future. Use the
+global option threads
instead.
+
Set max amount of frames the decoder may buffer internally. The default value is 0 +(autodetect). +
+Apply film grain to the decoded video if present in the bitstream. Defaults to the
+internal default of the library.
+This option is deprecated and will be removed in the future. See the global option
+export_side_data
to export Film Grain parameters instead of applying it.
+
Select an operating point of a scalable AV1 bitstream (0 - 31). Defaults to the +internal default of the library. +
+Output all spatial layers of a scalable AV1 bitstream. The default value is false. +
+AVS2-P2/IEEE1857.4 video decoder wrapper. +
+This decoder allows libavcodec to decode AVS2 streams with davs2 library. +
+ + +AVS3-P2/IEEE1857.10 video decoder. +
+libuavs3d allows libavcodec to decode AVS3 streams.
+Requires the presence of the libuavs3d headers and library during configuration.
+You need to explicitly configure the build with --enable-libuavs3d
.
+
The following option is supported by the libuavs3d wrapper. +
+Set amount of frame threads to use during decoding. The default value is 0 (autodetect). +
+The family of Intel QuickSync Video decoders (VC1, MPEG-2, H.264, HEVC, +JPEG/MJPEG, VP8, VP9, AV1). +
+ +The following options are supported by all qsv decoders. +
+Internal parallelization depth, the higher the value the higher the latency. +
+A GPU-accelerated copy between video and system memory +
Extra options for hevc_qsv. +
+A user plugin to load in an internal session +
A :-separate list of hexadecimal plugin UIDs to load in an internal session +
+Uncompressed 4:2:2 10-bit decoder. +
+ +Set the line size of the v210 data in bytes. The default value is 0 +(autodetect). You can use the special -1 value for a strideless v210 as seen in +BOXX files. +
+A description of some of the currently available audio decoders +follows. +
+ +AC-3 audio decoder. +
+This decoder implements part of ATSC A/52:2010 and ETSI TS 102 366, as well as +the undocumented RealAudio 3 (a.k.a. dnet). +
+ +Dynamic Range Scale Factor. The factor to apply to dynamic range values +from the AC-3 stream. This factor is applied exponentially. The default value is 1. +There are 3 notable scale factor ranges: +
DRC disabled. Produces full range audio. +
DRC enabled. Applies a fraction of the stream DRC value. +Audio reproduction is between full range and full compression. +
DRC enabled. Applies drc_scale asymmetrically. +Loud sounds are fully compressed. Soft sounds are enhanced. +
FLAC audio decoder. +
+This decoder aims to implement the complete FLAC specification from Xiph. +
+ +The lavc FLAC encoder used to produce buggy streams with high lpc values +(like the default value). This option makes it possible to decode such streams +correctly by using lavc’s old buggy lpc logic for decoding. +
+Internal wave synthesizer. +
+This decoder generates wave patterns according to predefined sequences. Its +use is purely internal and the format of the data it accepts is not publicly +documented. +
+ +libcelt decoder wrapper. +
+libcelt allows libavcodec to decode the Xiph CELT ultra-low delay audio codec.
+Requires the presence of the libcelt headers and library during configuration.
+You need to explicitly configure the build with --enable-libcelt
.
+
libgsm decoder wrapper. +
+libgsm allows libavcodec to decode the GSM full rate audio codec. Requires
+the presence of the libgsm headers and library during configuration. You need
+to explicitly configure the build with --enable-libgsm
.
+
This decoder supports both the ordinary GSM and the Microsoft variant. +
+ +libilbc decoder wrapper. +
+libilbc allows libavcodec to decode the Internet Low Bitrate Codec (iLBC)
+audio codec. Requires the presence of the libilbc headers and library during
+configuration. You need to explicitly configure the build with
+--enable-libilbc
.
+
The following option is supported by the libilbc wrapper. +
+Enable the enhancement of the decoded audio when set to 1. The default +value is 0 (disabled). +
+libopencore-amrnb decoder wrapper. +
+libopencore-amrnb allows libavcodec to decode the Adaptive Multi-Rate
+Narrowband audio codec. Using it requires the presence of the
+libopencore-amrnb headers and library during configuration. You need to
+explicitly configure the build with --enable-libopencore-amrnb
.
+
An FFmpeg native decoder for AMR-NB exists, so users can decode AMR-NB +without this library. +
+ +libopencore-amrwb decoder wrapper. +
+libopencore-amrwb allows libavcodec to decode the Adaptive Multi-Rate
+Wideband audio codec. Using it requires the presence of the
+libopencore-amrwb headers and library during configuration. You need to
+explicitly configure the build with --enable-libopencore-amrwb
.
+
An FFmpeg native decoder for AMR-WB exists, so users can decode AMR-WB +without this library. +
+ +libopus decoder wrapper. +
+libopus allows libavcodec to decode the Opus Interactive Audio Codec.
+Requires the presence of the libopus headers and library during
+configuration. You need to explicitly configure the build with
+--enable-libopus
.
+
An FFmpeg native decoder for Opus exists, so users can decode Opus +without this library. +
+ + +ARIB STD-B24 caption decoder. +
+Implements profiles A and C of the ARIB STD-B24 standard. +
+ +Sets the base path for the libaribb24 library. This is utilized for reading of +configuration files (for custom unicode conversions), and for dumping of +non-text symbols as images under that location. +
+Unset by default. +
+Tells the decoder wrapper to skip text blocks that contain half-height ruby +text. +
+Enabled by default. +
+Compute clut once if no matching CLUT is in the stream. +
Compute clut if no matching CLUT is in the stream. +
Never compute CLUT +
Always compute CLUT and override the one provided in the stream. +
Selects the dvb substream, or all substreams if -1 which is default. +
+This codec decodes the bitmap subtitles used in DVDs; the same subtitles can +also be found in VobSub file pairs and in some Matroska files. +
+ +Specify the global palette used by the bitmaps. When stored in VobSub, the +palette is normally specified in the index file; in Matroska, the palette is +stored in the codec extra-data in the same format as in VobSub. In DVDs, the +palette is stored in the IFO file, and therefore not available when reading +from dumped VOB files. +
+The format for this option is a string containing 16 24-bits hexadecimal
+numbers (without 0x prefix) separated by commas, for example 0d00ee,
+ee450d, 101010, eaeaea, 0ce60b, ec14ed, ebff0b, 0d617a, 7b7b7b, d1d1d1,
+7b2a0e, 0d950c, 0f007b, cf0dec, cfa80c, 7c127b
.
+
Specify the IFO file from which the global palette is obtained. +(experimental) +
+Only decode subtitle entries marked as forced. Some titles have forced
+and non-forced subtitles in the same track. Setting this flag to 1
+will only keep the forced subtitles. Default value is 0
.
+
Libzvbi allows libavcodec to decode DVB teletext pages and DVB teletext
+subtitles. Requires the presence of the libzvbi headers and library during
+configuration. You need to explicitly configure the build with
+--enable-libzvbi
.
+
List of teletext page numbers to decode. Pages that do not match the specified
+list are dropped. You may use the special *
string to match all pages,
+or subtitle
to match all subtitle pages.
+Default value is *.
+
Set default character set used for decoding, a value between 0 and 87 (see +ETS 300 706, Section 15, Table 32). Default value is -1, which does not +override the libzvbi default. This option is needed for some legacy level 1.0 +transmissions which cannot signal the proper charset. +
Discards the top teletext line. Default value is 1. +
Specifies the format of the decoded subtitles. +
The default format, you should use this for teletext pages, because certain +graphics and colors cannot be expressed in simple text or even ASS. +
Simple text based output without formatting. +
Formatted ASS output, subtitle pages and teletext pages are returned in +different styles, subtitle pages are stripped down to text, but an effort is +made to keep the text alignment and the formatting. +
X offset of generated bitmaps, default is 0. +
Y offset of generated bitmaps, default is 0. +
Chops leading and trailing spaces and removes empty lines from the generated +text. This option is useful for teletext based subtitles where empty spaces may +be present at the start or at the end of the lines or empty lines may be +present between the subtitle lines because of double-sized teletext characters. +Default value is 1. +
Sets the display duration of the decoded teletext pages or subtitles in +milliseconds. Default value is -1 which means infinity or until the next +subtitle event comes. +
Force transparent background of the generated teletext bitmaps. Default value +is 0 which means an opaque background. +
Sets the opacity (0-255) of the teletext background. If +txt_transparent is not set, it only affects characters between a start +box and an end box, typically subtitles. Default value is 0 if +txt_transparent is set, 255 otherwise. +
+Encoders are configured elements in FFmpeg which allow the encoding of +multimedia streams. +
+When you configure your FFmpeg build, all the supported native encoders
+are enabled by default. Encoders requiring an external library must be enabled
+manually via the corresponding --enable-lib
option. You can list all
+available encoders using the configure option --list-encoders
.
+
You can disable all the encoders with the configure option
+--disable-encoders
and selectively enable / disable single encoders
+with the options --enable-encoder=ENCODER
/
+--disable-encoder=ENCODER
.
+
The option -encoders
of the ff* tools will display the list of
+enabled encoders.
+
A description of some of the currently available audio encoders +follows. +
+ +Advanced Audio Coding (AAC) encoder. +
+This encoder is the default AAC encoder, natively implemented into FFmpeg. +
+ +Set bit rate in bits/s. Setting this automatically activates constant bit rate +(CBR) mode. If this option is unspecified it is set to 128kbps. +
+Set quality for variable bit rate (VBR) mode. This option is valid only using
+the ffmpeg
command-line tool. For library interface users, use
+global_quality.
+
Set cutoff frequency. If unspecified will allow the encoder to dynamically +adjust the cutoff to improve clarity on low bitrates. +
+Set AAC encoder coding method. Possible values: +
+Two loop searching (TLS) method. This is the default method. +
+This method first sets quantizers depending on band thresholds and then tries +to find an optimal combination by adding or subtracting a specific value from +all quantizers and adjusting some individual quantizer a little. Will tune +itself based on whether aac_is, aac_ms and aac_pns +are enabled. +
+Average noise to mask ratio (ANMR) trellis-based solution. +
+This is an experimental coder which currently produces a lower quality, is more +unstable and is slower than the default twoloop coder but has potential. +Currently has no support for the aac_is or aac_pns options. +Not currently recommended. +
+Constant quantizer method. +
+Uses a cheaper version of twoloop algorithm that doesn’t try to do as many +clever adjustments. Worse with low bitrates (less than 64kbps), but is better +and much faster at higher bitrates. +
+Sets mid/side coding mode. The default value of "auto" will automatically use +M/S with bands which will benefit from such coding. Can be forced for all bands +using the value "enable", which is mainly useful for debugging or disabled using +"disable". +
+Sets intensity stereo coding tool usage. By default, it’s enabled and will +automatically toggle IS for similar pairs of stereo bands if it’s beneficial. +Can be disabled for debugging by setting the value to "disable". +
+Uses perceptual noise substitution to replace low entropy high frequency bands +with imperceptible white noise during the decoding process. By default, it’s +enabled, but can be disabled for debugging purposes by using "disable". +
+Enables the use of a multitap FIR filter which spans through the high frequency +bands to hide quantization noise during the encoding process and is reverted +by the decoder. As well as decreasing unpleasant artifacts in the high range +this also reduces the entropy in the high bands and allows for more bits to +be used by the mid-low bands. By default it’s enabled but can be disabled for +debugging by setting the option to "disable". +
+Enables the use of the long term prediction extension which increases coding +efficiency in very low bandwidth situations such as encoding of voice or +solo piano music by extending constant harmonic peaks in bands throughout +frames. This option is implied by profile:a aac_low and is incompatible with +aac_pred. Use in conjunction with -ar to decrease the samplerate. +
+Enables the use of a more traditional style of prediction where the spectral +coefficients transmitted are replaced by the difference of the current +coefficients minus the previous "predicted" coefficients. In theory and sometimes +in practice this can improve quality for low to mid bitrate audio. +This option implies the aac_main profile and is incompatible with aac_ltp. +
+Sets the encoding profile, possible values: +
+The default, AAC "Low-complexity" profile. Is the most compatible and produces +decent quality. +
+Equivalent to -profile:a aac_low -aac_pns 0
. PNS was introduced with the
+MPEG4 specifications.
+
Long term prediction profile, is enabled by and will enable the aac_ltp +option. Introduced in MPEG4. +
+Main-type prediction profile, is enabled by and will enable the aac_pred +option. Introduced in MPEG2. +
+If this option is unspecified it is set to ‘aac_low’. +
AC-3 audio encoders. +
+These encoders implement part of ATSC A/52:2010 and ETSI TS 102 366, as well as +the undocumented RealAudio 3 (a.k.a. dnet). +
+The ac3 encoder uses floating-point math, while the ac3_fixed
+encoder only uses fixed-point integer math. This does not mean that one is
+always faster, just that one or the other may be better suited to a
+particular system. The ac3_fixed encoder is not the default codec for
+any of the output formats, so it must be specified explicitly using the option
+-acodec ac3_fixed
in order to use it.
+
The AC-3 metadata options are used to set parameters that describe the audio, +but in most cases do not affect the audio encoding itself. Some of the options +do directly affect or influence the decoding and playback of the resulting +bitstream, while others are just for informational purposes. A few of the +options will add bits to the output stream that could otherwise be used for +audio data, and will thus affect the quality of the output. Those will be +indicated accordingly with a note in the option list below. +
+These parameters are described in detail in several publicly-available +documents. +
Allow Per-Frame Metadata. Specifies if the encoder should check for changing +metadata for each frame. +
The metadata values set at initialization will be used for every frame in the +stream. (default) +
Metadata values can be changed before encoding each frame. +
Center Mix Level. The amount of gain the decoder should apply to the center +channel when downmixing to stereo. This field will only be written to the +bitstream if a center channel is present. The value is specified as a scale +factor. There are 3 valid values: +
Apply -3dB gain +
Apply -4.5dB gain (default) +
Apply -6dB gain +
Surround Mix Level. The amount of gain the decoder should apply to the surround +channel(s) when downmixing to stereo. This field will only be written to the +bitstream if one or more surround channels are present. The value is specified +as a scale factor. There are 3 valid values: +
Apply -3dB gain +
Apply -6dB gain (default) +
Silence Surround Channel(s) +
Audio Production Information is optional information describing the mixing +environment. Either none or both of the fields are written to the bitstream. +
+Mixing Level. Specifies peak sound pressure level (SPL) in the production
+environment when the mix was mastered. Valid values are 80 to 111, or -1 for
+unknown or not indicated. The default value is -1, but that value cannot be
+used if the Audio Production Information is written to the bitstream. Therefore,
+if the room_type
option is not the default value, the mixing_level
+option must not be -1.
+
Room Type. Describes the equalization used during the final mixing session at
+the studio or on the dubbing stage. A large room is a dubbing stage with the
+industry standard X-curve equalization; a small room has flat equalization.
+This field will not be written to the bitstream if both the mixing_level
+option and the room_type
option have the default values.
+
Not Indicated (default) +
Large Room +
Small Room +
Copyright Indicator. Specifies whether a copyright exists for this audio. +
No Copyright Exists (default) +
Copyright Exists +
Dialogue Normalization. Indicates how far the average dialogue level of the +program is below digital 100% full scale (0 dBFS). This parameter determines a +level shift during audio reproduction that sets the average volume of the +dialogue to a preset level. The goal is to match volume level between program +sources. A value of -31dB will result in no volume level change, relative to +the source volume, during audio reproduction. Valid values are whole numbers in +the range -31 to -1, with -31 being the default. +
+Dolby Surround Mode. Specifies whether the stereo signal uses Dolby Surround +(Pro Logic). This field will only be written to the bitstream if the audio +stream is stereo. Using this option does NOT mean the encoder will actually +apply Dolby Surround processing. +
Not Indicated (default) +
Not Dolby Surround Encoded +
Dolby Surround Encoded +
Original Bit Stream Indicator. Specifies whether this audio is from the +original source and not a copy. +
Not Original Source +
Original Source (default) +
The extended bitstream options are part of the Alternate Bit Stream Syntax as
+specified in Annex D of the A/52:2010 standard. It is grouped into 2 parts.
+If any one parameter in a group is specified, all values in that group will be
+written to the bitstream. Default values are used for those that are written
+but have not been specified. If the mixing levels are written, the decoder
+will use these values instead of the ones specified in the center_mixlev
+and surround_mixlev
options if it supports the Alternate Bit Stream
+Syntax.
+
Preferred Stereo Downmix Mode. Allows the user to select either Lt/Rt +(Dolby Surround) or Lo/Ro (normal stereo) as the preferred stereo downmix mode. +
Not Indicated (default) +
Lt/Rt Downmix Preferred +
Lo/Ro Downmix Preferred +
Lt/Rt Center Mix Level. The amount of gain the decoder should apply to the +center channel when downmixing to stereo in Lt/Rt mode. +
Apply +3dB gain +
Apply +1.5dB gain +
Apply 0dB gain +
Apply -1.5dB gain +
Apply -3.0dB gain +
Apply -4.5dB gain (default) +
Apply -6.0dB gain +
Silence Center Channel +
Lt/Rt Surround Mix Level. The amount of gain the decoder should apply to the +surround channel(s) when downmixing to stereo in Lt/Rt mode. +
Apply -1.5dB gain +
Apply -3.0dB gain +
Apply -4.5dB gain +
Apply -6.0dB gain (default) +
Silence Surround Channel(s) +
Lo/Ro Center Mix Level. The amount of gain the decoder should apply to the +center channel when downmixing to stereo in Lo/Ro mode. +
Apply +3dB gain +
Apply +1.5dB gain +
Apply 0dB gain +
Apply -1.5dB gain +
Apply -3.0dB gain +
Apply -4.5dB gain (default) +
Apply -6.0dB gain +
Silence Center Channel +
Lo/Ro Surround Mix Level. The amount of gain the decoder should apply to the +surround channel(s) when downmixing to stereo in Lo/Ro mode. +
Apply -1.5dB gain +
Apply -3.0dB gain +
Apply -4.5dB gain +
Apply -6.0dB gain (default) +
Silence Surround Channel(s) +
Dolby Surround EX Mode. Indicates whether the stream uses Dolby Surround EX +(7.1 matrixed to 5.1). Using this option does NOT mean the encoder will actually +apply Dolby Surround EX processing. +
Not Indicated (default) +
Dolby Surround EX Off +
Dolby Surround EX On +
Dolby Headphone Mode. Indicates whether the stream uses Dolby Headphone +encoding (multi-channel matrixed to 2.0 for use with headphones). Using this +option does NOT mean the encoder will actually apply Dolby Headphone +processing. +
Not Indicated (default) +
Dolby Headphone Off +
Dolby Headphone On +
A/D Converter Type. Indicates whether the audio has passed through HDCD A/D +conversion. +
Standard A/D Converter (default) +
HDCD A/D Converter +
Stereo Rematrixing. Enables/Disables use of rematrixing for stereo input. This +is an optional AC-3 feature that increases quality by selectively encoding +the left/right channels as mid/side. This option is enabled by default, and it +is highly recommended that it be left as enabled except for testing purposes. +
+Set lowpass cutoff frequency. If unspecified, the encoder selects a default +determined by various other encoding parameters. +
+These options are only valid for the floating-point encoder and do not exist +for the fixed-point encoder due to the corresponding features not being +implemented in fixed-point. +
+Enables/Disables use of channel coupling, which is an optional AC-3 feature +that increases quality by combining high frequency information from multiple +channels into a single channel. The per-channel high frequency information is +sent with less accuracy in both the frequency and time domains. This allows +more bits to be used for lower frequencies while preserving enough information +to reconstruct the high frequencies. This option is enabled by default for the +floating-point encoder and should generally be left as enabled except for +testing purposes or to increase encoding speed. +
Selected by Encoder (default) +
Disable Channel Coupling +
Enable Channel Coupling +
Coupling Start Band. Sets the channel coupling start band, from 1 to 15. If a +value higher than the bandwidth is used, it will be reduced to 1 less than the +coupling end band. If auto is used, the start band will be determined by +the encoder based on the bit rate, sample rate, and channel layout. This option +has no effect if channel coupling is disabled. +
Selected by Encoder (default) +
FLAC (Free Lossless Audio Codec) Encoder +
+ +The following options are supported by FFmpeg’s flac encoder. +
+Sets the compression level, which chooses defaults for many other options +if they are not set explicitly. Valid values are from 0 to 12, 5 is the +default. +
+Sets the size of the frames in samples per channel. +
+Sets the LPC coefficient precision, valid values are from 1 to 15, 15 is the +default. +
+Sets the first stage LPC algorithm +
LPC is not used +
+fixed LPC coefficients +
+Number of passes to use for Cholesky factorization during LPC analysis +
+The minimum partition order +
+The maximum partition order +
+Bruteforce search +
Channel mode +
The mode is chosen automatically for each frame +
Channels are independently coded +
Chooses if rice parameters are calculated exactly or approximately. +if set to 1 then they are chosen exactly, which slows the code down slightly and +improves compression slightly. +
+Multi Dimensional Quantization. If set to 1 then a 2nd stage LPC algorithm is +applied after the first stage to finetune the coefficients. This is quite slow +and slightly improves compression. +
+Opus encoder. +
+This is a native FFmpeg encoder for the Opus format. Currently its in development and +only implements the CELT part of the codec. Its quality is usually worse and at best +is equal to the libopus encoder. +
+ +Set bit rate in bits/s. If unspecified it uses the number of channels and the layout +to make a good guess. +
+Sets the maximum delay in milliseconds. Lower delays than 20ms will very quickly +decrease quality. +
libfdk-aac AAC (Advanced Audio Coding) encoder wrapper. +
+The libfdk-aac library is based on the Fraunhofer FDK AAC code from +the Android project. +
+Requires the presence of the libfdk-aac headers and library during
+configuration. You need to explicitly configure the build with
+--enable-libfdk-aac
. The library is also incompatible with GPL,
+so if you allow the use of GPL, you should configure with
+--enable-gpl --enable-nonfree --enable-libfdk-aac
.
+
This encoder has support for the AAC-HE profiles. +
+VBR encoding, enabled through the vbr or flags ++qscale options, is experimental and only works with some +combinations of parameters. +
+Support for encoding 7.1 audio is only available with libfdk-aac 0.1.3 or +higher. +
+For more information see the fdk-aac project at +http://sourceforge.net/p/opencore-amr/fdk-aac/. +
+ +The following options are mapped on the shared FFmpeg codec options. +
+Set bit rate in bits/s. If the bitrate is not explicitly specified, it +is automatically set to a suitable value depending on the selected +profile. +
+In case VBR mode is enabled the option is ignored. +
+Set audio sampling rate (in Hz). +
+Set the number of audio channels. +
+Enable fixed quality, VBR (Variable Bit Rate) mode. +Note that VBR is implicitly enabled when the vbr value is +positive. +
+Set cutoff frequency. If not specified (or explicitly set to 0) it +will use a value automatically computed by the library. Default value +is 0. +
+Set audio profile. +
+The following profiles are recognized: +
Low Complexity AAC (LC) +
+High Efficiency AAC (HE-AAC) +
+High Efficiency AAC version 2 (HE-AACv2) +
+Low Delay AAC (LD) +
+Enhanced Low Delay AAC (ELD) +
If not specified it is set to ‘aac_low’. +
The following are private options of the libfdk_aac encoder. +
+Enable afterburner feature if set to 1, disabled if set to 0. This +improves the quality but also the required processing power. +
+Default value is 1. +
+Enable SBR (Spectral Band Replication) for ELD if set to 1, disabled +if set to 0. +
+Default value is 0. +
+Enable ELDv2 (LD-MPS extension for ELD stereo signals) for ELDv2 if set to 1, +disabled if set to 0. +
+Note that option is available when fdk-aac version (AACENCODER_LIB_VL0.AACENCODER_LIB_VL1.AACENCODER_LIB_VL2) > (4.0.0). +
+Default value is 0. +
+Set SBR/PS signaling style. +
+It can assume one of the following values: +
choose signaling implicitly (explicit hierarchical by default, +implicit if global header is disabled) +
+implicit backwards compatible signaling +
+explicit SBR, implicit PS signaling +
+explicit hierarchical signaling +
Default value is ‘default’. +
+Output LATM/LOAS encapsulated data if set to 1, disabled if set to 0. +
+Default value is 0. +
+Set StreamMuxConfig and PCE repetition period (in frames) for sending +in-band configuration buffers within LATM/LOAS transport layer. +
+Must be a 16-bits non-negative integer. +
+Default value is 0. +
+Set VBR mode, from 1 to 5. 1 is lowest quality (though still pretty +good) and 5 is highest quality. A value of 0 will disable VBR, and CBR +(Constant Bit Rate) is enabled. +
+Currently only the ‘aac_low’ profile supports VBR encoding. +
+VBR modes 1-5 correspond to roughly the following average bit rates: +
+32 kbps/channel +
40 kbps/channel +
48-56 kbps/channel +
64 kbps/channel +
about 80-96 kbps/channel +
Default value is 0. +
ffmpeg
to convert an audio file to VBR AAC in an M4A (MP4)
+container:
+ffmpeg -i input.wav -codec:a libfdk_aac -vbr 3 output.m4a +
ffmpeg
to convert an audio file to CBR 64k kbps AAC, using the
+High-Efficiency AAC profile:
+ffmpeg -i input.wav -c:a libfdk_aac -profile:a aac_he -b:a 64k output.m4a +
LAME (Lame Ain’t an MP3 Encoder) MP3 encoder wrapper. +
+Requires the presence of the libmp3lame headers and library during
+configuration. You need to explicitly configure the build with
+--enable-libmp3lame
.
+
See libshine for a fixed-point MP3 encoder, although with a +lower quality. +
+ +The following options are supported by the libmp3lame wrapper. The
+lame
-equivalent of the options are listed in parentheses.
+
Set bitrate expressed in bits/s for CBR or ABR. LAME bitrate
is
+expressed in kilobits/s.
+
Set constant quality setting for VBR. This option is valid only
+using the ffmpeg
command-line tool. For library interface
+users, use global_quality.
+
Set algorithm quality. Valid arguments are integers in the 0-9 range, +with 0 meaning highest quality but slowest, and 9 meaning fastest +while producing the worst quality. +
+Set lowpass cutoff frequency. If unspecified, the encoder dynamically +adjusts the cutoff. +
+Enable use of bit reservoir when set to 1. Default value is 1. LAME +has this enabled by default, but can be overridden by use +--nores option. +
+Enable the encoder to use (on a frame by frame basis) either L/R +stereo or mid/side stereo. Default value is 1. +
+Enable the encoder to use ABR when set to 1. The lame
+--abr sets the target bitrate, while this options only
+tells FFmpeg to use ABR still relies on b to set bitrate.
+
OpenCORE Adaptive Multi-Rate Narrowband encoder. +
+Requires the presence of the libopencore-amrnb headers and library during
+configuration. You need to explicitly configure the build with
+--enable-libopencore-amrnb --enable-version3
.
+
This is a mono-only encoder. Officially it only supports 8000Hz sample rate, +but you can override it by setting strict to ‘unofficial’ or +lower. +
+ +Set bitrate in bits per second. Only the following bitrates are supported, +otherwise libavcodec will round to the nearest valid bitrate. +
+Allow discontinuous transmission (generate comfort noise) when set to 1. The +default value is 0 (disabled). +
+libopus Opus Interactive Audio Codec encoder wrapper. +
+Requires the presence of the libopus headers and library during
+configuration. You need to explicitly configure the build with
+--enable-libopus
.
+
Most libopus options are modelled after the opusenc
utility from
+opus-tools. The following is an option mapping chart describing options
+supported by the libopus wrapper, and their opusenc
-equivalent
+in parentheses.
+
Set the bit rate in bits/s. FFmpeg’s b option is
+expressed in bits/s, while opusenc
’s bitrate in
+kilobits/s.
+
Set VBR mode. The FFmpeg vbr option has the following
+valid arguments, with the opusenc
equivalent options
+in parentheses:
+
Use constant bit rate encoding. +
+Use variable bit rate encoding (the default). +
+Use constrained variable bit rate encoding. +
Set encoding algorithm complexity. Valid options are integers in +the 0-10 range. 0 gives the fastest encodes but lower quality, while 10 +gives the highest quality but slowest encoding. The default is 10. +
+Set maximum frame size, or duration of a frame in milliseconds. The +argument must be exactly the following: 2.5, 5, 10, 20, 40, 60. Smaller +frame sizes achieve lower latency but less quality at a given bitrate. +Sizes greater than 20ms are only interesting at fairly low bitrates. +The default is 20ms. +
+Set expected packet loss percentage. The default is 0. +
+Enable inband forward error correction. packet_loss must be non-zero +to take advantage - frequency of FEC ’side-data’ is proportional to expected packet loss. +Default is disabled. +
+Set intended application type. Valid options are listed below: +
+Favor improved speech intelligibility. +
Favor faithfulness to the input (the default). +
Restrict to only the lowest delay modes. +
Set cutoff bandwidth in Hz. The argument must be exactly one of the +following: 4000, 6000, 8000, 12000, or 20000, corresponding to +narrowband, mediumband, wideband, super wideband, and fullband +respectively. The default is 0 (cutoff disabled). +
+Set channel mapping family to be used by the encoder. The default value of -1 +uses mapping family 0 for mono and stereo inputs, and mapping family 1 +otherwise. The default also disables the surround masking and LFE bandwidth +optimzations in libopus, and requires that the input contains 8 channels or +fewer. +
+Other values include 0 for mono and stereo, 1 for surround sound with masking +and LFE bandwidth optimizations, and 255 for independent streams with an +unspecified channel layout. +
+If set to 0, disables the use of phase inversion for intensity stereo, +improving the quality of mono downmixes, but slightly reducing normal stereo +quality. The default is 1 (phase inversion enabled). +
+Shine Fixed-Point MP3 encoder wrapper. +
+Shine is a fixed-point MP3 encoder. It has a far better performance on +platforms without an FPU, e.g. armel CPUs, and some phones and tablets. +However, as it is more targeted on performance than quality, it is not on par +with LAME and other production-grade encoders quality-wise. Also, according to +the project’s homepage, this encoder may not be free of bugs as the code was +written a long time ago and the project was dead for at least 5 years. +
+This encoder only supports stereo and mono input. This is also CBR-only. +
+The original project (last updated in early 2007) is at +http://sourceforge.net/projects/libshine-fxp/. We only support the +updated fork by the Savonet/Liquidsoap project at https://github.com/savonet/shine. +
+Requires the presence of the libshine headers and library during
+configuration. You need to explicitly configure the build with
+--enable-libshine
.
+
See also libmp3lame. +
+ +The following options are supported by the libshine wrapper. The
+shineenc
-equivalent of the options are listed in parentheses.
+
Set bitrate expressed in bits/s for CBR. shineenc
-b option
+is expressed in kilobits/s.
+
TwoLAME MP2 encoder wrapper. +
+Requires the presence of the libtwolame headers and library during
+configuration. You need to explicitly configure the build with
+--enable-libtwolame
.
+
The following options are supported by the libtwolame wrapper. The
+twolame
-equivalent options follow the FFmpeg ones and are in
+parentheses.
+
Set bitrate expressed in bits/s for CBR. twolame
b
+option is expressed in kilobits/s. Default value is 128k.
+
Set quality for experimental VBR support. Maximum value range is
+from -50 to 50, useful range is from -10 to 10. The higher the
+value, the better the quality. This option is valid only using the
+ffmpeg
command-line tool. For library interface users,
+use global_quality.
+
Set the mode of the resulting audio. Possible values: +
+Choose mode automatically based on the input. This is the default. +
Stereo +
Joint stereo +
Dual channel +
Mono +
Set psychoacoustic model to use in encoding. The argument must be +an integer between -1 and 4, inclusive. The higher the value, the +better the quality. The default value is 3. +
+Enable energy levels extensions when set to 1. The default value is +0 (disabled). +
+Enable CRC error protection when set to 1. The default value is 0 +(disabled). +
+Set MPEG audio copyright flag when set to 1. The default value is 0 +(disabled). +
+Set MPEG audio original flag when set to 1. The default value is 0 +(disabled). +
+VisualOn Adaptive Multi-Rate Wideband encoder. +
+Requires the presence of the libvo-amrwbenc headers and library during
+configuration. You need to explicitly configure the build with
+--enable-libvo-amrwbenc --enable-version3
.
+
This is a mono-only encoder. Officially it only supports 16000Hz sample +rate, but you can override it by setting strict to +‘unofficial’ or lower. +
+ +Set bitrate in bits/s. Only the following bitrates are supported, otherwise +libavcodec will round to the nearest valid bitrate. +
+Allow discontinuous transmission (generate comfort noise) when set to 1. The +default value is 0 (disabled). +
+libvorbis encoder wrapper. +
+Requires the presence of the libvorbisenc headers and library during
+configuration. You need to explicitly configure the build with
+--enable-libvorbis
.
+
The following options are supported by the libvorbis wrapper. The
+oggenc
-equivalent of the options are listed in parentheses.
+
To get a more accurate and extensive documentation of the libvorbis
+options, consult the libvorbisenc’s and oggenc
’s documentations.
+See http://xiph.org/vorbis/,
+http://wiki.xiph.org/Vorbis-tools, and oggenc(1).
+
Set bitrate expressed in bits/s for ABR. oggenc
-b is
+expressed in kilobits/s.
+
Set constant quality setting for VBR. The value should be a float +number in the range of -1.0 to 10.0. The higher the value, the better +the quality. The default value is ‘3.0’. +
+This option is valid only using the ffmpeg
command-line tool.
+For library interface users, use global_quality.
+
Set cutoff bandwidth in Hz, a value of 0 disables cutoff. oggenc
’s
+related option is expressed in kHz. The default value is ‘0’ (cutoff
+disabled).
+
Set minimum bitrate expressed in bits/s. oggenc
-m is
+expressed in kilobits/s.
+
Set maximum bitrate expressed in bits/s. oggenc
-M is
+expressed in kilobits/s. This only has effect on ABR mode.
+
Set noise floor bias for impulse blocks. The value is a float number from +-15.0 to 0.0. A negative bias instructs the encoder to pay special attention +to the crispness of transients in the encoded audio. The tradeoff for better +transient response is a higher bitrate. +
+Motion JPEG encoder. +
+ +Set the huffman encoding strategy. Possible values: +
+Use the default huffman tables. This is the default strategy. +
+Compute and use optimal huffman tables. +
+WavPack lossless audio encoder. +
+ +The equivalent options for wavpack
command line utility are listed in
+parentheses.
+
The following shared options are effective for this encoder. Only special notes +about this particular encoder will be documented here. For the general meaning +of the options, see the Codec Options chapter. +
+For this encoder, the range for this option is between 128 and 131072. Default +is automatically decided based on sample rate and number of channel. +
+For the complete formula of calculating default, see +libavcodec/wavpackenc.c. +
+Set whether to enable joint stereo. Valid values are: +
+Force mid/side audio encoding. +
Force left/right audio encoding. +
Let the encoder decide automatically. +
Set whether to enable optimization for mono. This option is only effective for +non-mono streams. Available values: +
+enabled +
disabled +
A description of some of the currently available video encoders +follows. +
+ +A64 / Commodore 64 multicolor charset encoder. a64_multi5
is extended with 5th color (colram).
+
Cinepak aka CVID encoder. +Compatible with Windows 3.1 and vintage MacOS. +
+ +Keyframe interval.
+A keyframe is inserted at least every -g
frames, sometimes sooner.
+
Quality factor. Lower is better. Higher gives lower bitrate.
+The following table lists bitrates when encoding akiyo_cif.y4m for various values of -q:v
with -g 100
:
+
-q:v 1
1918 kb/s-q:v 2
1735 kb/s-q:v 4
1500 kb/s-q:v 10
1041 kb/s-q:v 20
826 kb/s-q:v 40
553 kb/s-q:v 100
394 kb/s-q:v 200
312 kb/s-q:v 400
266 kb/s-q:v 1000
237 kb/sMax extra codebook recalculation passes, more is better and slower. +
+Avoid wasting bytes, ignore vintage MacOS decoder. +
+The minimum and maximum number of strips to use. +Wider range sometimes improves quality. +More strips is generally better quality but costs more bits. +Fewer strips tend to yield more keyframes. +Vintage compatible is 1..3. +
+How much number of strips is allowed to change between frames. +Higher is better but slower. +
+GIF image/animation encoder. +
+ +Sets the flags used for GIF encoding. +
+Enables picture offsetting. +
+Default is enabled. +
+Enables transparency detection between frames. +
+Default is enabled. +
+Enables encoding one full GIF image per frame, rather than an animated GIF. +
+Default value is 0. +
+Writes a palette to the global GIF header where feasible. +
+If disabled, every frame will always have a palette written, even if there +is a global palette supplied. +
+Default value is 1. +
+Vidvox Hap video encoder. +
+ +Specifies the Hap format to encode. +
+Default value is hap. +
+Specifies the number of chunks to split frames into, between 1 and 64. This +permits multithreaded decoding of large frames, potentially at the cost of +data-rate. The encoder may modify this value to divide frames evenly. +
+Default value is 1. +
+Specifies the second-stage compressor to use. If set to none, +chunks will be limited to 1, as chunked uncompressed frames offer no +benefit. +
+Default value is snappy. +
+The native jpeg 2000 encoder is lossy by default, the -q:v
+option can be used to set the encoding quality. Lossless encoding
+can be selected with -pred 1
.
+
Can be set to either j2k
or jp2
(the default) that
+makes it possible to store non-rgb pix_fmts.
+
Sets tile width. Range is 1 to 1073741824. Default is 256. +
+Sets tile height. Range is 1 to 1073741824. Default is 256. +
+Allows setting the discrete wavelet transform (DWT) type +
Default is dwt97int
+
Enable this to add SOP marker at the start of each packet. Disabled by default. +
+Enable this to add EPH marker at the end of each packet header. Disabled by default. +
+Sets the progression order to be used by the encoder. +Possible values are: +
Set to lrcp
by default.
+
By default, when this option is not used, compression is done using the quality metric.
+This option allows for compression using compression ratio. The compression ratio for each
+level could be specified. The compression ratio of a layer l
species the what ratio of
+total file size is contained in the first l
layers.
+
Example usage: +
+ffmpeg -i input.bmp -c:v jpeg2000 -layer_rates "100,10,1" output.j2k +
This would compress the image to contain 3 layers, where the data contained in the +first layer would be compressed by 1000 times, compressed by 100 in the first two layers, +and shall contain all data while using all 3 layers. +
+rav1e AV1 encoder wrapper. +
+Requires the presence of the rav1e headers and library during configuration.
+You need to explicitly configure the build with --enable-librav1e
.
+
Sets the maximum quantizer to use when using bitrate mode. +
+Sets the minimum quantizer to use when using bitrate mode. +
+Uses quantizer mode to encode at the given quantizer (0-255). +
+Selects the speed preset (0-10) to encode with. +
+Selects how many tiles to encode with. +
+Selects how many rows of tiles to encode with. +
+Selects how many columns of tiles to encode with. +
+Set rav1e options using a list of key=value pairs separated
+by ":". See rav1e --help
for a list of options.
+
For example to specify librav1e encoding options with -rav1e-params: +
+ffmpeg -i input -c:v librav1e -b:v 500K -rav1e-params speed=5:low_latency=true output.mp4 +
libaom AV1 encoder wrapper. +
+Requires the presence of the libaom headers and library during
+configuration. You need to explicitly configure the build with
+--enable-libaom
.
+
The wrapper supports the following standard libavcodec options: +
+Set bitrate target in bits/second. By default this will use +variable-bitrate mode. If maxrate and minrate are +also set to the same value then it will use constant-bitrate mode, +otherwise if crf is set as well then it will use +constrained-quality mode. +
+Set key frame placement. The GOP size sets the maximum distance between +key frames; if zero the output stream will be intra-only. The minimum +distance is ignored unless it is the same as the GOP size, in which case +key frames will always appear at a fixed interval. Not set by default, +so without this option the library has completely free choice about +where to place key frames. +
+Set minimum/maximum quantisation values. Valid range is from 0 to 63 +(warning: this does not match the quantiser values actually used by AV1 +- divide by four to map real quantiser values to this range). Defaults +to min/max (no constraint). +
+Set rate control buffering parameters. Not used if not set - defaults +to unconstrained variable bitrate. +
+Set the number of threads to use while encoding. This may require the +tiles or row-mt options to also be set to actually +use the specified number of threads fully. Defaults to the number of +hardware threads supported by the host machine. +
+Set the encoding profile. Defaults to using the profile which matches +the bit depth and chroma subsampling of the input. +
+The wrapper also has some specific options: +
+Set the quality/encoding speed tradeoff. Valid range is from 0 to 8, +higher numbers indicating greater speed and lower quality. The default +value is 1, which will be slow and high quality. +
+Enable use of alternate reference frames. Defaults to the internal +default of the library. +
+Set altref noise reduction max frame count. Default is -1. +
+Set altref noise reduction filter strength. Range is -1 to 6. Default is -1. +
+Set adaptive quantization mode. Possible values: +
+Disabled. +
+Variance-based. +
+Complexity-based. +
+Cyclic refresh. +
Set the distortion metric the encoder is tuned with. Default is psnr
.
+
Set the maximum number of frames which the encoder may keep in flight +at any one time for lookahead purposes. Defaults to the internal +default of the library. +
+Enable error resilience features: +
Improve resilience against losses of whole frames. +
Not enabled by default. +
+Set the quality/size tradeoff for constant-quality (no bitrate target) +and constrained-quality (with maximum bitrate target) modes. Valid +range is 0 to 63, higher numbers indicating lower quality and smaller +output size. Only used if set; by default only the bitrate target is +used. +
+Set a change threshold on blocks below which they will be skipped by +the encoder. Defined in arbitrary units as a nonnegative integer, +defaulting to zero (no blocks are skipped). +
+Set a threshold for dropping frames when close to rate control bounds. +Defined as a percentage of the target buffer - when the rate control +buffer falls below this percentage, frames will be dropped until it +has refilled above the threshold. Defaults to zero (no frames are +dropped). +
+Amount of noise to be removed for grain synthesis. Grain synthesis is disabled if +this option is not set or set to 0. +
+Block size used for denoising for grain synthesis. If not set, AV1 codec +uses the default value of 32. +
+Set datarate undershoot (min) percentage of the target bitrate. Range is -1 to 100. +Default is -1. +
+Set datarate overshoot (max) percentage of the target bitrate. Range is -1 to 1000. +Default is -1. +
+Minimum percentage variation of the GOP bitrate from the target bitrate. If minsection-pct
+is not set, the libaomenc wrapper computes it as follows: (minrate * 100 / bitrate)
.
+Range is -1 to 100. Default is -1 (unset).
+
Maximum percentage variation of the GOP bitrate from the target bitrate. If maxsection-pct
+is not set, the libaomenc wrapper computes it as follows: (maxrate * 100 / bitrate)
.
+Range is -1 to 5000. Default is -1 (unset).
+
Enable frame parallel decodability features. Default is true. +
+Set the number of tiles to encode the input video with, as columns x +rows. Larger numbers allow greater parallelism in both encoding and +decoding, but may decrease coding efficiency. Defaults to the minimum +number of tiles required by the size of the input video (this is 1x1 +(that is, a single tile) for sizes up to and including 4K). +
+Set the number of tiles as log2 of the number of tile rows and columns. +Provided for compatibility with libvpx/VP9. +
+Enable row based multi-threading. Disabled by default. +
+Enable Constrained Directional Enhancement Filter. The libaom-av1 +encoder enables CDEF by default. +
+Enable Loop Restoration Filter. Default is true for libaom-av1. +
+Enable the use of global motion for block prediction. Default is true. +
+Enable block copy mode for intra block prediction. This mode is +useful for screen content. Default is true. +
+Enable rectangular partitions. Default is true. +
+Enable 1:4/4:1 partitions. Default is true. +
+Enable AB shape partitions. Default is true. +
+Enable angle delta intra prediction. Default is true. +
+Enable chroma predicted from luma intra prediction. Default is true. +
+Enable filter intra predictor. Default is true. +
+Enable intra edge filter. Default is true. +
+Enable smooth intra prediction mode. Default is true. +
+Enable paeth predictor in intra prediction. Default is true. +
+Enable palette prediction mode. Default is true. +
+Enable extended transform type, including FLIPADST_DCT, DCT_FLIPADST, +FLIPADST_FLIPADST, ADST_FLIPADST, FLIPADST_ADST, IDTX, V_DCT, H_DCT, +V_ADST, H_ADST, V_FLIPADST, H_FLIPADST. Default is true. +
+Enable 64-pt transform. Default is true. +
+Use reduced set of transform types. Default is false. +
+Use DCT only for INTRA modes. Default is false. +
+Use DCT only for INTER modes. Default is false. +
+Use Default-transform only for INTRA modes. Default is false. +
+Enable temporal mv prediction. Default is true. +
+Use reduced set of single and compound references. Default is false. +
+Enable obmc. Default is true. +
+Enable dual filter. Default is true. +
+Enable difference-weighted compound. Default is true. +
+Enable distance-weighted compound. Default is true. +
+Enable one sided compound. Default is true. +
+Enable interinter wedge compound. Default is true. +
+Enable interintra wedge compound. Default is true. +
+Enable masked compound. Default is true. +
+Enable interintra compound. Default is true. +
+Enable smooth interintra mode. Default is true. +
+Set libaom options using a list of key=value pairs separated
+by ":". For a list of supported options, see aomenc --help
under the
+section "AV1 Specific Options".
+
For example to specify libaom encoding options with -aom-params: +
+ffmpeg -i input -c:v libaom-av1 -b:v 500K -aom-params tune=psnr:enable-tpl-model=1 output.mp4 +
SVT-AV1 encoder wrapper. +
+Requires the presence of the SVT-AV1 headers and library during configuration.
+You need to explicitly configure the build with --enable-libsvtav1
.
+
Set the encoding profile. +
Set the operating point level. For example: ’4.0’ +
+Set the Hierarchical prediction levels. +
This is the default. +
Set the operating point tier. +
This is the default. +
Set the maximum quantizer to use when using a bitrate mode. +
+Set the minimum quantizer to use when using a bitrate mode. +
+Constant rate factor value used in crf rate control mode (0-63). +
+Set the quantizer used in cqp rate control mode (0-63). +
+Enable scene change detection. +
+Set number of frames to look ahead (0-120). +
+Set the quality-speed tradeoff, in the range 0 to 13. Higher values are +faster but lower quality. +
+Set log2 of the number of rows of tiles to use (0-6). +
+Set log2 of the number of columns of tiles to use (0-4). +
+Set SVT-AV1 options using a list of key=value pairs separated +by ":". See the SVT-AV1 encoder user guide for a list of accepted parameters. +
+libjxl JPEG XL encoder wrapper. +
+Requires the presence of the libjxl headers and library during
+configuration. You need to explicitly configure the build with
+--enable-libjxl
.
+
The libjxl wrapper supports the following options: +
+Set the target Butteraugli distance. This is a quality setting: lower +distance yields higher quality, with distance=1.0 roughly comparable to +libjpeg Quality 90 for photographic content. Setting distance=0.0 yields +true lossless encoding. Valid values range between 0.0 and 15.0, and sane +values rarely exceed 5.0. Setting distance=0.1 usually attains +transparency for most input. The default is 1.0. +
+Set the encoding effort used. Higher effort values produce more consistent +quality and usually produces a better quality/bpp curve, at the cost of +more CPU time required. Valid values range from 1 to 9, and the default is 7. +
+Force the encoder to use Modular mode instead of choosing automatically. The +default is to use VarDCT for lossy encoding and Modular for lossless. VarDCT +is generally superior to Modular for lossy encoding but does not support +lossless encoding. +
+Kvazaar H.265/HEVC encoder. +
+Requires the presence of the libkvazaar headers and library during +configuration. You need to explicitly configure the build with +--enable-libkvazaar. +
+ +Set target video bitrate in bit/s and enable rate control. +
+Set kvazaar parameters as a list of name=value pairs separated +by commas (,). See kvazaar documentation for a list of options. +
+Cisco libopenh264 H.264/MPEG-4 AVC encoder wrapper. +
+This encoder requires the presence of the libopenh264 headers and
+library during configuration. You need to explicitly configure the
+build with --enable-libopenh264
. The library is detected using
+pkg-config
.
+
For more information about the library see +http://www.openh264.org. +
+ +The following FFmpeg global options affect the configurations of the +libopenh264 encoder. +
+Set the bitrate (as a number of bits per second). +
+Set the GOP size. +
+Set the max bitrate (as a number of bits per second). +
+Set global header in the bitstream. +
+Set the number of slices, used in parallelized encoding. Default value +is 0. This is only used when slice_mode is set to +‘fixed’. +
+Set slice mode. Can assume one of the following possible values: +
+a fixed number of slices +
one slice per row of macroblocks +
automatic number of slices according to number of threads +
dynamic slicing +
Default value is ‘auto’. +
+Enable loop filter, if set to 1 (automatically enabled). To disable +set a value of 0. +
+Set profile restrictions. If set to the value of ‘main’ enable
+CABAC (set the SEncParamExt.iEntropyCodingModeFlag
flag to 1).
+
Set maximum NAL size in bytes. +
+Allow skipping frames to hit the target bitrate if set to 1. +
libtheora Theora encoder wrapper. +
+Requires the presence of the libtheora headers and library during
+configuration. You need to explicitly configure the build with
+--enable-libtheora
.
+
For more information about the libtheora project see +http://www.theora.org/. +
+ +The following global options are mapped to internal libtheora options +which affect the quality and the bitrate of the encoded stream. +
+Set the video bitrate in bit/s for CBR (Constant Bit Rate) mode. In +case VBR (Variable Bit Rate) mode is enabled this option is ignored. +
+Used to enable constant quality mode (VBR) encoding through the
+qscale flag, and to enable the pass1
and pass2
+modes.
+
Set the GOP size. +
+Set the global quality as an integer in lambda units. +
+Only relevant when VBR mode is enabled with flags +qscale
. The
+value is converted to QP units by dividing it by FF_QP2LAMBDA
,
+clipped in the [0 - 10] range, and then multiplied by 6.3 to get a
+value in the native libtheora range [0-63]. A higher value corresponds
+to a higher quality.
+
Enable VBR mode when set to a non-negative value, and set constant +quality value as a double floating point value in QP units. +
+The value is clipped in the [0-10] range, and then multiplied by 6.3 +to get a value in the native libtheora range [0-63]. +
+This option is valid only using the ffmpeg
command-line
+tool. For library interface users, use global_quality.
+
ffmpeg
:
+ffmpeg -i INPUT -codec:v libtheora -q:v 10 OUTPUT.ogg +
ffmpeg
to convert a CBR 1000 kbps Theora video stream:
+ffmpeg -i INPUT -codec:v libtheora -b:v 1000k OUTPUT.ogg +
VP8/VP9 format supported through libvpx. +
+Requires the presence of the libvpx headers and library during configuration.
+You need to explicitly configure the build with --enable-libvpx
.
+
The following options are supported by the libvpx wrapper. The
+vpxenc
-equivalent options or values are listed in parentheses
+for easy migration.
+
To reduce the duplication of documentation, only the private options +and some others requiring special attention are documented here. For +the documentation of the undocumented generic options, see +the Codec Options chapter. +
+To get more documentation of the libvpx options, invoke the command
+ffmpeg -h encoder=libvpx
, ffmpeg -h encoder=libvpx-vp9
or
+vpxenc --help
. Further information is available in the libvpx API
+documentation.
+
Set bitrate in bits/s. Note that FFmpeg’s b option is
+expressed in bits/s, while vpxenc
’s target-bitrate is in
+kilobits/s.
+
Minimum (Best Quality) Quantizer. +
+Maximum (Worst Quality) Quantizer. +Can be changed per-frame. +
+Set ratecontrol buffer size (in bits). Note vpxenc
’s options are
+specified in milliseconds, the libvpx wrapper converts this value as follows:
+buf-sz = bufsize * 1000 / bitrate
,
+buf-optimal-sz = bufsize * 1000 / bitrate * 5 / 6
.
+
Set number of bits which should be loaded into the rc buffer before decoding
+starts. Note vpxenc
’s option is specified in milliseconds, the libvpx
+wrapper converts this value as follows:
+rc_init_occupancy * 1000 / bitrate
.
+
Set datarate undershoot (min) percentage of the target bitrate. +
+Set datarate overshoot (max) percentage of the target bitrate. +
+Set GOP max bitrate in bits/s. Note vpxenc
’s option is specified as a
+percentage of the target bitrate, the libvpx wrapper converts this value as
+follows: (maxrate * 100 / bitrate)
.
+
Set GOP min bitrate in bits/s. Note vpxenc
’s option is specified as a
+percentage of the target bitrate, the libvpx wrapper converts this value as
+follows: (minrate * 100 / bitrate)
.
+
(minrate == maxrate == bitrate)
.
+
Use best quality deadline. Poorly named and quite slow, this option should be +avoided as it may give worse quality output than good. +
Use good quality deadline. This is a good trade-off between speed and quality +when used with the cpu-used option. +
Use realtime quality deadline. +
Set quality/speed ratio modifier. Higher values speed up the encode at the cost +of quality. +
+Set a change threshold on blocks below which they will be skipped by the +encoder. +
+Note that FFmpeg’s slices option gives the total number of partitions,
+while vpxenc
’s token-parts is given as
+log2(partitions)
.
+
Set maximum I-frame bitrate as a percentage of the target bitrate. A value of 0 +means unlimited. +
+VPX_EFLAG_FORCE_KF
+
Enable use of alternate reference frames (2-pass only). +Values greater than 1 enable multi-layer alternate reference frames (VP9 only). +
Set altref noise reduction max frame count. +
Set altref noise reduction filter type: backward, forward, centered. +
Set altref noise reduction filter strength. +
Set number of frames to look ahead for frametype and ratecontrol. +
Set minimum golden/alternate reference frame interval (VP9 only). +
Enable error resiliency features. +
+Increase sharpness at the expense of lower PSNR. +The valid range is [0, 7]. +
+Sets the temporal scalability configuration using a :-separated list of
+key=value pairs. For example, to specify temporal scalability parameters
+with ffmpeg
:
+
ffmpeg -i INPUT -c:v libvpx -ts-parameters ts_number_layers=3:\ +ts_target_bitrate=250,500,1000:ts_rate_decimator=4,2,1:\ +ts_periodicity=4:ts_layer_id=0,2,1,2:ts_layering_mode=3 OUTPUT +
Below is a brief explanation of each of the parameters, please
+refer to struct vpx_codec_enc_cfg
in vpx/vpx_encoder.h
for more
+details.
+
Number of temporal coding layers. +
Target bitrate for each temporal layer (in kbps). +(bitrate should be inclusive of the lower temporal layer). +
Frame rate decimation factor for each temporal layer. +
Length of the sequence defining frame temporal layer membership. +
Template defining the membership of frames to temporal layers. +
(optional) Selecting the temporal structure from a set of pre-defined temporal layering modes. +Currently supports the following options. +
No temporal layering flags are provided internally,
+relies on flags being passed in using metadata
field in AVFrame
+with following keys.
+
Sets the flags passed into the encoder to indicate the referencing scheme for
+the current frame.
+Refer to function vpx_codec_encode
in vpx/vpx_encoder.h
for more
+details.
+
Explicitly sets the temporal id of the current frame to encode. +
Two temporal layers. 0-1... +
Three temporal layers. 0-2-1-2...; with single reference frame. +
Same as option "3", except there is a dependency between +the two temporal layer 2 frames within the temporal period. +
Enable lossless mode. +
Set number of tile columns to use. Note this is given as
+log2(tile_columns)
. For example, 8 tile columns would be requested by
+setting the tile-columns option to 3.
+
Set number of tile rows to use. Note this is given as log2(tile_rows)
.
+For example, 4 tile rows would be requested by setting the tile-rows
+option to 2.
+
Enable frame parallel decodability features. +
Set adaptive quantization mode (0: off (default), 1: variance 2: complexity, 3: +cyclic refresh, 4: equator360). +
Set input color space. The VP9 bitstream supports signaling the following +colorspaces: +
Enable row based multi-threading. +
Set content type: default (0), screen (1), film (2). +
Corpus VBR mode is a variant of standard VBR where the complexity distribution +midpoint is passed in rather than calculated for a specific clip or chunk. +
+The valid range is [0, 10000]. 0 (default) uses standard VBR. +
Enable temporal dependency model. +
Using per-frame metadata, set members of the structure vpx_svc_ref_frame_config_t
in vpx/vp8cx.h
to fine-control referencing schemes and frame buffer management.
+
Use a :-separated list of key=value pairs.
+For example,
+
av_dict_set(&av_frame->metadata, "ref-frame-config", \ +"rfc_update_buffer_slot=7:rfc_lst_fb_idx=0:rfc_gld_fb_idx=1:rfc_alt_fb_idx=2:rfc_reference_last=0:rfc_reference_golden=0:rfc_reference_alt_ref=0"); +
Indicates the buffer slot number to update +
Indicates whether to update the LAST frame +
Indicates whether to update GOLDEN frame +
Indicates whether to update ALT_REF frame +
LAST frame buffer index +
GOLDEN frame buffer index +
ALT_REF frame buffer index +
Indicates whether to reference LAST frame +
Indicates whether to reference GOLDEN frame +
Indicates whether to reference ALT_REF frame +
Indicates frame duration +
For more information about libvpx see: +http://www.webmproject.org/ +
+ +libwebp WebP Image encoder wrapper +
+libwebp is Google’s official encoder for WebP images. It can encode in either +lossy or lossless mode. Lossy images are essentially a wrapper around a VP8 +frame. Lossless images are a separate codec developed by Google. +
+ +Currently, libwebp only supports YUV420 for lossy and RGB for lossless due +to limitations of the format and libwebp. Alpha is supported for either mode. +Because of API limitations, if RGB is passed in when encoding lossy or YUV is +passed in for encoding lossless, the pixel format will automatically be +converted using functions from libwebp. This is not ideal and is done only for +convenience. +
+ +Enables/Disables use of lossless mode. Default is 0. +
+For lossy, this is a quality/speed tradeoff. Higher values give better quality +for a given size at the cost of increased encoding time. For lossless, this is +a size/speed tradeoff. Higher values give smaller size at the cost of increased +encoding time. More specifically, it controls the number of extra algorithms +and compression tools used, and varies the combination of these tools. This +maps to the method option in libwebp. The valid range is 0 to 6. +Default is 4. +
+For lossy encoding, this controls image quality. For lossless encoding, this +controls the effort and time spent in compression. +Range is 0 to 100. Default is 75. +
+Configuration preset. This does some automatic settings based on the general +type of the image. +
Do not use a preset. +
Use the encoder default. +
Digital picture, like portrait, inner shot +
Outdoor photograph, with natural lighting +
Hand or line drawing, with high-contrast details +
Small-sized colorful images +
Text-like +
x264 H.264/MPEG-4 AVC encoder wrapper. +
+This encoder requires the presence of the libx264 headers and library
+during configuration. You need to explicitly configure the build with
+--enable-libx264
.
+
libx264 supports an impressive number of features, including 8x8 and +4x4 adaptive spatial transform, adaptive B-frame placement, CAVLC/CABAC +entropy coding, interlacing (MBAFF), lossless mode, psy optimizations +for detail retention (adaptive quantization, psy-RD, psy-trellis). +
+Many libx264 encoder options are mapped to FFmpeg global codec
+options, while unique encoder options are provided through private
+options. Additionally the x264opts and x264-params
+private options allows one to pass a list of key=value tuples as accepted
+by the libx264 x264_param_parse
function.
+
The x264 project website is at +http://www.videolan.org/developers/x264.html. +
+The libx264rgb encoder is the same as libx264, except it accepts packed RGB +pixel formats as input instead of YUV. +
+ +x264 supports 8- to 10-bit color spaces. The exact bit depth is controlled at +x264’s configure time. +
+ +The following options are supported by the libx264 wrapper. The
+x264
-equivalent options or values are listed in parentheses
+for easy migration.
+
To reduce the duplication of documentation, only the private options +and some others requiring special attention are documented here. For +the documentation of the undocumented generic options, see +the Codec Options chapter. +
+To get a more accurate and extensive documentation of the libx264
+options, invoke the command x264 --fullhelp
or consult
+the libx264 documentation.
+
Set bitrate in bits/s. Note that FFmpeg’s b option is
+expressed in bits/s, while x264
’s bitrate is in
+kilobits/s.
+
Minimum quantizer scale. +
+Maximum quantizer scale. +
+Maximum difference between quantizer scales. +
+Quantizer curve blur +
+Quantizer curve compression factor +
+Number of reference frames each P-frame can use. The range is from 0-16. +
+Sets the threshold for the scene change detection. +
+Performs Trellis quantization to increase efficiency. Enabled by default. +
+Maximum range of the motion search in pixels. +
+Set motion estimation method. Possible values in the decreasing order +of speed: +
+Diamond search with radius 1 (fastest). ‘epzs’ is an alias for +‘dia’. +
Hexagonal search with radius 2. +
Uneven multi-hexagon search. +
Exhaustive search. +
Hadamard exhaustive search (slowest). +
Normally, when forcing a I-frame type, the encoder can select any type +of I-frame. This option forces it to choose an IDR-frame. +
+Sub-pixel motion estimation method. +
+Adaptive B-frame placement decision algorithm. Use only on first-pass. +
+Minimum GOP size. +
+Set entropy encoder. Possible values: +
+Enable CABAC. +
+Enable CAVLC and disable CABAC. It generates the same effect as
+x264
’s --no-cabac option.
+
Set full pixel motion estimation comparison algorithm. Possible values: +
+Enable chroma in motion estimation. +
+Ignore chroma in motion estimation. It generates the same effect as
+x264
’s --no-chroma-me option.
+
Number of encoding threads. +
+Set multithreading technique. Possible values: +
+Slice-based multithreading. It generates the same effect as
+x264
’s --sliced-threads option.
+
Frame-based multithreading. +
Set encoding flags. It can be used to disable closed GOP and enable
+open GOP by setting it to -cgop
. The result is similar to
+the behavior of x264
’s --open-gop option.
+
Set the encoding preset. +
+Set tuning of the encoding params. +
+Set profile restrictions. +
+Enable fast settings when encoding first pass, when set to 1. When set
+to 0, it has the same effect of x264
’s
+--slow-firstpass option.
+
Set the quality for constant quality mode. +
+In CRF mode, prevents VBV from lowering quality beyond this point. +
+Set constant quantization rate control method parameter. +
+Set AQ method. Possible values: +
+Disabled. +
+Variance AQ (complexity mask). +
+Auto-variance AQ (experimental). +
Set AQ strength, reduce blocking and blurring in flat and textured areas. +
+Use psychovisual optimizations when set to 1. When set to 0, it has the
+same effect as x264
’s --no-psy option.
+
Set strength of psychovisual optimization, in +psy-rd:psy-trellis format. +
+Set number of frames to look ahead for frametype and ratecontrol. +
+Enable weighted prediction for B-frames when set to 1. When set to 0,
+it has the same effect as x264
’s --no-weightb option.
+
Set weighted prediction method for P-frames. Possible values: +
+Disabled +
Enable only weighted refs +
Enable both weighted refs and duplicates +
Enable calculation and printing SSIM stats after the encoding. +
+Enable the use of Periodic Intra Refresh instead of IDR frames when set +to 1. +
+Configure the encoder to generate AVC-Intra. +Valid values are 50,100 and 200 +
+Configure the encoder to be compatible with the bluray standard. +It is a shorthand for setting "bluray-compat=1 force-cfr=1". +
+Set the influence on how often B-frames are used. +
+Set method for keeping of some B-frames as references. Possible values: +
+Disabled. +
Strictly hierarchical pyramid. +
Non-strict (not Blu-ray compatible). +
Enable the use of one reference per partition, as opposed to one
+reference per macroblock when set to 1. When set to 0, it has the
+same effect as x264
’s --no-mixed-refs option.
+
Enable adaptive spatial transform (high profile 8x8 transform)
+when set to 1. When set to 0, it has the same effect as
+x264
’s --no-8x8dct option.
+
Enable early SKIP detection on P-frames when set to 1. When set
+to 0, it has the same effect as x264
’s
+--no-fast-pskip option.
+
Enable use of access unit delimiters when set to 1. +
+Enable use macroblock tree ratecontrol when set to 1. When set
+to 0, it has the same effect as x264
’s
+--no-mbtree option.
+
Set loop filter parameters, in alpha:beta form. +
+Set fluctuations reduction in QP (before curve compression). +
+Set partitions to consider as a comma-separated list of. Possible +values in the list: +
+8x8 P-frame partition. +
4x4 P-frame partition. +
4x4 B-frame partition. +
8x8 I-frame partition. +
4x4 I-frame partition. +(Enabling ‘p4x4’ requires ‘p8x8’ to be enabled. Enabling +‘i8x8’ requires adaptive spatial transform (8x8dct +option) to be enabled.) +
Do not consider any partitions. +
Consider every partition. +
Set direct MV prediction mode. Possible values: +
+Disable MV prediction. +
Enable spatial predicting. +
Enable temporal predicting. +
Automatically decided. +
Set the limit of the size of each slice in bytes. If not specified +but RTP payload size (ps) is specified, that is used. +
+Set the file name for multi-pass stats. +
+Set signal HRD information (requires vbv-bufsize to be set). +Possible values: +
+Disable HRD information signaling. +
Variable bit rate. +
Constant bit rate (not allowed in MP4 container). +
Set any x264 option, see x264 --fullhelp
for a list.
+
Argument is a list of key=value couples separated by +":". In filter and psy-rd options that use ":" as a separator +themselves, use "," instead. They accept it as well since long ago but this +is kept undocumented for some reason. +
+For example to specify libx264 encoding options with ffmpeg
:
+
ffmpeg -i foo.mpg -c:v libx264 -x264opts keyint=123:min-keyint=20 -an out.mkv +
Import closed captions (which must be ATSC compatible format) into output. +Only the mpeg2 and h264 decoders provide these. Default is 1 (on). +
+Import user data unregistered SEI if available into output. Default is 0 (off). +
+Override the x264 configuration using a :-separated list of key=value +parameters. +
+This option is functionally the same as the x264opts, but is +duplicated for compatibility with the Libav fork. +
+For example to specify libx264 encoding options with ffmpeg
:
+
ffmpeg -i INPUT -c:v libx264 -x264-params level=30:bframes=0:weightp=0:\ +cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:\ +no-fast-pskip=1:subq=6:8x8dct=0:trellis=0 OUTPUT +
Encoding ffpresets for common usages are provided so they can be used with the +general presets system (e.g. passing the pre option). +
+ +x265 H.265/HEVC encoder wrapper. +
+This encoder requires the presence of the libx265 headers and library +during configuration. You need to explicitly configure the build with +--enable-libx265. +
+ +Sets target video bitrate. +
+Set the GOP size. +
+Minimum GOP size. +
+Number of reference frames each P-frame can use. The range is from 1-16. +
+Set the x265 preset. +
+Set the x265 tune parameter. +
+Set profile restrictions. +
+Set the quality for constant quality mode. +
+Set constant quantization rate control method parameter. +
+Minimum quantizer scale. +
+Maximum quantizer scale. +
+Maximum difference between quantizer scales. +
+Quantizer curve blur +
+Quantizer curve compression factor +
+Normally, when forcing a I-frame type, the encoder can select any type +of I-frame. This option forces it to choose an IDR-frame. +
+Import user data unregistered SEI if available into output. Default is 0 (off). +
+Set x265 options using a list of key=value couples separated
+by ":". See x265 --help
for a list of options.
+
For example to specify libx265 encoding options with -x265-params: +
+ffmpeg -i input -c:v libx265 -x265-params crf=26:psy-rd=1 output.mp4 +
xavs2 AVS2-P2/IEEE1857.4 encoder wrapper. +
+This encoder requires the presence of the libxavs2 headers and library +during configuration. You need to explicitly configure the build with +--enable-libxavs2. +
+The following standard libavcodec options are used: +
The encoder also has its own specific options: +
+Set the number of parallel threads for rows from 1 to 8 (default 5). +
+Set the xavs2 quantization parameter from 1 to 63 (default 34). This is +used to set the initial qp for the first frame. +
+Set the xavs2 quantization parameter from 1 to 63 (default 34). This is +used to set the qp value under constant-QP mode. +
+Set the max qp for rate control from 1 to 63 (default 55). +
+Set the min qp for rate control from 1 to 63 (default 20). +
+Set the Speed level from 0 to 9 (default 0). Higher is better but slower. +
+Set the log level from -1 to 3 (default 0). -1: none, 0: error, +1: warning, 2: info, 3: debug. +
+Set xavs2 options using a list of key=value couples separated +by ":". +
+For example to specify libxavs2 encoding options with -xavs2-params: +
+ffmpeg -i input -c:v libxavs2 -xavs2-params RdoqLevel=0 output.avs2 +
Xvid MPEG-4 Part 2 encoder wrapper. +
+This encoder requires the presence of the libxvidcore headers and library
+during configuration. You need to explicitly configure the build with
+--enable-libxvid --enable-gpl
.
+
The native mpeg4
encoder supports the MPEG-4 Part 2 format, so
+users can encode to this format without this library.
+
The following options are supported by the libxvid wrapper. Some of +the following options are listed but are not documented, and +correspond to shared codec options. See the Codec +Options chapter for their documentation. The other shared options +which are not listed have no effect for the libxvid encoder. +
+Set specific encoding flags. Possible values: +
+Use four motion vector by macroblock. +
+Enable high quality AC prediction. +
+Only encode grayscale. +
+Enable the use of global motion compensation (GMC). +
+Enable quarter-pixel motion compensation. +
+Enable closed GOP. +
+Place global headers in extradata instead of every keyframe. +
+Set motion estimation method. Possible values in decreasing order of +speed and increasing order of quality: +
+Use no motion estimation (default). +
+Enable advanced diamond zonal search for 16x16 blocks and half-pixel +refinement for 16x16 blocks. ‘x1’ and ‘log’ are aliases for +‘phods’. +
+Enable all of the things described above, plus advanced diamond zonal +search for 8x8 blocks, half-pixel refinement for 8x8 blocks, and motion +estimation on chroma planes. +
+Enable all of the things described above, plus extended 16x16 and 8x8 +blocks search. +
Set macroblock decision algorithm. Possible values in the increasing +order of quality: +
+Use macroblock comparing function algorithm (default). +
+Enable rate distortion-based half pixel and quarter pixel refinement for +16x16 blocks. +
+Enable all of the things described above, plus rate distortion-based +half pixel and quarter pixel refinement for 8x8 blocks, and rate +distortion-based search using square pattern. +
Enable lumi masking adaptive quantization when set to 1. Default is 0 +(disabled). +
+Enable variance adaptive quantization when set to 1. Default is 0 +(disabled). +
+When combined with lumi_aq, the resulting quality will not +be better than any of the two specified individually. In other +words, the resulting quality will be the worse one of the two +effects. +
+Set structural similarity (SSIM) displaying method. Possible values: +
+Disable displaying of SSIM information. +
+Output average SSIM at the end of encoding to stdout. The format of +showing the average SSIM is: +
+Average SSIM: %f +
For users who are not familiar with C, %f means a float number, or +a decimal (e.g. 0.939232). +
+Output both per-frame SSIM data during encoding and average SSIM at +the end of encoding to stdout. The format of per-frame information +is: +
+SSIM: avg: %1.3f min: %1.3f max: %1.3f +
For users who are not familiar with C, %1.3f means a float number +rounded to 3 digits after the dot (e.g. 0.932). +
+Set SSIM accuracy. Valid options are integers within the range of +0-4, while 0 gives the most accurate result and 4 computes the +fastest. +
+This provides wrappers to encoders (both audio and video) in the +MediaFoundation framework. It can access both SW and HW encoders. +Video encoders can take input in either of nv12 or yuv420p form +(some encoders support both, some support only either - in practice, +nv12 is the safer choice, especially among HW encoders). +
+ +MPEG-2 video encoder. +
+ +Select the mpeg2 profile to encode: +
+Spatially Scalable +
SNR Scalable +
Select the mpeg2 level to encode: +
+Specifies if the encoder should write a sequence_display_extension to the +output. +
Decide automatically to write it or not (this is the default) by checking if +the data to be written is different from the default or unspecified values. +
Never write it. +
Always write it. +
Specifies the video_format written into the sequence display extension +indicating the source of the video pictures. The default is ‘unspecified’, +can be ‘component’, ‘pal’, ‘ntsc’, ‘secam’ or ‘mac’. +For maximum compatibility, use ‘component’. +
Import closed captions (which must be ATSC compatible format) into output. +Default is 1 (on). +
PNG image encoder. +
+ +Set physical density of pixels, in dots per inch, unset by default +
Set physical density of pixels, in dots per meter, unset by default +
Apple ProRes encoder. +
+FFmpeg contains 2 ProRes encoders, the prores-aw and prores-ks encoder.
+The used encoder can be chosen with the -vcodec
option.
+
Select the ProRes profile to encode +
Select quantization matrix. +
If set to auto, the matrix matching the profile will be picked. +If not set, the matrix providing the highest quality, default, will be +picked. +
+How many bits to allot for coding one macroblock. Different profiles use +between 200 and 2400 bits per macroblock, the maximum is 8000. +
+Number of macroblocks in each slice (1-8); the default value (8) +should be good in almost all situations. +
+Override the 4-byte vendor ID. +A custom vendor ID like apl0 would claim the stream was produced by +the Apple encoder. +
+Specify number of bits for alpha component. +Possible values are 0, 8 and 16. +Use 0 to disable alpha plane coding. +
+In the default mode of operation the encoder has to honor frame constraints +(i.e. not produce frames with size bigger than requested) while still making +output picture as good as possible. +A frame containing a lot of small details is harder to compress and the encoder +would spend more time searching for appropriate quantizers for each slice. +
+Setting a higher bits_per_mb limit will improve the speed. +
+For the fastest encoding speed set the qscale parameter (4 is the +recommended value) and do not set a size constraint. +
+ +The family of Intel QuickSync Video encoders (MPEG-2, H.264, HEVC, JPEG/MJPEG +and VP9) +
+ +The ratecontrol method is selected as follows: +
Note that depending on your system, a different mode than the one you specified +may be selected by the encoder. Set the verbosity level to verbose or +higher to see the actual settings used by the QSV runtime. +
+ +Additional libavcodec global options are mapped to MSDK options as follows: +
+Following options are used by all qsv encoders. +
+Specifies how many asynchronous operations an application performs +before the application explicitly synchronizes the result. If zero, +the value is not specified. +
+This option itemizes a range of choices from veryfast (best speed) to veryslow +(best quality). +
Forcing I frames as IDR frames. +
+For encoders set this flag to ON to reduce power consumption and GPU usage. +
Following options can be used durning qsv encoding. +
+Supported in h264_qsv and hevc_qsv. +Change these value to reset qsv codec’s qp configuration. +
+Supported in h264_qsv and hevc_qsv. +Change this value to reset qsv codec’s MaxFrameSize configuration. +
+Change this value to reset qsv codec’s gop configuration. +
+Supported in h264_qsv and hevc_qsv. +Change these value to reset qsv codec’s Intra Refresh configuration. +
+Supported in h264_qsv. +Change these value to reset qsv codec’s max/min qp configuration. +
+Supported in h264_qsv and hevc_qsv. +Change this value to reset qsv codec’s low_delay_brc configuration. +
+Change this value to reset qsv codec’s framerate configuration. +
+Change these value to reset qsv codec’s bitrate control configuration. +
+Supported in h264_qsv and hevc_qsv. +Change this value to reset qsv codec’s pic_timing_sei configuration. +
These options are used by h264_qsv +
+Extended bitrate control. +
+Set this flag to insert the recovery point SEI message at the beginning of every +intra refresh cycle. +
+Enable rate distortion optimization. +
+Maximum encoded frame size in bytes. +
+Maximum encoded frame size for I frames in bytes. If this value is set as larger +than zero, then for I frames the value set by max_frame_size is ignored. +
+Maximum encoded frame size for P frames in bytes. If this value is set as larger +than zero, then for P frames the value set by max_frame_size is ignored. +
+Maximum encoded slice size in bytes. +
+Toggle bitrate limitations. +Modifies bitrate to be in the range imposed by the QSV encoder. Setting this +flag off may lead to violation of HRD conformance. Mind that specifying bitrate +below the QSV encoder range might significantly affect quality. If on this +option takes effect in non CQP modes: if bitrate is not in the range imposed +by the QSV encoder, it will be changed to be in the range. +
+Setting this flag enables macroblock level bitrate control that generally +improves subjective visual quality. Enabling this flag may have negative impact +on performance and objective visual quality metric. +
+Setting this flag turns on or off LowDelayBRC feautre in qsv plugin, which provides +more accurate bitrate control to minimize the variance of bitstream size frame +by frame. Value: -1-default 0-off 1-on +
+This flag controls insertion of I frames by the QSV encoder. Turn ON this flag +to allow changing of frame type from P and B to I. +
+This flag controls changing of frame type from B to P. +
+Enable P-pyramid: 0-default 1-simple 2-pyramid(bf need to be set to 0). +
+This option controls usage of B frames as reference. +
+This option disable deblocking. It has value in range 0~2. +
+If set, CAVLC is used; if unset, CABAC is used for encoding. +
+Video conferencing mode, please see ratecontrol method. +
+Distance (in I-frames) between IDR frames. +
+Insert picture timing SEI with pic_struct_syntax element. +
+Put all the SEI messages into one NALU. +
+Maximum number of frames buffered in the DPB. +
+Use VBR algorithm with look ahead. +
+Depth of look ahead in number frames. +
+Downscaling factor for the frames saved for the lookahead analysis. +
Specifies intra refresh type. The major goal of intra refresh is improvement of +error resilience without significant impact on encoded bitstream size caused by +I frames. The SDK encoder achieves this by encoding part of each frame in +refresh cycle using intra MBs. none means no refresh. vertical means +vertical refresh, by column of MBs. horizontal means horizontal refresh, +by rows of MBs. slice means horizontal refresh by slices without +overlapping. In case of slice, in_ref_cycle_size is ignored. To enable +intra refresh, B frame should be set to 0. +
+Specifies number of pictures within refresh cycle starting from 2. 0 and 1 are +invalid values. +
+Specifies QP difference for inserted intra MBs. This is signed value in +[-51, 51] range if target encoding bit-depth for luma samples is 8 and this +range is [-63, 63] for 10 bit-depth or [-75, 75] for 12 bit-depth respectively. +
+Distance between the beginnings of the intra-refresh cycles in frames. +
+Use A53 Closed Captions (if available). +
+Insert the Access Unit Delimiter NAL. +
+Multi-Frame Mode. +
Repeat pps for every frame. +
+Maximum video quantizer scale for I frame. +
+Minimum video quantizer scale for I frame. +
+Maximum video quantizer scale for P frame. +
+Minimum video quantizer scale for P frame. +
+Maximum video quantizer scale for B frame. +
+Minimum video quantizer scale for B frame. +
+Provides a hint to encoder about the scenario for the encoding session. +
Accuracy of the AVBR ratecontrol (unit of tenth of percent). +
+Convergence of the AVBR ratecontrol (unit of 100 frames) +
+The parameters avbr_accuracy and avbr_convergence are for the +average variable bitrate control (AVBR) algorithm. +The algorithm focuses on overall encoding quality while meeting the specified +bitrate, target_bitrate, within the accuracy range avbr_accuracy, +after a avbr_Convergence period. This method does not follow HRD and the +instant bitrate is not capped or padded. +
+Use per-frame metadata "qsv_skip_frame" to skip frame when encoding. This option +defines the usage of this metadata. +
Frame skipping is disabled. +
Encoder inserts into bitstream frame where all macroblocks are encoded as +skipped. +
Similar to insert_dummy, but encoder inserts nothing into bitstream. The skipped +frames are still used in brc. For example, gop still include skipped frames, and +the frames after skipped frames will be larger in size. +
skip_frame metadata indicates the number of missed frames before the current +frame. +
These options are used by hevc_qsv +
+Extended bitrate control. +
+Set this flag to insert the recovery point SEI message at the beginning of every +intra refresh cycle. +
+Enable rate distortion optimization. +
+Maximum encoded frame size in bytes. +
+Maximum encoded frame size for I frames in bytes. If this value is set as larger +than zero, then for I frames the value set by max_frame_size is ignored. +
+Maximum encoded frame size for P frames in bytes. If this value is set as larger +than zero, then for P frames the value set by max_frame_size is ignored. +
+Maximum encoded slice size in bytes. +
+Setting this flag enables macroblock level bitrate control that generally +improves subjective visual quality. Enabling this flag may have negative impact +on performance and objective visual quality metric. +
+Setting this flag turns on or off LowDelayBRC feautre in qsv plugin, which provides +more accurate bitrate control to minimize the variance of bitstream size frame +by frame. Value: -1-default 0-off 1-on +
+This flag controls insertion of I frames by the QSV encoder. Turn ON this flag +to allow changing of frame type from P and B to I. +
+This flag controls changing of frame type from B to P. +
+Enable P-pyramid: 0-default 1-simple 2-pyramid(bf need to be set to 0). +
+This option controls usage of B frames as reference. +
+This option disable deblocking. It has value in range 0~2. +
+Distance (in I-frames) between IDR frames. +
Output an IDR-frame only at the beginning of the stream. +
A user plugin to load in an internal session. +
A :-separate list of hexadecimal plugin UIDs to load in +an internal session. +
+Depth of look ahead in number frames, available when extbrc option is enabled. +
+Set the encoding profile (scc requires libmfx >= 1.32). +
+Set the encoding tier (only level >= 4 can support high tier). +This option only takes effect when the level option is specified. +
+1: GPB (generalized P/B frame) +
+0: regular P frame. +
+Number of columns for tiled encoding. +
+Number of rows for tiled encoding. +
+Insert the Access Unit Delimiter NAL. +
+Insert picture timing SEI with pic_struct_syntax element. +
+Turn this option ON to enable transformskip. It is supported on platform equal +or newer than ICL. +
+Specifies intra refresh type. The major goal of intra refresh is improvement of +error resilience without significant impact on encoded bitstream size caused by +I frames. The SDK encoder achieves this by encoding part of each frame in +refresh cycle using intra MBs. none means no refresh. vertical means +vertical refresh, by column of MBs. horizontal means horizontal refresh, +by rows of MBs. slice means horizontal refresh by slices without +overlapping. In case of slice, in_ref_cycle_size is ignored. To enable +intra refresh, B frame should be set to 0. +
+Specifies number of pictures within refresh cycle starting from 2. 0 and 1 are +invalid values. +
+Specifies QP difference for inserted intra MBs. This is signed value in +[-51, 51] range if target encoding bit-depth for luma samples is 8 and this +range is [-63, 63] for 10 bit-depth or [-75, 75] for 12 bit-depth respectively. +
+Distance between the beginnings of the intra-refresh cycles in frames. +
+Maximum video quantizer scale for I frame. +
+Minimum video quantizer scale for I frame. +
+Maximum video quantizer scale for P frame. +
+Minimum video quantizer scale for P frame. +
+Maximum video quantizer scale for B frame. +
+Minimum video quantizer scale for B frame. +
+Provides a hint to encoder about the scenario for the encoding session. +
Accuracy of the AVBR ratecontrol (unit of tenth of percent). +
+Convergence of the AVBR ratecontrol (unit of 100 frames) +
+The parameters avbr_accuracy and avbr_convergence are for the +average variable bitrate control (AVBR) algorithm. +The algorithm focuses on overall encoding quality while meeting the specified +bitrate, target_bitrate, within the accuracy range avbr_accuracy, +after a avbr_Convergence period. This method does not follow HRD and the +instant bitrate is not capped or padded. +
+Use per-frame metadata "qsv_skip_frame" to skip frame when encoding. This option +defines the usage of this metadata. +
Frame skipping is disabled. +
Encoder inserts into bitstream frame where all macroblocks are encoded as +skipped. +
Similar to insert_dummy, but encoder inserts nothing into bitstream. The skipped +frames are still used in brc. For example, gop still include skipped frames, and +the frames after skipped frames will be larger in size. +
skip_frame metadata indicates the number of missed frames before the current +frame. +
These options are used by mpeg2_qsv +
These options are used by vp9_qsv +
Number of columns for tiled encoding (requires libmfx >= 1.29). +
+Number of rows for tiled encoding (requires libmfx >= 1.29). +
These options are used by av1_qsv (requires libvpl). +
Number of columns for tiled encoding. +
+Number of rows for tiled encoding. +
+This flag controls insertion of I frames by the QSV encoder. Turn ON this flag +to allow changing of frame type from P and B to I. +
+This flag controls changing of frame type from B to P. +
+This option controls usage of B frames as reference. +
+Extended bitrate control. +
+Depth of look ahead in number frames, available when extbrc option is enabled. +
dia size for the iterative motion estimation +
Wrappers for hardware encoders accessible via VAAPI. +
+These encoders only accept input in VAAPI hardware surfaces. If you have input +in software frames, use the hwupload filter to upload them to the GPU. +
+The following standard libavcodec options are used: +
If not set, this will be determined automatically from the format of the input +frames and the profiles supported by the driver. +
Speed / quality tradeoff: higher values are faster / worse quality. +
Size / quality tradeoff: higher values are smaller / worse quality. +
All encoders support the following options: +
Some drivers/platforms offer a second encoder for some codecs intended to use +less power than the default encoder; setting this option will attempt to use +that encoder. Note that it may support a reduced feature set, so some other +options may not be available in this mode. +
+Set the number of normal intra frames between full-refresh (IDR) frames in +open-GOP mode. The intra frames are still IRAPs, but will not include global +headers and may have non-decodable leading pictures. +
+Set the B-frame reference depth. When set to one (the default), all B-frames +will refer only to P- or I-frames. When set to greater values multiple layers +of B-frames will be present, frames in each layer only referring to frames in +higher layers. +
+Maximum processing parallelism. Increase this to improve single channel +performance. This option doesn’t work if driver doesn’t implement vaSyncBuffer +function. Please make sure there are enough hw_frames allocated if a large +number of async_depth is used. +
+Set the allowed max size in bytes for each frame. If the frame size exceeds +the limitation, encoder will adjust the QP value to control the frame size. +Invalid in CQP rate control mode. +
+Set the rate control mode to use. A given driver may only support a subset of +modes. +
+Possible modes: +
Choose the mode automatically based on driver support and the other options. +This is the default. +
Constant-quality. +
Constant-bitrate. +
Variable-bitrate. +
Intelligent constant-quality. +
Quality-defined variable-bitrate. +
Average variable bitrate. +
Each encoder also has its own specific options: +
profile sets the value of profile_idc and the constraint_set*_flags. +level sets the value of level_idc. +
+Set entropy encoder (default is cabac). Possible values: +
+Use CABAC. +
+Use CAVLC. +
Include access unit delimiters in the stream (not included by default). +
+Set SEI message types to include. +Some combination of the following values: +
Include a user_data_unregistered message containing information about +the encoder. +
Include picture timing parameters (buffering_period and +pic_timing messages). +
Include recovery points where appropriate (recovery_point messages). +
profile and level set the values of +general_profile_idc and general_level_idc respectively. +
+Include access unit delimiters in the stream (not included by default). +
+Set general_tier_flag. This may affect the level chosen for the stream +if it is not explicitly specified. +
+Set SEI message types to include. +Some combination of the following values: +
Include HDR metadata if the input frames have it +(mastering_display_colour_volume and content_light_level +messages). +
Set the number of tiles to encode the input video with, as columns x rows. +Larger numbers allow greater parallelism in both encoding and decoding, but +may decrease coding efficiency. +
+Only baseline DCT encoding is supported. The encoder always uses the standard +quantisation and huffman tables - global_quality scales the standard +quantisation table (range 1-100). +
+For YUV, 4:2:0, 4:2:2 and 4:4:4 subsampling modes are supported. RGB is also +supported, and will create an RGB JPEG. +
+Include JFIF header in each frame (not included by default). +
Include standard huffman tables (on by default). Turning this off will save +a few hundred bytes in each output frame, but may lose compatibility with some +JPEG decoders which don’t fully handle MJPEG. +
profile and level set the value of profile_and_level_indication. +
+B-frames are not supported. +
+global_quality sets the q_idx used for non-key frames (range 0-127). +
+Manually set the loop filter parameters. +
global_quality sets the q_idx used for P-frames (range 0-255). +
+Manually set the loop filter parameters. +
B-frames are supported, but the output stream is always in encode order rather than display +order. If B-frames are enabled, it may be necessary to use the vp9_raw_reorder +bitstream filter to modify the output stream to display frames in the correct order. +
+Only normal frames are produced - the vp9_superframe bitstream filter may be +required to produce a stream usable with all decoders. +
+Vizrt Binary Image encoder. +
+This format is used by the broadcast vendor Vizrt for quick texture streaming. +Advanced features of the format such as LZW compression of texture data or +generation of mipmaps are not supported. +
+ +Sets the texture compression used by the VBN file. Can be dxt1, +dxt5 or raw. Default is dxt5. +
SMPTE VC-2 (previously BBC Dirac Pro). This codec was primarily aimed at +professional broadcasting but since it supports yuv420, yuv422 and yuv444 at +8 (limited range or full range), 10 or 12 bits, this makes it suitable for +other tasks which require low overhead and low compression (like screen +recording). +
+ +Sets target video bitrate. Usually that’s around 1:6 of the uncompressed +video bitrate (e.g. for 1920x1080 50fps yuv422p10 that’s around 400Mbps). Higher +values (close to the uncompressed bitrate) turn on lossless compression mode. +
+Enables field coding when set (e.g. to tt - top field first) for interlaced +inputs. Should increase compression with interlaced content as it splits the +fields and encodes each separately. +
+Sets the total amount of wavelet transforms to apply, between 1 and 5 (default). +Lower values reduce compression and quality. Less capable decoders may not be +able to handle values of wavelet_depth over 3. +
+Sets the transform type. Currently only 5_3 (LeGall) and 9_7 +(Deslauriers-Dubuc) +are implemented, with 9_7 being the one with better compression and thus +is the default. +
+Sets the slice size for each slice. Larger values result in better compression. +For compatibility with other more limited decoders use slice_width of +32 and slice_height of 8. +
+Sets the undershoot tolerance of the rate control system in percent. This is +to prevent an expensive search from being run. +
+Sets the quantization matrix preset to use by default or when wavelet_depth +is set to 5 +
This codec encodes the bitmap subtitle format that is used in DVDs. +Typically they are stored in VOBSUB file pairs (*.idx + *.sub), +and they can also be used in Matroska files. +
+ +Specify the global palette used by the bitmaps. +
+The format for this option is a string containing 16 24-bits hexadecimal
+numbers (without 0x prefix) separated by commas, for example 0d00ee,
+ee450d, 101010, eaeaea, 0ce60b, ec14ed, ebff0b, 0d617a, 7b7b7b, d1d1d1,
+7b2a0e, 0d950c, 0f007b, cf0dec, cfa80c, 7c127b
.
+
When set to 1, enable a work-around that makes the number of pixel rows +even in all subtitles. This fixes a problem with some players that +cut off the bottom row if the number is odd. The work-around just adds +a fully transparent row if needed. The overhead is low, typically +one byte per subtitle on average. +
+By default, this work-around is disabled. +
ffmpeg, ffplay, ffprobe, +libavcodec +
+ + +The FFmpeg developers. +
+For details about the authorship, see the Git history of the project
+(git://source.ffmpeg.org/ffmpeg), e.g. by typing the command
+git log
in the FFmpeg source directory, or browsing the
+online repository at http://source.ffmpeg.org.
+
Maintainers for the specific components are listed in the file +MAINTAINERS in the source code tree. +
+ ++ This document was generated using makeinfo. +
+