]> git.sesse.net Git - ffmpeg/blobdiff - doc/ffmpeg-doc.texi
ETIME -> ETIMEDOUT. Patch by Sam Gerstein <sgerstein bluefinlab com>.
[ffmpeg] / doc / ffmpeg-doc.texi
index 968fee3998adfd61edc74c8639da70094be2ab17..2736249de5632f16a0f047399dd06c16cf74fb10 100644 (file)
@@ -222,36 +222,12 @@ specified for the inputs.
 @c man end
 
 @c man begin OPTIONS
 @c man end
 
 @c man begin OPTIONS
-@section Main options
-
-@table @option
-@item -L
-Show license.
 
 
-@item -h
-Show help.
+@include fftools-common-opts.texi
 
 
-@item -version
-Show version.
-
-@item -formats
-Show available formats, codecs, bitstream filters, protocols, and frame size and frame rate abbreviations.
+@section Main options
 
 
-The fields preceding the format and codec names have the following meanings:
-@table @samp
-@item D
-Decoding available
-@item E
-Encoding available
-@item V/A/S
-Video/audio/subtitle codec
-@item S
-Codec supports slices
-@item D
-Codec supports direct rendering
-@item T
-Codec can handle input truncated at random locations instead of only at frame boundaries
-@end table
+@table @option
 
 @item -f @var{fmt}
 Force format.
 
 @item -f @var{fmt}
 Force format.
@@ -282,29 +258,16 @@ 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.
 
 Specifying a positive offset means that the corresponding
 streams are delayed by 'offset' seconds.
 
-@item -title @var{string}
-Set the title.
-
 @item -timestamp @var{time}
 Set the timestamp.
 
 @item -timestamp @var{time}
 Set the timestamp.
 
-@item -author @var{string}
-Set the author.
-
-@item -copyright @var{string}
-Set the copyright.
-
-@item -comment @var{string}
-Set the comment.
-
-@item -album @var{string}
-Set the album.
-
-@item -track @var{number}
-Set the track.
+@item -metadata @var{key}=@var{value}
+Set a metadata key/value pair.
 
 
-@item -year @var{number}
-Set the year.
+For example, for setting the title in the output file:
+@example
+ffmpeg -i in.avi -metadata title="my title" out.flv
+@end example
 
 @item -v @var{number}
 Set the logging verbosity level.
 
 @item -v @var{number}
 Set the logging verbosity level.
@@ -484,6 +447,9 @@ stream.
 @item -newvideo
 Add a new video stream to the current output stream.
 
 @item -newvideo
 Add a new video stream to the current output stream.
 
+@item -vlang @var{code}
+Set the ISO 639 language code (3 letters) of the current video stream.
+
 @end table
 
 @section Advanced Video Options
 @end table
 
 @section Advanced Video Options
@@ -493,7 +459,7 @@ Add a new video stream to the current output stream.
 Set pixel format. Use 'list' as parameter to show all the supported
 pixel formats.
 @item -sws_flags @var{flags}
 Set pixel format. Use 'list' as parameter to show all the supported
 pixel formats.
 @item -sws_flags @var{flags}
-Set SwScaler flags (only available when compiled with swscale support).
+Set SwScaler flags.
 @item -g @var{gop_size}
 Set the group of pictures size.
 @item -intra
 @item -g @var{gop_size}
 Set the group of pictures size.
 @item -intra
@@ -692,6 +658,8 @@ Set the number of audio frames to record.
 Set the audio sampling frequency (default = 44100 Hz).
 @item -ab @var{bitrate}
 Set the audio bitrate in bit/s (default = 64k).
 Set the audio sampling frequency (default = 44100 Hz).
 @item -ab @var{bitrate}
 Set the audio bitrate in bit/s (default = 64k).
+@item -aq @var{q}
+Set the audio quality (codec-specific, VBR).
 @item -ac @var{channels}
 Set the number of audio channels (default = 1).
 @item -an
 @item -ac @var{channels}
 Set the number of audio channels (default = 1).
 @item -an
@@ -733,6 +701,8 @@ Force subtitle codec ('copy' to copy stream).
 Add a new subtitle stream to the current output stream.
 @item -slang @var{code}
 Set the ISO 639 language code (3 letters) of the current subtitle stream.
 Add a new subtitle stream to the current output stream.
 @item -slang @var{code}
 Set the ISO 639 language code (3 letters) of the current subtitle stream.
+@item -sn
+Disable subtitle recording.
 @item -sbsf @var{bitstream_filter}
 Bitstream filters available are "mov2textsub", "text2movsub".
 @example
 @item -sbsf @var{bitstream_filter}
 Bitstream filters available are "mov2textsub", "text2movsub".
 @example
@@ -764,7 +734,10 @@ Set meta data information of @var{outfile} from @var{infile}.
 @item -debug
 Print specific debug info.
 @item -benchmark
 @item -debug
 Print specific debug info.
 @item -benchmark
-Add timings for benchmarking.
+Show benchmarking information at the end of an encode.
+Shows CPU time used and maximum memory consumption.
+Maximum memory consumption is not supported on all systems,
+it will usually display as 0 if not supported.
 @item -dump
 Dump each input packet.
 @item -hex
 @item -dump
 Dump each input packet.
 @item -hex
@@ -772,7 +745,7 @@ When dumping packets, also dump the payload.
 @item -bitexact
 Only use bit exact algorithms (for codec testing).
 @item -ps @var{size}
 @item -bitexact
 Only use bit exact algorithms (for codec testing).
 @item -ps @var{size}
-Set packet size in bits.
+Set RTP payload size in bytes.
 @item -re
 Read input at native frame rate. Mainly used to simulate a grab device.
 @item -loop_input
 @item -re
 Read input at native frame rate. Mainly used to simulate a grab device.
 @item -loop_input
@@ -784,8 +757,15 @@ Repeatedly loop output for formats that support looping such as animated GIF
 @item -threads @var{count}
 Thread count.
 @item -vsync @var{parameter}
 @item -threads @var{count}
 Thread count.
 @item -vsync @var{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
+Video sync method.
+0   Each frame is passed with its timestamp from the demuxer to the muxer
+1   Frames will be duplicated and dropped to achieve exactly the requested
+    constant framerate.
+2   Frames are passed through with their timestamp or dropped so as to prevent
+    2 frames from having the same timestamp
+-1  Chooses between 1 and 2 depending on muxer capabilities. This is the default method.
+
+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.
 @item -async @var{samples_per_second}
 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.
 @item -async @var{samples_per_second}
@@ -813,13 +793,17 @@ awkward to specify on the command line. Lines starting with the hash
 ('#') character are ignored and are used to provide comments. Check
 the @file{ffpresets} directory in the FFmpeg source tree for examples.
 
 ('#') character are ignored and are used to provide comments. Check
 the @file{ffpresets} directory in the FFmpeg source tree for examples.
 
-Preset files are specified with the @code{vpre}, @code{apre} and
-@code{spre} options. The options specified in a preset file are
+Preset files are specified with the @code{vpre}, @code{apre},
+@code{spre}, and @code{fpre} options. The @code{fpre} option takes the
+filename of the preset instead of a preset name as input and can be
+used for any kind of codec. For the @code{vpre}, @code{apre}, and
+@code{spre} options, the options specified in a preset file are
 applied to the currently selected codec of the same type as the preset
 option.
 
 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.
+The argument passed to the @code{vpre}, @code{apre}, and @code{spre}
+preset options identifies the preset file to use according to the
+following rules:
 
 First ffmpeg searches for a file named @var{arg}.ffpreset in the
 directories @file{$HOME/.ffmpeg}, and in the datadir defined at
 
 First ffmpeg searches for a file named @var{arg}.ffpreset in the
 directories @file{$HOME/.ffmpeg}, and in the datadir defined at
@@ -834,12 +818,7 @@ the preset file options will be applied. For example, if you select
 the video codec with @code{-vcodec libx264} and use @code{-vpre max},
 then it will search for the file @file{libx264-max.ffpreset}.
 
 the video codec with @code{-vcodec libx264} and use @code{-vpre max},
 then it will search for the file @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 @file{./ffpresets/libx264-max.ffpreset}.
-
-@node FFmpeg formula evaluator
+@anchor{FFmpeg formula evaluator}
 @section FFmpeg formula evaluator
 
 When evaluating a rate control string, FFmpeg uses an internal formula
 @section FFmpeg formula evaluator
 
 When evaluating a rate control string, FFmpeg uses an internal formula
@@ -930,7 +909,7 @@ to standard output.
 
 FFmpeg also handles many protocols specified with an URL syntax.
 
 
 FFmpeg also handles many protocols specified with an URL syntax.
 
-Use 'ffmpeg -formats' to see a list of the supported protocols.
+Use 'ffmpeg -protocols' to see a list of the supported protocols.
 
 The protocol @code{http:} is currently used only to communicate with
 FFserver (see the FFserver documentation). When FFmpeg will be a
 
 The protocol @code{http:} is currently used only to communicate with
 FFserver (see the FFserver documentation). When FFmpeg will be a