Rendering of reStructured text is not possible, please install Docutils.
========================================
FFmpeg Documentation
========================================
Table of Contents
===================================
- `1. Introduction <1. Introduction>`_
- `2. Quick Start <2. Quick Start>`_
- `2.1 Video and Audio grabbing <2.1 Video and Audio grabbing>`_
- `2.2 X11 grabbing`_
- `2.3 Video and Audio file format conversion`_
- `3. Invocation`_
- `3.1 Syntax`_
- `3.2 Main options`_
- `3.3 Video Options`_
- `3.4 Advanced Video Options`_
- `3.5 Audio Options`_
- `3.6 Advanced Audio options:`_
- `3.7 Subtitle options:`_
- `3.8 Audio/Video grab options`_
- `3.9 Advanced options`_
- `3.10 Preset files`_
- `3.11 FFmpeg formula evaluator`_
- `3.12 Protocols`_
- `4. Tips`_
1. Introduction
==============================
FFmpeg is a very fast video and audio converter. It can also grab from a live
audio/video source.
The command line interface is designed to be intuitive, in the sense that
FFmpeg tries to figure out all parameters that can possibly be derived
automatically. You usually only have to specify the target bitrate you want.
FFmpeg can also convert from any sample rate to any other, and resize video
on the fly with a high quality polyphase filter.
2. Quick Start
==========================
2.1 Video and Audio grabbing
--------------------------------------------------------
FFmpeg can grab video and audio from devices given that you specify the input
format and device. ::
ffmpeg -f oss -i /dev/dsp -f video4linux2 -i /dev/video0 /tmp/out.mpg
Note that you must activate the right video source and channel before
launching FFmpeg with any TV viewer such as xawtv
(`http://linux.bytesex.org/xawtv/`_) by Gerd Knorr. You also have to set the
audio recording levels correctly with a standard mixer.
2.2 X11 grabbing
--------------------------------
FFmpeg can grab the X11 display. ::
ffmpeg -f x11grab -s cif -i :0.0 /tmp/out.mpg
0.0 is display.screen number of your X11 server, same as the DISPLAY
environment variable. ::
ffmpeg -f x11grab -s cif -i :0.0+10,20 /tmp/out.mpg
0.0 is display.screen number of your X11 server, same as the DISPLAY
environment variable. 10 is the x-offset and 20 the y-offset for the
grabbing.
2.3 Video and Audio file format conversion
------------------------------------------------------------------------------
* FFmpeg can use any supported file format and protocol as input:
Examples:
* You can use YUV files as input: ::
ffmpeg -i /tmp/test%d.Y /tmp/out.mpg
It will use the files: ::
/tmp/test0.Y, /tmp/test0.U, /tmp/test0.V,
/tmp/test1.Y, /tmp/test1.U, /tmp/test1.V, etc...
The Y files use twice the resolution of the U and V files. They are raw
files, without header. They can be generated by all decent video decoders.
You must specify the size of the image with the '-s' option if FFmpeg cannot
guess it.
* You can input from a raw YUV420P file: ::
ffmpeg -i /tmp/test.yuv /tmp/out.avi
test.yuv is a file containing raw YUV planar data. Each frame is composed of
the Y plane followed by the U and V planes at half vertical and horizontal
resolution.
* You can output to a raw YUV420P file: ::
ffmpeg -i mydivx.avi hugefile.yuv
* You can set several input files and output files: ::
ffmpeg -i /tmp/a.wav -s 640x480 -i /tmp/a.yuv /tmp/a.mpg
Converts the audio file a.wav and the raw YUV video file a.yuv to MPEG file
a.mpg.
* You can also do audio and video conversions at the same time::
ffmpeg -i /tmp/a.wav -ar 22050 /tmp/a.mp2
Converts a.wav to MPEG audio at 22050 Hz sample rate.
* You can encode to several formats at the same time and define a mapping
from input stream to output streams::
ffmpeg -i /tmp/a.wav -ab 64k /tmp/a.mp2 -ab 128k /tmp/b.mp2 -map 0:0
-map 0:0
Converts a.wav to a.mp2 at 64 kbits and to b.mp2 at 128 kbits. **-map
file:index** specifies which input stream is used for each output stream, in
the order of the definition of output streams.
* You can transcode decrypted VOBs::
ffmpeg -i snatch_1.vob -f avi -vcodec mpeg4 -b 800k -g 300 -bf 2
-acodec libmp3lame -ab 128k snatch.avi
This is a typical DVD ripping example; the input is a VOB file, the output an
AVI file with MPEG-4 video and MP3 audio. Note that in this command we use
B-frames so the MPEG-4 stream is DivX5 compatible, and GOP size is 300 which
means one intra frame every 10 seconds for 29.97fps input video. Furthermore,
the audio stream is MP3-encoded so you need to enable LAME support by passing
*--enable-libmp3lame* to configure. The mapping is particularly useful for
DVD transcoding to get the desired audio language.
:NOTE: To see the supported input formats, use *ffmpeg -formats* .
* You can extract images from a video, or create a video from many images:
For extracting images from a video::
ffmpeg -i foo.avi -r 1 -s WxH -f image2 foo-%03d.jpeg
This will extract one video frame per second from the video and will output
them in files named *foo-001.jpeg* , *foo-002.jpeg* , etc. Images will
be rescaled to fit the new WxH values.
If you want to extract just a limited number of frames, you can use the above
command in combination with the -vframes or -t option, or in combination with
*-ss* to start extracting from a certain point in time.
For creating a video from many images: ::
ffmpeg -f image2 -i foo-%03d.jpeg -r 12 -s WxH foo.avi
The syntax *foo-%03d.jpeg* specifies to use a decimal number composed of
three digits padded with zeroes to express the sequence number. It is the
same syntax supported by the C printf function, but only formats accepting a
normal integer are suitable.
* You can put many streams of the same type in the output::
ffmpeg -i test1.avi -i test2.avi -vcodec copy -acodec copy -vcodec
copy -acodec copy test12.avi -newvideo -newaudio
In addition to the first video and audio streams, the resulting output file
*test12.avi* will contain the second video and the second audio stream
found in the input streams list.
The *-newvideo*, *-newaudio* and *-newsubtitle* options have to be
specified immediately after the name of the output file to which you want to
add them.
3. Invocation
=======================================
3.1 Syntax
------------------------------
The generic syntax is: ::
ffmpeg [[infile options][`-i' infile]]... {[outfile options] utfile}...
As a general rule, options are applied to the next specified file. Therefore,
order is important, and you can have the same option on the command line
multiple times. Each occurrence is then applied to the next input or output
file.
* To set the video bitrate of the output file to 64kbit/s::
ffmpeg -i input.avi -b 64k output.avi
* To force the frame rate of the output file to 24 fps::
ffmpeg -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: ::
ffmpeg -r 1 -i input.m2v -r 24 output.avi
The format option may be needed for raw input files.
By default, FFmpeg tries to convert as losslessly as possible: It uses the
same audio and video parameters for the outputs as the one specified for the
inputs.
3.2 Main options
------------------------------------------------
-L
Show license.
-h
Show help.
-version
Show version.
-formats
Show available formats, codecs, bitstream filters, protocols, and frame size
and frame rate abbreviations. The fields preceding the format and codec names
have the following meanings:
D Decoding available
E Encoding available
V/A/S Video/audio/subtitle codec
S Codec supports slices
D Codec supports direct rendering
T Codec can handle input truncated at random locations instead of only at
frame boundaries
-f
fmt' Force format.
-i filename
input file name
-y
Overwrite output files.
-t duration
Restrict the transcoded/captured video sequence to the duration specified in
seconds.
*hh:mm:ss[.xxx]* syntax is also supported. *-fs limit_size* Set the file
size limit.
-ss position
Seek to given time position in seconds.
*hh:mm:ss[.xxx]* syntax is also supported.
-itsoffset offset
Set the input time offset in seconds.
*[-]hh:mm:ss[.xxx]* syntax is also supported.
This option affects all the input files that follow it. The offset is added
to the timestamps of the input files. Specifying a positive offset means that
the corresponding streams are delayed by 'offset' seconds. `-title string'
Set the title. `-timestamp time' Set the timestamp. `-author string' Set the
author. `-copyright string' Set the copyright. `-comment string' Set the
comment. `-album string' Set the album. `-track number' Set the track. `-year
number' Set the year. `-v number' Set the logging verbosity level. `-target
type' Specify target file type ("vcd", "svcd", "dvd", "dv", "dv50", "pal-
vcd", "ntsc-svcd", ... ). All the format options (bitrate, codecs, buffer
sizes) are then set automatically. You can just type: ::
ffmpeg -i myfile.avi -target vcd /tmp/vcd.mpg
Nevertheless you can specify additional options as long as you know
they do not conflict with the standard, as in: ::
ffmpeg -i myfile.avi -target vcd -bf 2 /tmp/vcd.mpg
`-dframes number' Set the number of data frames to record. `-scodec
codec' Force subtitle codec ('copy' to copy stream). `-newsubtitle' Add
a new subtitle stream to the current output stream. `-slang code' Set
the ISO 639 language code (3 letters) of the current subtitle stream.
`3.3 Video Options`_
-----------------
`-b bitrate' Set the video bitrate in bit/s (default = 200 kb/s). `-vframes
number' Set the number of video frames to record. `-r fps' Set frame rate (Hz
value, fraction or abbreviation), (default = 25). `-s size' Set frame size.
The format is `wxh' (ffserver default = 160x128, ffmpeg default = same as
source). The following abbreviations are recognized: `sqcif' 128x96 `qcif'
176x144 `cif' 352x288 `4cif' 704x576 `16cif' 1408x1152 `qqvga' 160x120 `qvga'
320x240 `vga' 640x480 `svga' 800x600 `xga' 1024x768 `uxga' 1600x1200 `qxga'
2048x1536 `sxga' 1280x1024 `qsxga' 2560x2048 `hsxga' 5120x4096 `wvga' 852x480
`wxga' 1366x768 `wsxga' 1600x1024 `wuxga' 1920x1200 `woxga' 2560x1600
`wqsxga' 3200x2048 `wquxga' 3840x2400 `whsxga' 6400x4096 `whuxga' 7680x4800
`cga' 320x200 `ega' 640x350 `hd480' 852x480 `hd720' 1280x720 `hd1080'
1920x1080 `-aspect aspect' Set aspect ratio (4:3, 16:9 or 1.3333, 1.7777).
`-croptop size' Set top crop band size (in pixels). `-cropbottom size' Set
bottom crop band size (in pixels). `-cropleft size' Set left crop band size
(in pixels). `-cropright size' Set right crop band size (in pixels). `-padtop
size' Set top pad band size (in pixels). `-padbottom size' Set bottom pad
band size (in pixels). `-padleft size' Set left pad band size (in pixels).
`-padright size' Set right pad band size (in pixels). `-padcolor hex_color'
Set color of padded bands. The value for padcolor is expressed as a six digit
hexadecimal number where the first two digits represent red, the middle two
digits green and last two digits blue (default = 000000 (black)). `-vn'
Disable video recording. `-bt tolerance' Set video bitrate tolerance (in
bits, default 4000k). Has a minimum value of:
(target_bitrate/target_framerate). 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. `-maxrate bitrate' Set max video
bitrate (in bit/s). Requires -bufsize to be set. `-minrate bitrate' Set min
video bitrate (in bit/s). Most useful in setting up a CBR encode: ::
ffmpeg -i myfile.avi -b 4000k -minrate 4000k -maxrate 4000k -bufsize
1835k out.m2v
It is of little use elsewise. `-bufsize size' Set video buffer
verifier buffer size (in bits). `-vcodec codec' Force video codec to
codec. Use the *copy* special value to tell that the raw codec data
must be copied as is. `-sameq' Use same video quality as source (implies
VBR). `-pass n' Select the pass number (1 or 2). It is used to do two-
pass video encoding. The statistics of the video are recorded in the
first pass into a log file (see also the option -passlogfile), and in
the second pass that log file is used to generate the video at the exact
requested bitrate. On pass 1, you may just deactivate audio and set
output to null, examples for Windows and Unix: ::
ffmpeg -i foo.mov -vcodec libxvid -pass 1 -an -f rawvideo -y NUL
ffmpeg -i foo.mov -vcodec libxvid -pass 1 -an -f rawvideo -y
/dev/null
`-passlogfile prefix' Set two-pass log file name prefix to prefix,
the default file name prefix is "ffmpeg2pass". The complete file name
will be *PREFIX-N.log*, where N is a number specific to the output
stream. `-newvideo' Add a new video stream to the current output stream.
`3.4 Advanced Video Options`_
--------------------------
`-pix_fmt format' Set pixel format. Use 'list' as parameter to show all the
supported pixel formats. `-sws_flags flags' Set SwScaler flags (only
available when compiled with swscale support). `-g gop_size' Set the group of
pictures size. `-intra' Use only intra frames. `-vdt n' Discard threshold.
`-qscale q' Use fixed video quantizer scale (VBR). `-qmin q' minimum video
quantizer scale (VBR) `-qmax q' maximum video quantizer scale (VBR) `-qdiff
q' maximum difference between the quantizer scales (VBR) `-qblur blur' video
quantizer scale blur (VBR) (range 0.0 - 1.0) `-qcomp compression' video
quantizer scale compression (VBR) (default 0.5). Constant of ratecontrol
equation. Recommended range for default rc_eq: 0.0-1.0 `-lmin lambda' minimum
video lagrange factor (VBR) `-lmax lambda' max video lagrange factor (VBR)
`-mblmin lambda' minimum macroblock quantizer scale (VBR) `-mblmax lambda'
maximum macroblock quantizer scale (VBR) These four options (lmin, lmax,
mblmin, mblmax) use 'lambda' units, but you may use the QP2LAMBDA constant to
easily convert from 'q' units: ::
ffmpeg -i src.ext -lmax 21*QP2LAMBDA dst.ext
`-rc_init_cplx complexity' initial complexity for single pass
encoding `-b_qfactor factor' qp factor between P- and B-frames
`-i_qfactor factor' qp factor between P- and I-frames `-b_qoffset
offset' qp offset between P- and B-frames `-i_qoffset offset' qp offset
between P- and I-frames `-rc_eq equation' Set rate control equation (see
section `3.11 FFmpeg formula evaluator`_) (default = *tex^qComp*).
`-rc_override override' rate control override for specific intervals
`-me_method method' Set motion estimation method to method. Available
methods are (from lowest to best quality): `zero' Try just the (0, 0)
vector. `phods' `log' `x1' `hex' `umh' `epzs' (default method) `full'
exhaustive search (slow and marginally better than epzs) `-dct_algo
algo' Set DCT algorithm to algo. Available values are: `0' FF_DCT_AUTO
(default) `1' FF_DCT_FASTINT `2' FF_DCT_INT `3' FF_DCT_MMX `4'
FF_DCT_MLIB `5' FF_DCT_ALTIVEC `-idct_algo algo' Set IDCT algorithm to
algo. Available values are: `0' FF_IDCT_AUTO (default) `1' FF_IDCT_INT
`2' FF_IDCT_SIMPLE `3' FF_IDCT_SIMPLEMMX `4' FF_IDCT_LIBMPEG2MMX `5'
FF_IDCT_PS2 `6' FF_IDCT_MLIB `7' FF_IDCT_ARM `8' FF_IDCT_ALTIVEC `9'
FF_IDCT_SH4 `10' FF_IDCT_SIMPLEARM `-er n' Set error resilience to n.
`1' FF_ER_CAREFUL (default) `2' FF_ER_COMPLIANT `3' FF_ER_AGGRESSIVE `4'
FF_ER_VERY_AGGRESSIVE `-ec bit_mask' Set error concealment to bit_mask.
bit_mask is a bit mask of the following values: `1' FF_EC_GUESS_MVS
(default = enabled) `2' FF_EC_DEBLOCK (default = enabled) `-bf frames'
Use 'frames' B-frames (supported for MPEG-1, MPEG-2 and MPEG-4). `-mbd
mode' macroblock decision `0' FF_MB_DECISION_SIMPLE: Use mb_cmp (cannot
change it yet in FFmpeg). `1' FF_MB_DECISION_BITS: Choose the one which
needs the fewest bits. `2' FF_MB_DECISION_RD: rate distortion `-4mv'
Use four motion vector by macroblock (MPEG-4 only). `-part' Use data
partitioning (MPEG-4 only). `-bug param' Work around encoder bugs that
are not auto-detected. `-strict strictness' How strictly to follow the
standards. `-aic' Enable Advanced intra coding (h263+). `-umv' Enable
Unlimited Motion Vector (h263+) `-deinterlace' Deinterlace pictures.
`-ilme' Force interlacing support in encoder (MPEG-2 and MPEG-4 only).
Use this option if your input file is interlaced and you want to keep
the interlaced format for minimum losses. The alternative is to
deinterlace the input stream with `-deinterlace', but deinterlacing
introduces losses. `-psnr' Calculate PSNR of compressed frames.
`-vstats' Dump video coding statistics to *vstats_HHMMSS.log*.
`-vstats_file file' Dump video coding statistics to file. `-top n'
top=1/bottom=0/auto=-1 field first `-dc precision' Intra_dc_precision.
`-vtag fourcc/tag' Force video tag/fourcc. `-qphist' Show QP histogram.
`-vbsf bitstream_filter' Bitstream filters available are "dump_extra",
"remove_extra", "noise", "h264_mp4toannexb", "imxdump", "mjpegadump". ::
ffmpeg -i h264.mp4 -vcodec copy -vbsf h264_mp4toannexb -an out.h264
`3.5 Audio Options`_
-----------------
`-aframes number' Set the number of audio frames to record. `-ar freq' Set
the audio sampling frequency (default = 44100 Hz). `-ab bitrate' Set the
audio bitrate in bit/s (default = 64k). `-ac channels' Set the number of
audio channels (default = 1). `-an' Disable audio recording. `-acodec codec'
Force audio codec to codec. Use the *copy* special value to specify that
the raw codec data must be copied as is. `-newaudio' Add a new audio track to
the output file. If you want to specify parameters, do so before
*-newaudio* (*-acodec*, *-ab*, etc..). Mapping will be done
automatically, if the number of output streams is equal to the number of
input streams, else it will pick the first one that matches. You can override
the mapping using *-map* as usual. Example: ::
ffmpeg -i file.mpg -vcodec copy -acodec ac3 -ab 384k test.mpg -acodec
mp2 -ab 192k -newaudio
`-alang code' Set the ISO 639 language code (3 letters) of the
current audio stream.
`3.6 Advanced Audio options:`_
---------------------------
`-atag fourcc/tag' Force audio tag/fourcc. `-absf bitstream_filter' Bitstream
filters available are "dump_extra", "remove_extra", "noise", "mp3comp",
"mp3decomp".
`3.7 Subtitle options:`_
---------------------
`-scodec codec' Force subtitle codec ('copy' to copy stream). `-newsubtitle'
Add a new subtitle stream to the current output stream. `-slang code' Set the
ISO 639 language code (3 letters) of the current subtitle stream. `-sbsf
bitstream_filter' Bitstream filters available are "mov2textsub",
"text2movsub". ::
ffmpeg -i file.mov -an -vn -sbsf mov2textsub -scodec copy -f rawvideo
sub.txt
`3.8 Audio/Video grab options`_
----------------------------
`-vc channel' Set video grab channel (DV1394 only). `-tvstd standard' Set
television standard (NTSC, PAL (SECAM)). `-isync' Synchronize read on input.
`3.9 Advanced options`_
--------------------
`-map input_stream_id[:sync_stream_id]' Set stream mapping from input streams
to output streams. Just enumerate the input streams in the order you want
them in the output. sync_stream_id if specified sets the input stream to sync
against. `-map_meta_data outfile:infile' Set meta data information of outfile
from infile. `-debug' Print specific debug info. `-benchmark' Add timings for
benchmarking. `-dump' Dump each input packet. `-hex' When dumping packets,
also dump the payload. `-bitexact' Only use bit exact algorithms (for codec
testing). `-ps size' Set RTP payload size in bytes. `-re' Read input at
native frame rate. Mainly used to simulate a grab device. `-loop_input' Loop
over the input stream. Currently it works only for image streams. This option
is used for automatic FFserver testing. `-loop_output number_of_times'
Repeatedly loop output for formats that support looping such as animated GIF
(0 will loop the output infinitely). `-threads count' Thread count. `-vsync
parameter' Video sync method. Video will be stretched/squeezed to match the
timestamps, it is done by duplicating and dropping frames. With -map you can
select from which stream the timestamps should be taken. You can leave either
video or audio unchanged and sync the remaining stream(s) to the unchanged
one. `-async samples_per_second' Audio sync method. "Stretches/squeezes" the
audio stream to match the timestamps, the parameter is the maximum samples
per second by which the audio is changed. -async 1 is a special case where
only the start of the audio stream is corrected without any later correction.
`-copyts' Copy timestamps from input to output. `-shortest' Finish encoding
when the shortest input stream ends. `-dts_delta_threshold' Timestamp
discontinuity delta threshold. `-muxdelay seconds' Set the maximum demux-
decode delay. `-muxpreload seconds' Set the initial demux-decode delay.
`3.10 Preset files`_
-----------------
A preset file contains a sequence of option=value pairs, one for each line,
specifying a sequence of options which would be awkward to specify on the
command line. Lines starting with the hash ('#') character are ignored and
are used to provide comments. Check the *ffpresets* directory in the
FFmpeg source tree for examples.
Preset files are specified with the *vpre*, *apre* and *spre* options.
The options specified in a preset file are applied to the currently selected
codec of the same type as the preset option.
The argument passed to the preset options identifies the preset file to use
according to the following rules.
First ffmpeg searches for a file named arg.ffpreset in the directories
*$HOME/.ffmpeg*, and in the datadir defined at configuration time
(usually *PREFIX/share/ffmpeg*) in that order. For example, if the
argument is *libx264-max*, it will search for the file
*libx264-max.ffpreset*.
If no such file is found, then ffmpeg will search for a file named
codec_name-arg.ffpreset in the above-mentioned directories, where codec_name
is the name of the codec to which the preset file options will be applied.
For example, if you select the video codec with *-vcodec libx264* and use
*-vpre max*, then it will search for the file *libx264-max.ffpreset*.
Finally, if the above rules failed and the argument specifies an absolute
pathname, ffmpeg will search for that filename. This way you can specify the
absolute and complete filename of the preset file, for example
*./ffpresets/libx264-max.ffpreset*.
`3.11 FFmpeg formula evaluator`_
-----------------------------
When evaluating a rate control string, FFmpeg uses an internal formula
evaluator.
The following binary operators are available: *+*, *-*, ***, */*,
*^*.
The following unary operators are available: *+*, *-*, *(...)*.
The following statements are available: *ld*, *st*, *while*.
The following functions are available: sinh(x) cosh(x) tanh(x) sin(x) cos(x)
tan(x) atan(x) asin(x) acos(x) exp(x) log(x) abs(x) squish(x) gauss(x) mod(x,
y) max(x, y) min(x, y) eq(x, y) gte(x, y) gt(x, y) lte(x, y) lt(x, y)
bits2qp(bits) qp2bits(qp)
The following constants are available: PI E iTex pTex tex mv fCode iCount
mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex
`3.12 Protocols`_
--------------
The file name can be *-* to read from standard input or to write to
standard output.
FFmpeg also handles many protocols specified with an URL syntax.
Use 'ffmpeg -formats' to see a list of the supported protocols.
The protocol *http:* is currently used only to communicate with FFserver
(see the FFserver documentation). When FFmpeg will be a video player it will
also be used for streaming :-)
`4. Tips`_
=======
- For streaming at very low bitrate application, use a low frame rate
and a small GOP size. This is especially true for RealVideo where the
Linux player does not seem to be very fast, so it can miss frames. An
example is: ::
ffmpeg -g 3 -r 3 -t 10 -b 50k -s qcif -f rv10 /tmp/b.rm
- The parameter 'q' which is displayed while encoding is the current
quantizer. The value 1 indicates that a very good quality could be
achieved. The value 31 indicates the worst quality. If q=31 appears too
often, it means that the encoder cannot compress enough to meet your
bitrate. You must either increase the bitrate, decrease the frame rate or
decrease the frame size.
- If your computer is not fast enough, you can speed up the compression
at the expense of the compression ratio. You can use '-me zero' to speed
up motion estimation, and '-intra' to disable motion estimation
completely (you have only I-frames, which means it is about as good as
JPEG compression).
- To have very low audio bitrates, reduce the sampling frequency (down
to 22050 Hz for MPEG audio, 22050 or 11025 for AC-3).
- To have a constant quality (but a variable bitrate), use the option
'-qscale n' when 'n' is between 1 (excellent quality) and 31 (worst
quality).
- When converting video files, you can use the '-sameq' option which
uses the same quality factor in the encoder as in the decoder. It allows
almost lossless encoding.
--------
This document was generated on 21 April 2009 using `texi2html`_ 1.56k.
.. _1. Introduction: ffmpeg-doc.html#SEC1
.. _2. Quick Start: ffmpeg-doc.html#SEC2
.. _2.1 Video and Audio grabbing: ffmpeg-doc.html#SEC3
.. _2.2 X11 grabbing: ffmpeg-doc.html#SEC4
.. _2.3 Video and Audio file format conversion: ffmpeg-doc.html#SEC5
.. _3. Invocation: ffmpeg-doc.html#SEC6
.. _3.1 Syntax: ffmpeg-doc.html#SEC7
.. _3.2 Main options: ffmpeg-doc.html#SEC8
.. _3.3 Video Options: ffmpeg-doc.html#SEC9
.. _3.4 Advanced Video Options: ffmpeg-doc.html#SEC10
.. _3.5 Audio Options: ffmpeg-doc.html#SEC11
.. _3.6 Advanced Audio options:: ffmpeg-doc.html#SEC12
.. _3.7 Subtitle options:: ffmpeg-doc.html#SEC13
.. _3.8 Audio/Video grab options: ffmpeg-doc.html#SEC14
.. _3.9 Advanced options: ffmpeg-doc.html#SEC15
.. _3.10 Preset files: ffmpeg-doc.html#SEC16
.. _3.11 FFmpeg formula evaluator: ffmpeg-doc.html#SEC17
.. _3.12 Protocols: ffmpeg-doc.html#SEC18
.. _4. Tips: ffmpeg-doc.html#SEC19
.. _1. Introduction: ffmpeg-doc.html#TOC1
.. _2. Quick Start: ffmpeg-doc.html#TOC2
.. _2.1 Video and Audio grabbing: ffmpeg-doc.html#TOC3
.. _http://linux.bytesex.org/xawtv/: http://linux.bytesex.org/xawtv/
.. _2.2 X11 grabbing: ffmpeg-doc.html#TOC4
.. _2.3 Video and Audio file format conversion: ffmpeg-doc.html#TOC5
.. _3. Invocation: ffmpeg-doc.html#TOC6
.. _3.1 Syntax: ffmpeg-doc.html#TOC7
.. _3.2 Main options: ffmpeg-doc.html#TOC8
.. _3.3 Video Options: ffmpeg-doc.html#TOC9
.. _3.4 Advanced Video Options: ffmpeg-doc.html#TOC10
.. _3.5 Audio Options: ffmpeg-doc.html#TOC11
.. _3.6 Advanced Audio options:: ffmpeg-doc.html#TOC12
.. _3.7 Subtitle options:: ffmpeg-doc.html#TOC13
.. _3.8 Audio/Video grab options: ffmpeg-doc.html#TOC14
.. _3.9 Advanced options: ffmpeg-doc.html#TOC15
.. _3.10 Preset files: ffmpeg-doc.html#TOC16
.. _3.11 FFmpeg formula evaluator: ffmpeg-doc.html#TOC17
.. _3.12 Protocols: ffmpeg-doc.html#TOC18
.. _4. Tips: ffmpeg-doc.html#TOC19
.. _texi2html: http://wwwinfo.cern.ch/dis/texi2html/