MAN page from Rawhide libav-avconv-12.1-7.245.x86_64.rpm
AVCONV
Section: (1)
Updated: 2018-09-25
Index NAME
avconv - avconv video converter
SYNOPSIS
avconv [global options] [[infile options][
-i infile]]... {[outfile options]
outfile}...
DESCRIPTION
avconv is a very fast video and audio converter that can also grab froma live audio/video source. It can also convert between arbitrary samplerates and resize video on the fly with a high quality polyphase filter.
avconv reads from an arbitrary number of input ``files'' (which can be regularfiles, pipes, network streams, grabbing devices, etc.), specified by the"-i" option, and writes to an arbitrary number of output ``files'', which arespecified by a plain output filename. Anything found on the command line whichcannot be interpreted as an option is considered to be an output filename.
Each input or output file can in principle contain any number of streams ofdifferent types (video/audio/subtitle/attachment/data). Allowed number and/ortypes of streams can be limited by the container format. Selecting, whichstreams from which inputs go into output, is done either automatically or withthe "-map" option (see the Stream selection chapter).
To refer to input files in options, you must use their indices (0-based). E.g.the first input file is 0, the second is 1 etc. Similarly, streamswithin a file are referred to by their indices. E.g. "2:3" refers to thefourth stream in the third input file. See also the Stream specifiers chapter.
As a general rule, options are applied to the next specifiedfile. Therefore, order is important, and you can have the sameoption on the command line multiple times. Each occurrence isthen applied to the next input or output file.Exceptions from this rule are the global options (e.g. verbosity level),which should be specified first.
Do not mix input and output files --- first specify all input files, then alloutput files. Also do not mix options which belong to different files. Alloptions apply ONLY to the next input or output file and are reset between files.
- *
- To set the video bitrate of the output file to 64kbit/s:
avconv -i input.avi -b 64k output.avi
- *
- To force the frame rate of the output file to 24 fps:
avconv -i input.avi -r 24 output.avi
- *
- To force the frame rate of the input file (valid for raw formats only)to 1 fps and the frame rate of the output file to 24 fps:
avconv -r 1 -i input.m2v -r 24 output.avi
The format option may be needed for raw input files.
DETAILED DESCRIPTION
The transcoding process in
avconv for each output can be described bythe following diagram:
_______ ______________ | | | | | input | demuxer | encoded data | decoder | file | ---------> | packets | -----+ |_______| |______________| | v _________ | | | decoded | | frames | |_________| ________ ______________ | | | | | | | output | <-------- | encoded data | <----+ | file | muxer | packets | encoder |________| |______________|
avconv calls the libavformat library (containing demuxers) to readinput files and get packets containing encoded data from them. When there aremultiple input files, avconv tries to keep them synchronized bytracking lowest timestamp on any active input stream.
Encoded packets are then passed to the decoder (unless streamcopy is selectedfor the stream, see further for a description). The decoder producesuncompressed frames (raw video/PCM audio/...) which can be processed further byfiltering (see next section). After filtering the frames are passed to theencoder, which encodes them and outputs encoded packets again. Finally those arepassed to the muxer, which writes the encoded packets to the output file.
Filtering
Before encoding,
avconv can process raw audio and video frames usingfilters from the libavfilter library. Several chained filters form a filtergraph.
avconv distinguishes between two types of filtergraphs -simple and complex.
Simple filtergraphs
Simple filtergraphs are those that have exactly one input and output, both ofthe same type. In the above diagram they can be represented by simply insertingan additional step between decoding and encoding:
_________ ______________ | | | | | decoded | | encoded data | | frames |\ /| packets | |_________| \ / |______________| \ __________ / simple \ | | / encoder filtergraph \| filtered |/ | frames | |__________|
Simple filtergraphs are configured with the per-stream -filter option(with -vf and -af aliases for video and audio respectively).A simple filtergraph for video can look for example like this:
_______ _____________ _______ ________ | | | | | | | | | input | ---> | deinterlace | ---> | scale | ---> | output | |_______| |_____________| |_______| |________|
Note that some filters change frame properties but not frame contents. E.g. the"fps" filter in the example above changes number of frames, but does nottouch the frame contents. Another example is the "setpts" filter, whichonly sets timestamps and otherwise passes the frames unchanged.
Complex filtergraphs
Complex filtergraphs are those which cannot be described as simply a linearprocessing chain applied to one stream. This is the case e.g. when the graph hasmore than one input and/or output, or when output stream type is different frominput. They can be represented with the following diagram:
_________ | | | input 0 |\ __________ |_________| \ | | \ _________ /| output 0 | \ | | / |__________| _________ \| complex | / | | | |/ | input 1 |---->| filter |\ |_________| | | \ __________ /| graph | \ | | / | | \| output 1 | _________ / |_________| |__________| | | / | input 2 |/ |_________|
Complex filtergraphs are configured with the -filter_complex option.Note that this option is global, since a complex filtergraph by its naturecannot be unambiguously associated with a single stream or file.
A trivial example of a complex filtergraph is the "overlay" filter, whichhas two video inputs and one video output, containing one video overlaid on topof the other. Its audio counterpart is the "amix" filter.
Stream copy
Stream copy is a mode selected by supplying the
"copy" parameter to the
-codec option. It makes
avconv omit the decoding and encodingstep for the specified stream, so it does only demuxing and muxing. It is usefulfor changing the container format or modifying container-level metadata. Thediagram above will in this case simplify to this:
_______ ______________ ________ | | | | | | | input | demuxer | encoded data | muxer | output | | file | ---------> | packets | -------> | file | |_______| |______________| |________|
Since there is no decoding or encoding, it is very fast and there is no qualityloss. However it might not work in some cases because of many factors. Applyingfilters is obviously also impossible, since filters work on uncompressed data.
STREAM SELECTION
By default avconv tries to pick the ``best'' stream of each type present in inputfiles and add them to each output file. For video, this means the highestresolution, for audio the highest channel count. For subtitle it's simply thefirst subtitle stream.
You can disable some of those defaults by using "-vn/-an/-sn" options. Forfull manual control, use the "-map" option, which disables the defaults justdescribed.
OPTIONS
All the numerical options, if not specified otherwise, accept in inputa string representing a number, which may contain one of the
SI unit prefixes, for example 'K', 'M', 'G'.If 'i' is appended after the prefix, binary prefixes are used,which are based on powers of 1024 instead of powers of 1000.The 'B' postfix multiplies the value by 8, and can beappended after a unit prefix or used alone. This allows using forexample '
KB', 'MiB', 'G' and 'B' as number postfix.
Options which do not take arguments are boolean options, and set thecorresponding value to true. They can be set to false by prefixingwith ``no'' the option name, for example using ``-nofoo'' in thecommand line will set to false the boolean option with name ``foo''.
Stream specifiers
Some options are applied per-stream, e.g. bitrate or codec. Stream specifiersare used to precisely specify which stream(s) does a given option belong to.
A stream specifier is a string generally appended to the option name andseparated from it by a colon. E.g. "-codec:a:1 ac3" option contains"a:1" stream specifier, which matches the second audio stream. Therefore itwould select the ac3 codec for the second audio stream.
A stream specifier can match several stream, the option is then applied to allof them. E.g. the stream specifier in "-b:a 128k" matches all audiostreams.
An empty stream specifier matches all streams, for example "-codec copy"or "-codec: copy" would copy all the streams without reencoding.
Possible forms of stream specifiers are:
- stream_index
- Matches the stream with this index. E.g. "-threads:1 4" would set thethread count for the second stream to 4.
- stream_type[:stream_index]
- stream_type is one of: 'v' for video, 'a' for audio, 's' for subtitle,'d' for data and 't' for attachments. If stream_index is given, thenmatches stream number stream_index of this type. Otherwise matches allstreams of this type.
- p:program_id[:stream_index]
- If stream_index is given, then matches stream number stream_index inprogram with id program_id. Otherwise matches all streams in this program.
- i:stream_id
- Match the stream by stream id (e.g. PID in MPEG-TS container).
- m:key[:value]
- Matches streams with the metadata tag key having the specified value. Ifvalue is not given, matches streams that contain the given tag with anyvalue.
- u
- Matches streams with usable configuration, the codec must be defined and theessential information such as video dimension or audio sample rate must be present.
Note that in avconv, matching by metadata will only work properly forinput files.
Generic options
These options are shared amongst the av* tools.
- -L
- Show license.
- -h, -?, -help, --help [arg]
- Show help. An optional parameter may be specified to print help about a specificitem.
Possible values of arg are:
- decoder=decoder_name
- Print detailed information about the decoder named decoder_name. Use the-decoders option to get a list of all decoders.
- encoder=encoder_name
- Print detailed information about the encoder named encoder_name. Use the-encoders option to get a list of all encoders.
- demuxer=demuxer_name
- Print detailed information about the demuxer named demuxer_name. Use the-formats option to get a list of all demuxers and muxers.
- muxer=muxer_name
- Print detailed information about the muxer named muxer_name. Use the-formats option to get a list of all muxers and demuxers.
- filter=filter_name
- Print detailed information about the filter name filter_name. Use the-filters option to get a list of all filters.
- -version
- Show version.
- -formats
- Show available formats.
The fields preceding the format names have the following meanings:
- D
- Decoding available
- E
- Encoding available
- -codecs
- Show all codecs known to libavcodec.
Note that the term 'codec' is used throughout this documentation as a shortcutfor what is more correctly called a media bitstream format.
- -decoders
- Show available decoders.
- -encoders
- Show all available encoders.
- -bsfs
- Show available bitstream filters.
- -protocols
- Show available protocols.
- -filters
- Show available libavfilter filters.
- -pix_fmts
- Show available pixel formats.
- -sample_fmts
- Show available sample formats.
- -loglevel loglevel | -v loglevel
- Set the logging level used by the library.loglevel is a number or a string containing one of the following values:
- quiet
- panic
- fatal
- error
- warning
- info
- verbose
- debug
- trace
By default the program logs to stderr, if coloring is supported by theterminal, colors are used to mark errors and warnings. Log coloringcan be disabled setting the environment variableAV_LOG_FORCE_NOCOLOR or NO_COLOR, or can be forced settingthe environment variable AV_LOG_FORCE_COLOR.The use of the environment variable NO_COLOR is deprecated andwill be dropped in a following Libav version.
- -cpuflags mask (global)
- Set a mask that's applied to autodetected CPU flags. This option is intendedfor testing. Do not use it unless you know what you're doing.
AVOptions
These options are provided directly by the libavformat, libavdevice andlibavcodec libraries. To see the list of available AVOptions, use the
-help option. They are separated into two categories:
- generic
- These options can be set for any container, codec or device. Generic optionsare listed under AVFormatContext options for containers/devices and underAVCodecContext options for codecs.
- private
- These options are specific to the given container, device or codec. Privateoptions are listed under their corresponding containers/devices/codecs.
For example to write an ID3v2.3 header instead of a default ID3v2.4 toan MP3 file, use the id3v2_version private option of the MP3muxer:
avconv -i input.flac -id3v2_version 3 out.mp3
All codec AVOptions are obviously per-stream, so the chapter on streamspecifiers applies to them
Note -nooption syntax cannot be used for boolean AVOptions,use -option 0/-option 1.
Note2 old undocumented way of specifying per-stream AVOptions by prependingv/a/s to the options name is now obsolete and will be removed soon.
Codec AVOptions
- -b[:stream_specifier] integer (output,audio,video)
- set bitrate (in bits/s)
- -bt[:stream_specifier] integer (output,video)
- 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 minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality.
- -flags[:stream_specifier] flags (input/output,audio,video)
- Possible values:
- unaligned
- allow decoders to produce unaligned output
- mv4
- use four motion vectors per macroblock (MPEG-4)
- qpel
- use 1/4-pel motion compensation
- loop
- use loop filter
- qscale
- use fixed qscale
- gmc
- use gmc
- mv0
- always try a mb with mv=<0,0>
- input_preserved
- pass1
- use internal 2-pass ratecontrol in first pass mode
- pass2
- use internal 2-pass ratecontrol in second pass mode
- gray
- only decode/encode grayscale
- emu_edge
- do not draw edges
- psnr
- error[?] variables will be set during encoding
- truncated
- naq
- normalize adaptive quantization
- ildct
- use interlaced DCT
- low_delay
- force low delay
- global_header
- place global headers in extradata instead of every keyframe
- bitexact
- use only bitexact functions (except (I)DCT)
- aic
- H.263 advanced intra coding / MPEG-4 AC prediction
- ilme
- interlaced motion estimation
- cgop
- closed GOP
- output_corrupt
- Output even potentially corrupted frames
- -me_method[:stream_specifier] integer (output,video)
- set motion estimation method
Possible values:
- zero
- zero motion estimation (fastest)
- full
- full motion estimation (slowest)
- epzs
- EPZS motion estimation (default)
- esa
- esa motion estimation (alias for full)
- tesa
- tesa motion estimation
- dia
- diamond motion estimation (alias for EPZS)
- log
- log motion estimation
- phods
- phods motion estimation
- x1
- X1 motion estimation
- hex
- hex motion estimation
- umh
- umh motion estimation
- -g[:stream_specifier] integer (output,video)
- set the group of picture (GOP) size
- -ar[:stream_specifier] integer (input/output,audio)
- set audio sampling rate (in Hz)
- -ac[:stream_specifier] integer (input/output,audio)
- set number of audio channels
- -cutoff[:stream_specifier] integer (output,audio)
- set cutoff bandwidth
- -frame_size[:stream_specifier] integer (output,audio)
- -qcomp[:stream_specifier] float (output,video)
- video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0
- -qblur[:stream_specifier] float (output,video)
- video quantizer scale blur (VBR)
- -qmin[:stream_specifier] integer (output,video)
- minimum video quantizer scale (VBR)
- -qmax[:stream_specifier] integer (output,video)
- maximum video quantizer scale (VBR)
- -qdiff[:stream_specifier] integer (output,video)
- maximum difference between the quantizer scales (VBR)
- -bf[:stream_specifier] integer (output,video)
- use 'frames' B-frames
- -b_qfactor[:stream_specifier] float (output,video)
- QP factor between P- and B-frames
- -rc_strategy[:stream_specifier] integer (output,video)
- ratecontrol method
- -b_strategy[:stream_specifier] integer (output,video)
- strategy to choose between I/P/B-frames
- -ps[:stream_specifier] integer (output,video)
- RTP payload size in bytes
- -bug[:stream_specifier] flags (input,video)
- work around not autodetected encoder bugs
Possible values:
- autodetect
- old_msmpeg4
- some old lavc-generated MSMPEG4v3 files (no autodetection)
- xvid_ilace
- Xvid interlacing bug (autodetected if FOURCC == XVIX)
- ump4
- (autodetected if FOURCC == UMP4)
- no_padding
- padding bug (autodetected)
- amv
- ac_vlc
- illegal VLC bug (autodetected per FOURCC)
- qpel_chroma
- std_qpel
- old standard qpel (autodetected per FOURCC/version)
- qpel_chroma2
- direct_blocksize
- direct-qpel-blocksize bug (autodetected per FOURCC/version)
- edge
- edge padding bug (autodetected per FOURCC/version)
- hpel_chroma
- dc_clip
- ms
- work around various bugs in Microsoft's broken decoders
- trunc
- truncated frames
- -strict[:stream_specifier] integer (input/output,audio,video)
- how strictly to follow the standards
Possible values:
- very
- strictly conform to a older more strict version of the spec or reference software
- strict
- strictly conform to all the things in the spec no matter what the consequences
- normal
- unofficial
- allow unofficial extensions
- experimental
- allow non-standardized experimental things
- -b_qoffset[:stream_specifier] float (output,video)
- QP offset between P- and B-frames
- -err_detect[:stream_specifier] flags (input,audio,video)
- set error detection flags
Possible values:
- crccheck
- verify embedded CRCs
- bitstream
- detect bitstream specification deviations
- buffer
- detect improper bitstream length
- explode
- abort decoding on minor error detection
- -mpeg_quant[:stream_specifier] integer (output,video)
- use MPEG quantizers instead of H.263
- -qsquish[:stream_specifier] float (output,video)
- deprecated, use encoder private options instead
- -rc_qmod_amp[:stream_specifier] float (output,video)
- deprecated, use encoder private options instead
- -rc_qmod_freq[:stream_specifier] integer (output,video)
- deprecated, use encoder private options instead
- -rc_eq[:stream_specifier] string (output,video)
- deprecated, use encoder private options instead
- -maxrate[:stream_specifier] integer (output,audio,video)
- Set maximum bitrate tolerance (in bits/s). Requires bufsize to be set.
- -minrate[:stream_specifier] integer (output,audio,video)
- Set minimum bitrate tolerance (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise.
- -bufsize[:stream_specifier] integer (output,audio,video)
- set ratecontrol buffer size (in bits)
- -rc_buf_aggressivity[:stream_specifier] float (output,video)
- deprecated, use encoder private options instead
- -i_qfactor[:stream_specifier] float (output,video)
- QP factor between P- and I-frames
- -i_qoffset[:stream_specifier] float (output,video)
- QP offset between P- and I-frames
- -rc_init_cplx[:stream_specifier] float (output,video)
- deprecated, use encoder private options instead
- -dct[:stream_specifier] integer (output,video)
- DCT algorithm
Possible values:
- auto
- autoselect a good one (default)
- fastint
- fast integer
- int
- accurate integer
- mmx
- altivec
- faan
- floating point AAN DCT
- -lumi_mask[:stream_specifier] float (output,video)
- compresses bright areas stronger than medium ones
- -tcplx_mask[:stream_specifier] float (output,video)
- temporal complexity masking
- -scplx_mask[:stream_specifier] float (output,video)
- spatial complexity masking
- -p_mask[:stream_specifier] float (output,video)
- inter masking
- -dark_mask[:stream_specifier] float (output,video)
- compresses dark areas stronger than medium ones
- -idct[:stream_specifier] integer (input/output,video)
- select IDCT implementation
Possible values:
- auto
- int
- simple
- simplemmx
- arm
- altivec
- sh4
- simplearm
- simplearmv5te
- simplearmv6
- simpleneon
- simplealpha
- ipp
- xvid
- xvidmmx
- faani
- floating point AAN IDCT
- -ec[:stream_specifier] flags (input,video)
- set error concealment strategy
Possible values:
- guess_mvs
- iterative motion vector (MV) search (slow)
- deblock
- use strong deblock filter for damaged MBs
- -pred[:stream_specifier] integer (output,video)
- prediction method
Possible values:
- left
- plane
- median
- -aspect[:stream_specifier] rational number (output,video)
- sample aspect ratio
- -debug[:stream_specifier] flags (input/output,audio,video,subtitles)
- print specific debug info
Possible values:
- pict
- picture info
- rc
- rate control
- bitstream
- mb_type
- macroblock (MB) type
- qp
- per-block quantization parameter (QP)
- mv
- motion vector
- dct_coeff
- skip
- startcode
- pts
- er
- error recognition
- mmco
- memory management control operations (H.264)
- bugs
- vis_qp
- visualize quantization parameter (QP), lower QP are tinted greener
- vis_mb_type
- visualize block types
- buffers
- picture buffer allocations
- thread_ops
- threading operations
- -vismv[:stream_specifier] integer (input,video)
- visualize motion vectors (MVs)
Possible values:
- pf
- forward predicted MVs of P-frames
- bf
- forward predicted MVs of B-frames
- bb
- backward predicted MVs of B-frames
- -cmp[:stream_specifier] integer (output,video)
- full-pel ME compare function
Possible values:
- sad
- sum of absolute differences, fast (default)
- sse
- sum of squared errors
- satd
- sum of absolute Hadamard transformed differences
- dct
- sum of absolute DCT transformed differences
- psnr
- sum of squared quantization errors (avoid, low quality)
- bit
- number of bits needed for the block
- rd
- rate distortion optimal, slow
- zero
- 0
- vsad
- sum of absolute vertical differences
- vsse
- sum of squared vertical differences
- nsse
- noise preserving sum of squared differences
- dctmax
- chroma
- -subcmp[:stream_specifier] integer (output,video)
- sub-pel ME compare function
Possible values:
- sad
- sum of absolute differences, fast (default)
- sse
- sum of squared errors
- satd
- sum of absolute Hadamard transformed differences
- dct
- sum of absolute DCT transformed differences
- psnr
- sum of squared quantization errors (avoid, low quality)
- bit
- number of bits needed for the block
- rd
- rate distortion optimal, slow
- zero
- 0
- vsad
- sum of absolute vertical differences
- vsse
- sum of squared vertical differences
- nsse
- noise preserving sum of squared differences
- dctmax
- chroma
- -mbcmp[:stream_specifier] integer (output,video)
- macroblock compare function
Possible values:
- sad
- sum of absolute differences, fast (default)
- sse
- sum of squared errors
- satd
- sum of absolute Hadamard transformed differences
- dct
- sum of absolute DCT transformed differences
- psnr
- sum of squared quantization errors (avoid, low quality)
- bit
- number of bits needed for the block
- rd
- rate distortion optimal, slow
- zero
- 0
- vsad
- sum of absolute vertical differences
- vsse
- sum of squared vertical differences
- nsse
- noise preserving sum of squared differences
- dctmax
- chroma
- -ildctcmp[:stream_specifier] integer (output,video)
- interlaced DCT compare function
Possible values:
- sad
- sum of absolute differences, fast (default)
- sse
- sum of squared errors
- satd
- sum of absolute Hadamard transformed differences
- dct
- sum of absolute DCT transformed differences
- psnr
- sum of squared quantization errors (avoid, low quality)
- bit
- number of bits needed for the block
- rd
- rate distortion optimal, slow
- zero
- 0
- vsad
- sum of absolute vertical differences
- vsse
- sum of squared vertical differences
- nsse
- noise preserving sum of squared differences
- dctmax
- chroma
- -dia_size[:stream_specifier] integer (output,video)
- diamond type & size for motion estimation
- -last_pred[:stream_specifier] integer (output,video)
- amount of motion predictors from the previous frame
- -preme[:stream_specifier] integer (output,video)
- pre motion estimation
- -precmp[:stream_specifier] integer (output,video)
- pre motion estimation compare function
Possible values:
- sad
- sum of absolute differences, fast (default)
- sse
- sum of squared errors
- satd
- sum of absolute Hadamard transformed differences
- dct
- sum of absolute DCT transformed differences
- psnr
- sum of squared quantization errors (avoid, low quality)
- bit
- number of bits needed for the block
- rd
- rate distortion optimal, slow
- zero
- 0
- vsad
- sum of absolute vertical differences
- vsse
- sum of squared vertical differences
- nsse
- noise preserving sum of squared differences
- dctmax
- chroma
- -pre_dia_size[:stream_specifier] integer (output,video)
- diamond type & size for motion estimation pre-pass
- -subq[:stream_specifier] integer (output,video)
- sub-pel motion estimation quality
- -me_range[:stream_specifier] integer (output,video)
- limit motion vectors range (1023 for DivX player)
- -ibias[:stream_specifier] integer (output,video)
- intra quant bias
- -pbias[:stream_specifier] integer (output,video)
- inter quant bias
- -global_quality[:stream_specifier] integer (output,audio,video)
- -coder[:stream_specifier] integer (output,video)
- Possible values:
- vlc
- variable length coder / Huffman coder
- ac
- arithmetic coder
- raw
- raw (no encoding)
- rle
- run-length coder
- deflate
- deflate-based coder
- -context[:stream_specifier] integer (output,video)
- context model
- -mbd[:stream_specifier] integer (output,video)
- macroblock decision algorithm (high quality mode)
Possible values:
- simple
- use mbcmp (default)
- bits
- use fewest bits
- rd
- use best rate distortion
- -sc_threshold[:stream_specifier] integer (output,video)
- scene change threshold
- -lmin[:stream_specifier] integer (output,video)
- deprecated, use encoder private options instead
- -lmax[:stream_specifier] integer (output,video)
- deprecated, use encoder private options instead
- -nr[:stream_specifier] integer (output,video)
- noise reduction
- -rc_init_occupancy[:stream_specifier] integer (output,video)
- number of bits which should be loaded into the rc buffer before decoding starts
- -flags2[:stream_specifier] flags (input/output,audio,video)
- Possible values:
- fast
- allow non-spec-compliant speedup tricks
- noout
- skip bitstream encoding
- ignorecrop
- ignore cropping information from sps
- local_header
- place global headers at every keyframe instead of in extradata
- -error[:stream_specifier] integer (output,video)
- -threads[:stream_specifier] integer (input/output,video)
- Possible values:
- auto
- autodetect a suitable number of threads to use
- -me_threshold[:stream_specifier] integer (output,video)
- motion estimation threshold
- -mb_threshold[:stream_specifier] integer (output,video)
- macroblock threshold
- -dc[:stream_specifier] integer (output,video)
- intra_dc_precision
- -nssew[:stream_specifier] integer (output,video)
- nsse weight
- -skip_top[:stream_specifier] integer (input,video)
- number of macroblock rows at the top which are skipped
- -skip_bottom[:stream_specifier] integer (input,video)
- number of macroblock rows at the bottom which are skipped
- -profile[:stream_specifier] integer (output,audio,video)
- Possible values:
- unknown
- aac_main
- aac_low
- aac_ssr
- aac_ltp
- aac_he
- aac_he_v2
- aac_ld
- aac_eld
- mpeg2_aac_low
- mpeg2_aac_he
- dts
- dts_es
- dts_96_24
- dts_hd_hra
- dts_hd_ma
- -level[:stream_specifier] integer (output,audio,video)
- Possible values:
- unknown
- -skip_threshold[:stream_specifier] integer (output,video)
- frame skip threshold
- -skip_factor[:stream_specifier] integer (output,video)
- frame skip factor
- -skip_exp[:stream_specifier] integer (output,video)
- frame skip exponent
- -skipcmp[:stream_specifier] integer (output,video)
- frame skip compare function
Possible values:
- sad
- sum of absolute differences, fast (default)
- sse
- sum of squared errors
- satd
- sum of absolute Hadamard transformed differences
- dct
- sum of absolute DCT transformed differences
- psnr
- sum of squared quantization errors (avoid, low quality)
- bit
- number of bits needed for the block
- rd
- rate distortion optimal, slow
- zero
- 0
- vsad
- sum of absolute vertical differences
- vsse
- sum of squared vertical differences
- nsse
- noise preserving sum of squared differences
- dctmax
- chroma
- -border_mask[:stream_specifier] float (output,video)
- deprecated, use encoder private options instead
- -mblmin[:stream_specifier] integer (output,video)
- minimum macroblock Lagrange factor (VBR)
- -mblmax[:stream_specifier] integer (output,video)
- maximum macroblock Lagrange factor (VBR)
- -mepc[:stream_specifier] integer (output,video)
- motion estimation bitrate penalty compensation (1.0 = 256)
- -skip_loop_filter[:stream_specifier] integer (input,video)
- Possible values:
- none
- default
- noref
- bidir
- nokey
- all
- -skip_idct[:stream_specifier] integer (input,video)
- Possible values:
- none
- default
- noref
- bidir
- nokey
- all
- -skip_frame[:stream_specifier] integer (input,video)
- Possible values:
- none
- default
- noref
- bidir
- nokey
- all
- -bidir_refine[:stream_specifier] integer (output,video)
- refine the two motion vectors used in bidirectional macroblocks
- -brd_scale[:stream_specifier] integer (output,video)
- downscale frames for dynamic B-frame decision
- -keyint_min[:stream_specifier] integer (output,video)
- minimum interval between IDR-frames (x264)
- -refs[:stream_specifier] integer (output,video)
- reference frames to consider for motion compensation
- -chromaoffset[:stream_specifier] integer (output,video)
- chroma QP offset from luma
- -trellis[:stream_specifier] integer (output,audio,video)
- rate-distortion optimal quantization
- -sc_factor[:stream_specifier] integer (output,video)
- multiplied by qscale for each frame and added to scene_change_score
- -mv0_threshold[:stream_specifier] integer (output,video)
- -b_sensitivity[:stream_specifier] integer (output,video)
- adjust sensitivity of b_frame_strategy 1
- -compression_level[:stream_specifier] integer (output,audio,video)
- -min_prediction_order[:stream_specifier] integer (output,audio)
- -max_prediction_order[:stream_specifier] integer (output,audio)
- -timecode_frame_start[:stream_specifier] integer (output,video)
- GOP timecode frame start number, in non-drop-frame format
- -channel_layout[:stream_specifier] integer (input/output,audio)
- Possible values:
- -request_channel_layout[:stream_specifier] integer (input,audio)
- Possible values:
- -rc_max_vbv_use[:stream_specifier] float (output,video)
- -rc_min_vbv_use[:stream_specifier] float (output,video)
- -ticks_per_frame[:stream_specifier] integer (input/output,audio,video)
- -color_primaries[:stream_specifier] integer (input/output,video)
- color primaries
Possible values:
- bt709
- BT.709
- unknown
- Unspecified
- bt470m
- BT.470 M
- bt470bg
- BT.470 BG
- smpte170m
- SMPTE 170 M
- smpte240m
- SMPTE 240 M
- film
- Film
- bt2020
- BT.2020
- smpte428
- SMPTE 428-1
- smpte431
- SMPTE 431-2
- smpte432
- SMPTE 422-1
- unspecified
- Unspecified
- smptest428_1
- SMPTE 428-1
- -color_trc[:stream_specifier] integer (input/output,video)
- color transfer characteristics
Possible values:
- bt709
- BT.709
- unknown
- Unspecified
- gamma22
- BT.470 M
- gamma28
- BT.470 BG
- smpte170m
- SMPTE 170 M
- smpte240m
- SMPTE 240 M
- linear
- Linear
- log100
- Log
- log316
- Log square root
- iec61966-2-4
- IEC 61966-2-4
- bt1361e
- BT.1361
- iec61966-2-1
- IEC 61966-2-1
- bt2020-10
- BT.2020 - 10 bit
- bt2020-12
- BT.2020 - 12 bit
- smpte2084
- SMPTE 2084
- smpte428
- SMPTE 428-1
- arib-std-b67
- ARIB STD-B67
- unspecified
- Unspecified
- log
- Log
- log_sqrt
- Log square root
- iec61966_2_4
- IEC 61966-2-4
- bt1361
- BT.1361
- iec61966_2_1
- IEC 61966-2-1
- bt2020_10bit
- BT.2020 - 10 bit
- bt2020_12bit
- BT.2020 - 12 bit
- smptest2084
- SMPTE 2084
- smptest428_1
- SMPTE 428-1
- -colorspace[:stream_specifier] integer (input/output,video)
- color space
Possible values:
- rgb
- RGB
- bt709
- BT.709
- unknown
- Unspecified
- fcc
- FCC
- bt470bg
- BT.470 BG
- smpte170m
- SMPTE 170 M
- smpte240m
- SMPTE 240 M
- ycocg
- YCOCG
- bt2020nc
- BT.2020 NCL
- bt2020c
- BT.2020 CL
- smpte2085
- SMPTE 2085
- unspecified
- Unspecified
- bt2020_ncl
- BT.2020 NCL
- bt2020_cl
- BT.2020 CL
- -color_range[:stream_specifier] integer (input/output,video)
- color range
Possible values:
- unknown
- Unspecified
- tv
- MPEG (219*2^(n-8))
- pc
- JPEG (2^n-1)
- unspecified
- Unspecified
- mpeg
- MPEG (219*2^(n-8))
- jpeg
- JPEG (2^n-1)
- -chroma_sample_location[:stream_specifier] integer (input/output,video)
- chroma sample location
Possible values:
- unknown
- Unspecified
- left
- Left
- center
- Center
- topleft
- Top-left
- top
- Top
- bottomleft
- Bottom-left
- bottom
- Bottom
- unspecified
- Unspecified
- -slices[:stream_specifier] integer (output,video)
- number of slices, used in parallelized encoding
- -thread_type[:stream_specifier] flags (input/output,video)
- select multithreading type
Possible values:
- slice
- frame
- -audio_service_type[:stream_specifier] integer (output,audio)
- audio service type
Possible values:
- ma
- Main Audio Service
- ef
- Effects
- vi
- Visually Impaired
- hi
- Hearing Impaired
- di
- Dialogue
- co
- Commentary
- em
- Emergency
- vo
- Voice Over
- ka
- Karaoke
- -request_sample_fmt[:stream_specifier] integer (input,audio)
- Possible values:
- u8
- 8-bit unsigned integer
- s16
- 16-bit signed integer
- s32
- 32-bit signed integer
- flt
- 32-bit float
- dbl
- 64-bit double
- u8p
- 8-bit unsigned integer planar
- s16p
- 16-bit signed integer planar
- s32p
- 32-bit signed integer planar
- fltp
- 32-bit float planar
- dblp
- 64-bit double planar
- -refcounted_frames[:stream_specifier] integer (input,audio,video)
- -side_data_only_packets[:stream_specifier] integer (output,audio,video)
Format AVOptions
- -probesize integer (input)
- set probing size
- -packetsize integer (output)
- set packet size
- -fflags flags (input/output)
- Possible values:
- flush_packets
- reduce the latency by flushing out packets immediately
- ignidx
- ignore index
- genpts
- generate pts
- nofillin
- do not fill in missing values that can be exactly calculated
- noparse
- disable AVParsers, this needs nofillin too
- igndts
- ignore dts
- discardcorrupt
- discard corrupted frames
- nobuffer
- reduce the latency introduced by optional buffering
- bitexact
- do not write random/volatile data
- -analyzeduration integer (input)
- how many microseconds are analyzed to estimate duration
- -cryptokey hexadecimal string (input)
- decryption key
- -indexmem integer (input)
- max memory used for timestamp index (per stream)
- -rtbufsize integer (input)
- max memory used for buffering real-time frames
- -fdebug flags (input/output)
- print specific debug info
Possible values:
- ts
- -max_delay integer (input/output)
- maximum muxing or demuxing delay in microseconds
- -fpsprobesize integer (input)
- number of frames used to probe fps
- -f_err_detect flags (input)
- set error detection flags (deprecated; use err_detect, save via avconv)
Possible values:
- crccheck
- verify embedded CRCs
- bitstream
- detect bitstream specification deviations
- buffer
- detect improper bitstream length
- explode
- abort decoding on minor error detection
- -err_detect flags (input)
- set error detection flags
Possible values:
- crccheck
- verify embedded CRCs
- bitstream
- detect bitstream specification deviations
- buffer
- detect improper bitstream length
- explode
- abort decoding on minor error detection
- -max_interleave_delta integer