have to set the audio recording levels correctly with a
standard mixer.
+@section X11 grabbing
+
+FFmpeg can grab the X11 display.
+
+@example
+ffmpeg -f x11grab -vd x11:0.0 /tmp/out.mpg
+@end example
+
+0.0 is display.screen number of your X11 server, same as
+the DISPLAY environment variable.
+
+@example
+ffmpeg -f x11grab -vd x11:0.0+10,20 /tmp/out.mpg
+@end example
+
+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.
+
@section Video and Audio file format conversion
* FFmpeg can use any supported file format and protocol as input:
If no input file is given, audio/video grabbing is done.
As a general rule, options are applied to the next specified
-file. For example, if you give the @option{-b 64k} option, it sets the video
-bitrate of the next file. The format option may be needed for raw input
-files.
+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:
+@example
+ffmpeg -i input.avi -b 64k output.avi
+@end example
+
+* To force the frame rate of the input and output file to 24 fps:
+@example
+ffmpeg -r 24 -i input.avi output.avi
+@end example
+
+* To force the frame rate of the output file to 24 fps:
+@example
+ffmpeg -i input.avi -r 24 output.avi
+@end example
+
+* To force the frame rate of input file to 1 fps and the output file to 24 fps:
+@example
+ffmpeg -r 1 -i input.avi -r 24 output.avi
+@end example
+
+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
@item -r fps
Set frame rate (Hz value, fraction or abbreviation), (default = 25).
@item -s size
-Set frame size. The format is @samp{wxh} (default = 160x128).
+Set frame size. The format is @samp{wxh} (ffserver default = 160x128, ffmpeg default = same as source).
The following abbreviations are recognized:
@table @samp
@item sqcif
@end itemize
+
+@chapter external libraries
+
+FFmpeg can be hooked up with a number of external libraries to add support
+for more formats.
+
+@section AMR
+
+AMR comes in two different flavors, WB and NB. FFmpeg can make use of the
+AMR WB (floating-point mode) and the AMR NB (both floating-point and
+fixed-point mode) reference decoders and encoders.
+
+@itemize
+
+@item For AMR WB floating-point download TS26.204 V5.1.0 from
+@url{http://www.3gpp.org/ftp/Specs/archive/26_series/26.204/26204-510.zip}
+and extract the source to @file{libavcodec/amrwb_float/}.
+
+@item For AMR NB floating-point download TS26.104 REL-5 V5.1.0 from
+@url{http://www.3gpp.org/ftp/Specs/archive/26_series/26.104/26104-510.zip}
+and extract the source to @file{libavcodec/amr_float/}.
+If you try this on Alpha, you may need to change @code{Word32} to
+@code{int} in @file{amr/typedef.h}.
+
+@item For AMR NB fixed-point download TS26.073 REL-5 V5.1.0 from
+@url{http://www.3gpp.org/ftp/Specs/archive/26_series/26.073/26073-510.zip}
+and extract the source to @file{libavcodec/amr}.
+You must also add @code{-DMMS_IO} and remove @code{-pedantic-errors}
+to/from @code{CFLAGS} in @file{libavcodec/amr/makefile}, i.e.
+``@code{CFLAGS = -Wall -I. \$(CFLAGS_\$(MODE)) -D\$(VAD) -DMMS_IO}''.
+
+@end itemize
+
+
@chapter Supported File Formats and Codecs
You can use the @code{-formats} option to have an exhaustive list.
@item Sorenson Video 3 @tab @tab X @tab fourcc: SVQ3
@item On2 VP3 @tab @tab X @tab still experimental
@item On2 VP5 @tab @tab X @tab fourcc: VP50
-@item On2 VP6 @tab @tab X @tab fourcc: VP62
-@item Theora @tab @tab X @tab still experimental
+@item On2 VP6 @tab @tab X @tab fourcc: VP60,VP61,VP62
+@item Theora @tab X @tab X @tab still experimental
@item Intel Indeo 3 @tab @tab X
@item FLV @tab X @tab X @tab Sorenson H.263 used in Flash
-@item Flash Screen Video @tab @tab X @tab fourcc: FSV1
+@item Flash Screen Video @tab X @tab X @tab fourcc: FSV1
@item ATI VCR1 @tab @tab X @tab fourcc: VCR1
@item ATI VCR2 @tab @tab X @tab fourcc: VCR2
@item Cirrus Logic AccuPak @tab @tab X @tab fourcc: CLJR
@item Fraps FPS1 @tab @tab X @tab
@item CamStudio @tab @tab X @tab fourcc: CSCD
@item American Laser Games Video @tab @tab X @tab Used in games like Mad Dog McCree
-@item ZMBV @tab @tab X @tab
+@item ZMBV @tab X @tab X @tab Encoder works only on PAL8
@item AVS Video @tab @tab X @tab Video encoding used by the Creature Shock game.
@item Smacker Video @tab @tab X @tab Video encoding used in Smacker.
@item RTjpeg @tab @tab X @tab Video encoding used in NuppelVideo files.
@item AC3 @tab IX @tab IX
@tab liba52 is used internally for decoding.
@item Vorbis @tab X @tab X
-@item WMA V1/V2 @tab @tab X
+@item WMA V1/V2 @tab X @tab X
@item AAC @tab X @tab X
@tab Supported through the external library libfaac/libfaad.
@item Microsoft ADPCM @tab X @tab X
@item Cin Audio @tab @tab X
@tab Codec used in Delphine Software games.
@item Intel Music Coder @tab @tab X
+@item Musepack @tab @tab X
+@tab Only SV7 is supported
@end multitable
@code{X} means that encoding (resp. decoding) is supported.
@chapter Platform Specific information
-@section Linux
-
-FFmpeg should be compiled with at least GCC 2.95.3. GCC 3.2 is the
-preferred compiler now for FFmpeg. All future optimizations will depend on
-features only found in GCC 3.2.
-
@section BSD
BSD make will not build FFmpeg, you need to install and use GNU Make
@section Windows
+To get help and instructions for using FFmpeg under Windows, check out
+the FFmpeg Windows Help Forum at
+@url{http://arrozcru.no-ip.org/ffmpeg/}.
+
@subsection Native Windows compilation
@itemize
./configure --enable-mingw32 --enable-memalign-hack --enable-shared --disable-static --extra-cflags=-mno-cygwin --extra-libs=-mno-cygwin
@end example
-@section Mac OS X
-
@section BeOS
The configure script should guess the configuration itself.