]> git.sesse.net Git - ffmpeg/blobdiff - doc/ffmpeg-doc.texi
ZMBV encoder
[ffmpeg] / doc / ffmpeg-doc.texi
index 8910dc679aa75a17199ed40fb87f242f55af8c44..6f42f33b80e809fd2b7990620efca7b6670b5661 100644 (file)
@@ -139,9 +139,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
@@ -158,6 +180,9 @@ Show license.
 @item -h
 Show help.
 
+@item -version
+Show version.
+
 @item -formats
 Show available formats, codecs, protocols, ...
 
@@ -174,13 +199,27 @@ Overwrite output files.
 Set the recording time in seconds.
 @code{hh:mm:ss[.xxx]} syntax is also supported.
 
+@item -fs limit_size
+Set the file size limit.
+
 @item -ss position
 Seek to given time position in seconds.
 @code{hh:mm:ss[.xxx]} syntax is also supported.
 
+@item -itsoffset offset
+Set the input time offset in seconds.
+@code{[-]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.
+
 @item -title string
 Set the title.
 
+@item -timestamp time
+Set the timestamp.
+
 @item -author string
 Set the author.
 
@@ -190,14 +229,20 @@ Set the copyright.
 @item -comment string
 Set the comment.
 
+@item -album string
+Set the album.
+
 @item -track number
 Set the track.
 
 @item -year number
 Set the year.
 
+@item -v verbose
+Control amount of logging.
+
 @item -target type
-Specify target file type ("vcd", "svcd", "dvd", "dv", "pal-vcd",
+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:
 
@@ -212,13 +257,17 @@ they do not conflict with the standard, as in:
 ffmpeg -i myfile.avi -target vcd -bf 2 /tmp/vcd.mpg
 @end example
 
-@item -itsoffset offset
-Set the input time offset in seconds.
-@code{[-]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.
+@item -dframes number
+Set the number of data frames to record.
+
+@item -scodec codec
+Force subtitle codec ('copy' to copy stream).
+
+@item -newsubtitle
+Add a new subtitle stream to the current output stream.
+
+@item -slang code
+Set the ISO 639 language code (3 letters) of the current subtitle stream.
 
 @end table
 
@@ -227,8 +276,10 @@ streams are delayed by 'offset' seconds.
 @table @option
 @item -b bitrate
 Set the video bitrate in bit/s (default = 200 kb/s).
+@item -vframes number
+Set the number of video frames to record.
 @item -r fps
-Set frame rate (default = 25).
+Set frame rate (Hz value, fraction or abbreviation), (default = 25).
 @item -s size
 Set frame size. The format is @samp{wxh} (default = 160x128).
 The following abbreviations are recognized:
@@ -291,15 +342,22 @@ in the second pass.
 @item -passlogfile file
 Set two pass logfile name to @var{file}.
 
+@item -newvideo
+Add a new video stream to the current output stream.
+
 @end table
 
 @section Advanced Video Options
 
 @table @option
+@item -pix_fmt format
+Set pixel format.
 @item -g gop_size
 Set the group of pictures size.
 @item -intra
 Use only intra frames.
+@item -vdt n
+Discard threshold.
 @item -qscale q
 Use fixed video quantizer scale (VBR).
 @item -qmin q
@@ -466,11 +524,23 @@ Dump video coding statistics to @file{vstats_HHMMSS.log}.
 @item -vhook module
 Insert video processing @var{module}. @var{module} contains the module
 name and its parameters separated by spaces.
+@item -top n
+top=1/bottom=0/auto=-1 field first
+@item -dc precision
+Intra_dc_precision.
+@item -vtag fourcc/tag
+Force video tag/fourcc.
+@item -qphist
+Show QP histogram.
+@item -vbsf bitstream filter
+Bitstream filters available are "dump_extra", "remove_extra", "noise".
 @end table
 
 @section Audio Options
 
 @table @option
+@item -aframes number
+Set the number of audio frames to record.
 @item -ar freq
 Set the audio sampling frequency (default = 44100 Hz).
 @item -ab bitrate
@@ -494,6 +564,28 @@ Example:
 @example
 ffmpeg -i file.mpg -vcodec copy -acodec ac3 -ab 384 test.mpg -acodec mp2 -ab 192 -newaudio
 @end example
+@item -alang code
+Set the ISO 639 language code (3 letters) of the current audio stream.
+@end table
+
+@section Advanced Audio options:
+
+@table @option
+@item -atag fourcc/tag
+Force audio tag/fourcc.
+@item -absf bitstream filter
+Bitstream filters available are "dump_extra", "remove_extra", "noise", "mp3comp", "mp3decomp".
+@end table
+
+@section Subtitle options:
+
+@table @option
+@item -scodec codec
+Force subtitle codec ('copy' to copy stream).
+@item -newsubtitle
+Add a new subtitle stream to the current output stream.
+@item -slang code
+Set the ISO 639 language code (3 letters) of the current subtitle stream.
 @end table
 
 @section Audio/Video grab options
@@ -509,6 +601,10 @@ Set television standard (NTSC, PAL (SECAM)).
 Set DV1394 grab.
 @item -ad device
 Set audio device (e.g. @file{/dev/dsp}).
+@item -grab format
+Request grabbing using.
+@item -gd device
+Set grab device.
 @end table
 
 @section Advanced options
@@ -518,24 +614,30 @@ Set audio device (e.g. @file{/dev/dsp}).
 Set stream mapping from input streams to output streams.
 Just enumerate the input streams in the order you want them in the output.
 [input stream id] sets the (input) stream to sync against.
+@item -map_meta_data outfile:infile
+Set meta data information of outfile from infile.
 @item -debug
 Print specific debug info.
 @item -benchmark
 Add timings for benchmarking.
-@item -hex
+@item -dump
 Dump each input packet.
+@item -hex
+When dumping packets, also dump the payload.
 @item -bitexact
 Only use bit exact algorithms (for codec testing).
 @item -ps size
 Set packet size in bits.
 @item -re
 Read input at native frame rate. Mainly used to simulate a grab device.
-@item -loop
+@item -loop_input
 Loop over the input stream. Currently it works only for image
 streams. This option is used for automatic FFserver testing.
 @item -loop_output number_of_times
 Repeatedly loop output for formats that support looping such as animated GIF
 (0 will loop the output infinitely).
+@item -threads count
+Thread count.
 @item -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
@@ -674,6 +776,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.
@@ -791,6 +927,8 @@ following image formats are supported:
 @item MSMPEG4 V3             @tab  X  @tab  X
 @item WMV7                   @tab  X  @tab  X
 @item WMV8                   @tab  X  @tab  X @tab not completely working
+@item WMV9                   @tab     @tab  X @tab not completely working
+@item VC1                    @tab     @tab  X
 @item H.261                  @tab  X  @tab  X
 @item H.263(+)               @tab  X  @tab  X @tab also known as RealVideo 1.0
 @item H.264                  @tab     @tab  X
@@ -851,7 +989,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.
@@ -873,7 +1011,6 @@ following image formats are supported:
 @item AC3                    @tab  IX  @tab  IX
 @tab liba52 is used internally for decoding.
 @item Vorbis                 @tab  X   @tab  X
-@tab Supported through the external library libvorbis.
 @item WMA V1/V2              @tab      @tab X
 @item AAC                    @tab X    @tab X
 @tab Supported through the external library libfaac/libfaad.
@@ -1194,8 +1331,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.