AVPROBE(1) | AVPROBE(1) |
NAME
avprobe - avprobe media proberSYNOPSIS
avprobe [options] [ input_file]DESCRIPTION
avprobe gathers information from multimedia streams and prints it in human- and machine-readable fashion.OPTIONS
All the numerical options, if not specified otherwise, accept in input a 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 be appended after a unit prefix or used alone. This allows using for example 'KB', 'MiB', 'G' and 'B' as number postfix.Stream specifiers
Some options are applied per-stream, e.g. bitrate or codec. Stream specifiers are used to precisely specify which stream(s) does a given option belong to.- stream_index
- Matches the stream with this index. E.g. "-threads:1 4" would set the thread 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, then matches stream number stream_index of this type. Otherwise matches all streams of this type.
- p:program_id[:stream_index]
- If stream_index is given, then matches stream number stream_index in program with id program_id. Otherwise matches all streams in this program.
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 specific item.
- 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.
- -version
- Show version.
- -formats
-
Show available formats.
- D
- Decoding available
- E
- Encoding available
- -codecs
-
Show all codecs known to libavcodec.
- -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
AVOptions
These options are provided directly by the libavformat, libavdevice and libavcodec 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 options are listed under AVFormatContext options for containers/devices and under AVCodecContext options for codecs.
- private
- These options are specific to the given container, device or codec. Private options are listed under their corresponding containers/devices/codecs.
avconv -i input.flac -id3v2_version 3 out.mp3
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:
- 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
- cbp
- Deprecated, use mpegvideo private options instead
- qprd
- Deprecated, use mpegvideo private options instead
- ilme
- interlaced motion estimation
- cgop
- closed GOP
- -sub_id[:stream_specifier] integer ()
- -me_method[:stream_specifier] integer (output,video)
-
set motion estimation method
- 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
- iter
- iter motion estimation
- -extradata_size[:stream_specifier] integer ()
- -time_base[:stream_specifier] rational number ()
- -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)
- -frame_number[:stream_specifier] integer ()
- -delay[:stream_specifier] integer ()
- -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
- -mv_bits[:stream_specifier] integer ()
- -header_bits[:stream_specifier] integer ()
- -i_tex_bits[:stream_specifier] integer ()
- -p_tex_bits[:stream_specifier] integer ()
- -i_count[:stream_specifier] integer ()
- -p_count[:stream_specifier] integer ()
- -skip_count[:stream_specifier] integer ()
- -misc_bits[:stream_specifier] integer ()
- -frame_bits[:stream_specifier] integer ()
- -codec_tag[:stream_specifier] integer ()
- -bug[:stream_specifier] flags (input,video)
-
work around not autodetected encoder bugs
- 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
- -lelim[:stream_specifier] integer (output,video)
- single coefficient elimination threshold for luminance (negative values also consider DC coefficient)
- -celim[:stream_specifier] integer (output,video)
- single coefficient elimination threshold for chrominance (negative values also consider DC coefficient)
- -strict[:stream_specifier] integer (input/output,audio,video)
-
how strictly to follow the standards
- 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
- crccheck
- verify embedded CRCs
- bitstream
- detect bitstream specification deviations
- buffer
- detect improper bitstream length
- explode
- abort decoding on minor error detection
- -has_b_frames[:stream_specifier] integer ()
- -block_align[:stream_specifier] integer ()
- -mpeg_quant[:stream_specifier] integer (output,video)
- use MPEG quantizers instead of H.263
- -qsquish[:stream_specifier] float (output,video)
- how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function)
- -rc_qmod_amp[:stream_specifier] float (output,video)
- experimental quantizer modulation
- -rc_qmod_freq[:stream_specifier] integer (output,video)
- experimental quantizer modulation
- -rc_override_count[:stream_specifier] integer ()
- -rc_eq[:stream_specifier] string (output,video)
- Set rate control equation. When computing the expression, besides the standard functions defined in the section 'Expression Evaluation', the following functions are available: bits2qp(bits), qp2bits(qp). Also the following constants are available: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex.
- -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)
- currently useless
- -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)
- initial complexity for 1-pass encoding
- -dct[:stream_specifier] integer (output,video)
-
DCT algorithm
- 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
- auto
- int
- simple
- simplemmx
- mmi
- arm
- altivec
- sh4
- simplearm
- simplearmv5te
- simplearmv6
- simpleneon
- simplealpha
- h264
- vp3
- ipp
- xvidmmx
- faani
- floating point AAN IDCT
- -slice_count[:stream_specifier] integer ()
- -ec[:stream_specifier] flags (input,video)
-
set error concealment strategy
- guess_mvs
- iterative motion vector (MV) search (slow)
- deblock
- use strong deblock filter for damaged MBs
- -bits_per_coded_sample[:stream_specifier] integer ()
- -pred[:stream_specifier] integer (output,video)
-
prediction method
- 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
- 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)
- 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
- 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
- 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
- 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
- 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
- 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
- -dtg_active_format[:stream_specifier] integer ()
- -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
- -color_table_id[:stream_specifier] integer ()
- -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
- -slice_flags[:stream_specifier] integer ()
- -xvmc_acceleration[:stream_specifier] integer ()
- -mbd[:stream_specifier] integer (output,video)
-
macroblock decision algorithm (high quality mode)
- simple
- use mbcmp (default)
- bits
- use fewest bits
- rd
- use best rate distortion
- -stream_codec_tag[:stream_specifier] integer ()
- -sc_threshold[:stream_specifier] integer (output,video)
- scene change threshold
- -lmin[:stream_specifier] integer (output,video)
- minimum Lagrange factor (VBR)
- -lmax[:stream_specifier] integer (output,video)
- maximum Lagrange factor (VBR)
- -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
- -inter_threshold[:stream_specifier] integer (output,video)
- -flags2[:stream_specifier] flags (input/output,audio,video)
- Possible values:
- fast
- allow non-spec-compliant speedup tricks
- sgop
- Deprecated, use mpegvideo private options instead
- noout
- skip bitstream encoding
- local_header
- place global headers at every keyframe instead of in extradata
- skiprd
- Deprecated, use mpegvideo private options instead
- -error[:stream_specifier] integer (output,video)
- -qns[:stream_specifier] integer (output,video)
- deprecated, use mpegvideo private options instead
- -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
- 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
- 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)
- increase the quantizer for macroblocks close to borders
- -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
- -request_channels[:stream_specifier] integer (input,audio)
- set desired number of audio channels
- -bits_per_raw_sample[:stream_specifier] integer ()
- -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_trc[:stream_specifier] integer (input/output,video)
- -colorspace[:stream_specifier] integer (input/output,video)
- -color_range[:stream_specifier] integer (input/output,video)
- -chroma_sample_location[:stream_specifier] integer (input/output,video)
- -log_level_offset[:stream_specifier] integer ()
- set the log level offset
- -slices[:stream_specifier] integer (output,video)
- number of slices, used in parallelized encoding
- -thread_type[:stream_specifier] flags (input/output,video)
-
select multithreading type
- slice
- frame
- -audio_service_type[:stream_specifier] integer (output,audio)
-
audio service type
- 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
Format AVOptions
- -probesize integer (input)
- set probing size
- -packetsize integer (output)
- set packet size
- -fflags flags (input/output)
- Possible values:
- 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
- -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
- 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)
- 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
- crccheck
- verify embedded CRCs
- bitstream
- detect bitstream specification deviations
- buffer
- detect improper bitstream length
- explode
- abort decoding on minor error detection
Main options
- -f format
- Force format to use.
- -of formatter
- Use a specific formatter to output the document. The following formatters are available
- ini
- json
- old
- Pseudo-INI format that used to be the only one available in old avprobe versions.
- -unit
- Show the unit of the displayed values.
- -prefix
- Use SI prefixes for the displayed values. Unless the "-byte_binary_prefix" option is used all the prefixes are decimal.
- -byte_binary_prefix
- Force the use of binary prefixes for byte values.
- -sexagesimal
- Use sexagesimal format HH:MM:SS.MICROSECONDS for time values.
- -pretty
- Prettify the format of the displayed values, it corresponds to the options "-unit -prefix -byte_binary_prefix -sexagesimal".
- -show_format
-
Show information about the container format of the input multimedia stream.
- -show_format_entry name
- Like -show_format, but only prints the specified entry of the container format information, rather than all. This option may be given more than once, then all specified entries will be shown.
- -show_packets
-
Show information about each packet contained in the input multimedia stream.
- -show_streams
-
Show information about each media stream contained in the input multimedia stream.
DEMUXERS
Demuxers are configured elements in Libav which allow to read the multimedia streams from a particular type of file.image2
Image file demuxer.avconv -i 'img-%03d.jpeg' -r 10 out.mkv
avconv -i img.jpeg img.png
- -pixel_format format
- Set the pixel format (for raw image)
- -video_size size
- Set the frame size (for raw image)
- -framerate rate
- Set the frame rate
- -loop bool
- Loop over the images
- -start_number start
- Specify the first number in the sequence
applehttp
Apple HTTP Live Streaming demuxer.MUXERS
Muxers are configured elements in Libav which allow writing multimedia streams to a particular type of file.crc
CRC (Cyclic Redundancy Check) testing format.avconv -i INPUT -f crc out.crc
avconv -i INPUT -f crc -
avconv -i INPUT -c:a pcm_u8 -c:v mpeg2video -f crc -
framecrc
Per-frame CRC (Cyclic Redundancy Check) testing format.avconv -i INPUT -f framecrc out.crc
avconv -i INPUT -f framecrc -
avconv -i INPUT -c:a pcm_u8 -c:v mpeg2video -f framecrc -
hls
Apple HTTP Live Streaming muxer that segments MPEG-TS according to the HTTP Live Streaming specification.avconv -i in.nut out.m3u8
- -hls_time seconds
- Set the segment length in seconds.
- -hls_list_size size
- Set the maximum number of playlist entries.
- -hls_wrap wrap
- Set the number after which index wraps.
- -start_number number
- Start the sequence from number.
image2
Image file muxer.avconv -i in.avi -vsync 1 -r 1 -f image2 'img-%03d.jpeg'
avconv -i in.avi -vsync 1 -r 1 'img-%03d.jpeg'
avconv -i in.avi -f image2 -frames:v 1 img.jpeg
- -start_number number
- Start the sequence from number.
MOV/MP4/ISMV
The mov/mp4/ismv muxer supports fragmentation. Normally, a MOV/MP4 file has all the metadata about all packets stored in one location (written at the end of the file, it can be moved to the start for better playback using the qt-faststart tool). A fragmented file consists of a number of fragments, where packets and metadata about these packets are stored together. Writing a fragmented file has the advantage that the file is decodable even if the writing is interrupted (while a normal MOV/MP4 is undecodable if it is not properly finished), and it requires less memory when writing very long files (since writing normal MOV/MP4 files stores info about every single packet in memory until the file is closed). The downside is that it is less compatible with other applications.- -movflags frag_keyframe
- Start a new fragment at each video keyframe.
- -frag_duration duration
- Create fragments that are duration microseconds long.
- -frag_size size
- Create fragments that contain up to size bytes of payload data.
- -movflags frag_custom
- Allow the caller to manually choose when to cut fragments, by calling "av_write_frame(ctx, NULL)" to write a fragment with the packets written so far. (This is only useful with other applications integrating libavformat, not from avconv.)
- -min_frag_duration duration
- Don't create fragments that are shorter than duration microseconds long.
- -movflags empty_moov
-
Write an initial moov atom directly at the start of the file, without describing any samples in it. Generally, an mdat/moov pair is written at the start of the file, as a normal MOV/MP4 file, containing only a short portion of the file. With this option set, there is no initial mdat atom, and the moov atom only describes the tracks but has a zero duration.
- -movflags separate_moof
-
Write a separate moof (movie fragment) atom for each track. Normally, packets for all tracks are written in a moof atom (which is slightly more efficient), but with this option set, the muxer writes one moof/mdat pair for each track, making it easier to separate tracks.
avconv -re <<normal input/transcoding options>> -movflags isml+frag_keyframe -f ismv http://server/publishingpoint.isml/Streams(Encoder1)
mpegts
MPEG transport stream muxer.- -mpegts_original_network_id number
- Set the original_network_id (default 0x0001). This is unique identifier of a network in DVB. Its main use is in the unique identification of a service through the path Original_Network_ID, Transport_Stream_ID.
- -mpegts_transport_stream_id number
- Set the transport_stream_id (default 0x0001). This identifies a transponder in DVB.
- -mpegts_service_id number
- Set the service_id (default 0x0001) also known as program in DVB.
- -mpegts_pmt_start_pid number
- Set the first PID for PMT (default 0x1000, max 0x1f00).
- -mpegts_start_pid number
- Set the first PID for data packets (default 0x0100, max 0x0f00).
avconv -i file.mpg -c copy \
-mpegts_original_network_id 0x1122 \
-mpegts_transport_stream_id 0x3344 \
-mpegts_service_id 0x5566 \
-mpegts_pmt_start_pid 0x1500 \
-mpegts_start_pid 0x150 \
-metadata service_provider="Some provider" \
-metadata service_name="Some Channel" \
-y out.ts
null
Null muxer.avconv -benchmark -i INPUT -f null out.null
avconv -benchmark -i INPUT -f null -
matroska
Matroska container muxer.- title=title name
- Name provided to a single track
- language=language name
- Specifies the language of the track in the Matroska languages form
- STEREO_MODE=mode
- Stereo 3D video layout of two views in a single video track
- mono
- video is not stereo
- left_right
- Both views are arranged side by side, Left-eye view is on the left
- bottom_top
- Both views are arranged in top-bottom orientation, Left-eye view is at bottom
- top_bottom
- Both views are arranged in top-bottom orientation, Left-eye view is on top
- checkerboard_rl
- Each view is arranged in a checkerboard interleaved pattern, Left-eye view being first
- checkerboard_lr
- Each view is arranged in a checkerboard interleaved pattern, Right-eye view being first
- row_interleaved_rl
- Each view is constituted by a row based interleaving, Right-eye view is first row
- row_interleaved_lr
- Each view is constituted by a row based interleaving, Left-eye view is first row
- col_interleaved_rl
- Both views are arranged in a column based interleaving manner, Right-eye view is first column
- col_interleaved_lr
- Both views are arranged in a column based interleaving manner, Left-eye view is first column
- anaglyph_cyan_red
- All frames are in anaglyph format viewable through red-cyan filters
- right_left
- Both views are arranged side by side, Right-eye view is on the left
- anaglyph_green_magenta
- All frames are in anaglyph format viewable through green-magenta filters
- block_lr
- Both eyes laced in one Block, Left-eye view is first
- block_rl
- Both eyes laced in one Block, Right-eye view is first
avconv -i sample_left_right_clip.mpg -an -c:v libvpx -metadata STEREO_MODE=left_right -y stereo_clip.webm
segment
Basic stream segmenter.- segment_format format
- Override the inner container format, by default it is guessed by the filename extension.
- segment_time t
- Set segment duration to t seconds.
- segment_list name
- Generate also a listfile named name.
- segment_list_size size
- Overwrite the listfile once it reaches size entries.
- segment_wrap limit
- Wrap around segment index once it reaches limit.
avconv -i in.mkv -c copy -map 0 -f segment -list out.list out%03d.nut
mp3
The MP3 muxer writes a raw MP3 stream with an ID3v2 header at the beginning and optionally an ID3v1 tag at the end. ID3v2.3 and ID3v2.4 are supported, the "id3v2_version" option controls which one is used. The legacy ID3v1 tag is not written by default, but may be enabled with the "write_id3v1" option.avconv -i INPUT -id3v2_version 3 -write_id3v1 1 out.mp3
avconv -i input.mp3 -i cover.png -c copy -metadata:s:v title="Album cover"
-metadata:s:v comment="Cover (Front)" out.mp3
PROTOCOLS
Protocols are configured elements in Libav which allow to access resources which require the use of a particular protocol.concat
Physical concatenation protocol.concat:<URL1>|<URL2>|...|<URLN>
avplay concat:split1.mpeg\|split2.mpeg\|split3.mpeg
file
File access protocol.avconv -i file:input.mpeg output.mpeg
gopher
Gopher protocol.hls
Read Apple HTTP Live Streaming compliant segmented stream as a uniform one. The M3U8 playlists describing the segments can be remote HTTP resources or local files, accessed using the standard file protocol. The nested protocol is declared by specifying "+ proto" after the hls URI scheme name, where proto is either "file" or "http".hls+http://host/path/to/remote/resource.m3u8
hls+file://path/to/local/resource.m3u8
http
HTTP (Hyper Text Transfer Protocol).mmst
MMS (Microsoft Media Server) protocol over TCP.mmsh
MMS (Microsoft Media Server) protocol over HTTP.mmsh://<server>[:<port>][/<app>][/<playpath>]
md5
MD5 output protocol.# Write the MD5 hash of the encoded AVI file to the file output.avi.md5.
avconv -i input.flv -f avi -y md5:output.avi.md5
# Write the MD5 hash of the encoded AVI file to stdout.
avconv -i input.flv -f avi -y md5:
pipe
UNIX pipe access protocol.pipe:[<number>]
cat test.wav | avconv -i pipe:0
# ...this is the same as...
cat test.wav | avconv -i pipe:
avconv -i test.wav -f avi pipe:1 | cat > test.avi
# ...this is the same as...
avconv -i test.wav -f avi pipe: | cat > test.avi
rtmp
Real-Time Messaging Protocol.rtmp://<server>[:<port>][/<app>][/<instance>][/<playpath>]
- server
- The address of the RTMP server.
- port
- The number of the TCP port to use (by default is 1935).
- app
- It is the name of the application to access. It usually corresponds to the path where the application is installed on the RTMP server (e.g. /ondemand/, /flash/live/, etc.). You can override the value parsed from the URI through the "rtmp_app" option, too.
- playpath
- It is the path or name of the resource to play with reference to the application specified in app, may be prefixed by "mp4:". You can override the value parsed from the URI through the "rtmp_playpath" option, too.
- listen
- Act as a server, listening for an incoming connection.
- timeout
- Maximum time to wait for the incoming connection. Implies listen.
- rtmp_app
- Name of application to connect on the RTMP server. This option overrides the parameter specified in the URI.
- rtmp_buffer
- Set the client buffer time in milliseconds. The default is 3000.
- rtmp_conn
- Extra arbitrary AMF connection parameters, parsed from a string, e.g. like "B:1 S:authMe O:1 NN:code:1.23 NS:flag:ok O:0". Each value is prefixed by a single character denoting the type, B for Boolean, N for number, S for string, O for object, or Z for null, followed by a colon. For Booleans the data must be either 0 or 1 for FALSE or TRUE, respectively. Likewise for Objects the data must be 0 or 1 to end or begin an object, respectively. Data items in subobjects may be named, by prefixing the type with 'N' and specifying the name before the value (i.e. "NB:myFlag:1"). This option may be used multiple times to construct arbitrary AMF sequences.
- rtmp_flashver
- Version of the Flash plugin used to run the SWF player. The default is LNX 9,0,124,2.
- rtmp_flush_interval
- Number of packets flushed in the same request (RTMPT only). The default is 10.
- rtmp_live
- Specify that the media is a live stream. No resuming or seeking in live streams is possible. The default value is "any", which means the subscriber first tries to play the live stream specified in the playpath. If a live stream of that name is not found, it plays the recorded stream. The other possible values are "live" and "recorded".
- rtmp_pageurl
- URL of the web page in which the media was embedded. By default no value will be sent.
- rtmp_playpath
- Stream identifier to play or to publish. This option overrides the parameter specified in the URI.
- rtmp_subscribe
- Name of live stream to subscribe to. By default no value will be sent. It is only sent if the option is specified or if rtmp_live is set to live.
- rtmp_swfhash
- SHA256 hash of the decompressed SWF file (32 bytes).
- rtmp_swfsize
- Size of the decompressed SWF file, required for SWFVerification.
- rtmp_swfurl
- URL of the SWF player for the media. By default no value will be sent.
- rtmp_swfverify
- URL to player swf file, compute hash/size automatically.
- rtmp_tcurl
- URL of the target stream. Defaults to proto://host[:port]/app.
avplay rtmp://myserver/vod/sample
rtmpe
Encrypted Real-Time Messaging Protocol.rtmps
Real-Time Messaging Protocol over a secure SSL connection.rtmpt
Real-Time Messaging Protocol tunneled through HTTP.rtmpte
Encrypted Real-Time Messaging Protocol tunneled through HTTP.rtmpts
Real-Time Messaging Protocol tunneled through HTTPS.rtmp, rtmpe, rtmps, rtmpt, rtmpte
Real-Time Messaging Protocol and its variants supported through librtmp.<rtmp_proto>://<server>[:<port>][/<app>][/<playpath>] <options>
avconv -re -i myfile -f flv rtmp://myserver/live/mystream
avplay "rtmp://myserver/live/mystream live=1"
rtp
Real-Time Protocol.rtsp
RTSP is not technically a protocol handler in libavformat, it is a demuxer and muxer. The demuxer supports both normal RTSP (with data transferred over RTP; this is used by e.g. Apple and Microsoft) and Real-RTSP (with data transferred over RDT).RTSP server ("http://github.com/revmischa/rtsp-server")).
rtsp://<hostname>[:<port>]/<path>
- udp
- Use UDP as lower transport protocol.
- tcp
- Use TCP (interleaving within the RTSP control channel) as lower transport protocol.
- udp_multicast
- Use UDP multicast as lower transport protocol.
- http
- Use HTTP tunneling as lower transport protocol, which is useful for passing proxies.
- filter_src
- Accept packets only from negotiated peer address and port.
- listen
- Act as a server, listening for an incoming connection.
avplay -max_delay 500000 -rtsp_transport udp rtsp://server/video.mp4
avplay -rtsp_transport http rtsp://server/video.mp4
avconv -re -i <input> -f rtsp -muxdelay 0.1 rtsp://server/live.sdp
avconv -rtsp_flags listen -i rtsp://ownaddress/live.sdp <output>
sap
Session Announcement Protocol (RFC 2974). This is not technically a protocol handler in libavformat, it is a muxer and demuxer. It is used for signalling of RTP streams, by announcing the SDP for the streams regularly on a separate port.sap://<destination>[:<port>][?<options>]
- announce_addr=address
- Specify the destination IP address for sending the announcements to. If omitted, the announcements are sent to the commonly used SAP announcement multicast address 224.2.127.254 (sap.mcast.net), or ff0e::2:7ffe if destination is an IPv6 address.
- announce_port=port
- Specify the port to send the announcements on, defaults to 9875 if not specified.
- ttl=ttl
- Specify the time to live value for the announcements and RTP packets, defaults to 255.
- same_port=0|1
- If set to 1, send all RTP streams on the same port pair. If zero (the default), all streams are sent on unique ports, with each stream on a port 2 numbers higher than the previous. VLC/Live555 requires this to be set to 1, to be able to receive the stream. The RTP stack in libavformat for receiving requires all streams to be sent on unique ports.
avconv -re -i <input> -f sap sap://224.0.0.255?same_port=1
avconv -re -i <input> -f sap sap://224.0.0.255
avconv -re -i <input> -f sap sap://[ff0e::1:2:3:4]
sap://[<address>][:<port>]
avplay sap://
avplay sap://[ff0e::2:7ffe]
tcp
Trasmission Control Protocol.tcp://<hostname>:<port>[?<options>]
- listen
-
Listen for an incoming connection
avconv -i <input> -f <format> tcp://<hostname>:<port>?listen
avplay tcp://<hostname>:<port>
udp
User Datagram Protocol.udp://<hostname>:<port>[?<options>]
- buffer_size=size
- set the UDP buffer size in bytes
- localport=port
- override the local UDP port to bind with
- localaddr=addr
- Choose the local IP address. This is useful e.g. if sending multicast and the host has multiple interfaces, where the user can choose which interface to send on by specifying the IP address of that interface.
- pkt_size=size
- set the size in bytes of UDP packets
- reuse=1|0
- explicitly allow or disallow reusing UDP sockets
- ttl=ttl
- set the time to live value (for multicast only)
- connect=1|0
- Initialize the UDP socket with "connect()". In this case, the destination address can't be changed with ff_udp_set_remote_url later. If the destination address isn't known at the start, this option can be specified in ff_udp_set_remote_url, too. This allows finding out the source address for the packets with getsockname, and makes writes return with AVERROR(ECONNREFUSED) if "destination unreachable" is received. For receiving, this gives the benefit of only receiving packets from the specified peer address/port.
- sources=address[,address]
- Only receive packets sent to the multicast group from one of the specified sender IP addresses.
- block=address[,address]
- Ignore packets sent to the multicast group from the specified sender IP addresses.
avconv -i <input> -f <format> udp://<hostname>:<port>
avconv -i <input> -f mpegts udp://<hostname>:<port>?pkt_size=188&buffer_size=65535
avconv -i udp://[<multicast-address>]:<port>
INPUT DEVICES
Input devices are configured elements in Libav which allow to access the data coming from a multimedia device attached to your system.alsa
ALSA (Advanced Linux Sound Architecture) input device.hw:<CARD>[,<DEV>[,<SUBDEV>]]
avconv -f alsa -i hw:0 alsaout.wav
bktr
BSD video input device.dv1394
Linux DV 1394 input device.fbdev
Linux framebuffer input device.avconv -f fbdev -r 10 -i /dev/fb0 out.avi
avconv -f fbdev -frames:v 1 -r 1 -i /dev/fb0 screenshot.jpeg
jack
JACK input device.# Create a JACK writable client with name "libav".
$ avconv -f jack -i libav -y out.wav
# Start the sample jack_metro readable client.
$ jack_metro -b 120 -d 0.2 -f 4000
# List the current JACK clients.
$ jack_lsp -c
system:capture_1
system:capture_2
system:playback_1
system:playback_2
libav:input_1
metro:120_bpm
# Connect metro to the avconv writable client.
$ jack_connect metro:120_bpm libav:input_1
libdc1394
IIDC1394 input device, based on libdc1394 and libraw1394.oss
Open Sound System input device.avconv -f oss -i /dev/dsp /tmp/oss.wav
pulse
pulseaudio input device.avconv -f pulse -i default /tmp/pulse.wav
-server <server name>
-name <application name>
-stream_name <stream name>
-sample_rate <samplerate>
-channels <N>
-frame_size <bytes>
-fragment_size <bytes>
sndio
sndio input device.avconv -f sndio -i /dev/audio0 /tmp/oss.wav
video4linux2
Video4Linux2 input video device.# Grab and show the input of a video4linux2 device.
avplay -f video4linux2 -framerate 30 -video_size hd720 /dev/video0
# Grab and record the input of a video4linux2 device, leave the
framerate and size as previously set.
avconv -f video4linux2 -input_format mjpeg -i /dev/video0 out.mpeg
vfwcap
VfW (Video for Windows) capture input device.x11grab
X11 video input device.[<hostname>]:<display_number>.<screen_number>[+<x_offset>,<y_offset>]
avconv -f x11grab -r 25 -s cif -i :0.0 out.mpg
# Grab at position 10,20.
avconv -f x11grab -r 25 -s cif -i :0.0+10,20 out.mpg
-follow_mouse centered|<PIXELS>
avconv -f x11grab -follow_mouse centered -r 25 -s cif -i :0.0 out.mpg
# Follows only when the mouse pointer reaches within 100 pixels to edge
avconv -f x11grab -follow_mouse 100 -r 25 -s cif -i :0.0 out.mpg
-show_region 1
avconv -f x11grab -show_region 1 -r 25 -s cif -i :0.0+10,20 out.mpg
# With follow_mouse
avconv -f x11grab -follow_mouse centered -show_region 1 -r 25 -s cif -i :0.0 out.mpg
SEE ALSO
avconv(1), avplay(1) and the Libav HTML documentationAUTHORS
The Libav developers2016-03-28 |