]> git.sesse.net Git - ffmpeg/blobdiff - doc/ffmpeg-doc.texi
-s option have different defaults for ffmpeg and ffserver cases.
[ffmpeg] / doc / ffmpeg-doc.texi
index a5d2ceef131c6dccf42a210dfd43ed5f6f50c1b8..768471b53f51241ba8f2cc0153977b0b4ffd922b 100644 (file)
@@ -39,6 +39,24 @@ launching FFmpeg with any TV viewer such as xawtv
 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:
@@ -139,9 +157,31 @@ ffmpeg [[infile options][@option{-i} @var{infile}]]... @{[outfile options] @var{
 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
@@ -259,7 +299,7 @@ Set the number of video frames to record.
 @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
@@ -754,6 +794,40 @@ It allows almost lossless encoding.
 
 @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.
@@ -894,11 +968,11 @@ following image formats are supported:
 @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
@@ -933,7 +1007,7 @@ following image formats are supported:
 @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.
@@ -955,7 +1029,7 @@ following image formats are supported:
 @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
@@ -1016,6 +1090,8 @@ following image formats are supported:
 @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.
@@ -1025,12 +1101,6 @@ performance on systems without hardware floating point support).
 
 @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
@@ -1038,6 +1108,10 @@ 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
@@ -1275,8 +1349,6 @@ and for a build with shared libraries
 ./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.