Commit 3e12d48a authored by Juanjo's avatar Juanjo

- Updating docs....

Originally committed as revision 475 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent ba9b374f
......@@ -5,8 +5,8 @@ ffmpeg TODO list:
Planned in next release:
- fix ffserver.
- add raw h263 decoding support (see vivo streams)
- fix ffserver (partially done)
- add raw h263 decoding support, see vivo streams (partially done)
- add qscale out.
- add format autodetect with content (for example to distinguish
mpegvideo/mpegmux).
......@@ -20,9 +20,9 @@ BUGS:
- fix audio/video synchro (including real player synchro bugs)
- Improve the bit rate control for video codecs.
- Improve the bit rate control for video codecs (done).
- see ov511.o YUV problem (420 instead of 420P).
- see ov511.o YUV problem (420 instead of 420P) (done?).
- fix file caching pb in windows (add correct headers)
......@@ -30,7 +30,7 @@ BUGS:
- test/debug audio in flash format
- sort out ASF streaming pbs.
- sort out ASF streaming pbs (partially done)
- Improve psycho acoustic model for AC3 & mpeg audio.
......@@ -51,4 +51,4 @@ FEATURES:
- graphical user interface.
- animated gif as output format
- animated gif as output format (done).
......@@ -7,7 +7,7 @@
files or 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 the paramters, when
that ffmpeg tries to figure out all the parameters, when
possible. You have usually to give only the target bitrate you want.
FFmpeg can also convert from any sample rate to any other, and
......@@ -16,7 +16,7 @@
1) Video and Audio grabbing
---------------------------
* ffmpeg can use a video4linux compatible video source and any Open
* FFmpeg can use a video4linux compatible video source and any Open
Sound System audio source:
ffmpeg /tmp/out.mpg
......@@ -29,43 +29,72 @@
2) Video and Audio file format convertion
-----------------------------------------
* ffmpeg can use any supported file format and protocol as input :
* ffmpeg can use any supported file format and protocol as input:
examples:
Examples:
* You can input from YUV files:
ffmpeg -i /tmp/test%d.Y /tmp/out.mpg
If will use the files:
/tmp/test0.Y, /tmp/test0.U, /tmp/test0.V,
/tmp/test1.Y, /tmp/test1.U, /tmp/test1.V, etc...
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
The RAW YUV420P is a file containing RAW YUV planar, for each frame first
come the Y plane followed by U and V planes, which are half vertical and
horizontal resolution.
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 output to a RAW YUV420P file:
ffmpeg -i mydivx.avi -o 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
Convert the audio file a.wav and the raw yuv video file a.yuv to mpeg file a.mpg
Convert 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 convertions at the same time:
* You can also do audio and video convertions at the same time:
ffmpeg -i /tmp/a.wav -ar 22050 /tmp/a.mp2
Convert the sample rate of a.wav to 22050 Hz and encode it to MPEG audio.
Convert the sample rate of a.wav to 22050 Hz and encode it to MPEG audio.
* you can encode to several formats at the same time and define a
* 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 64 /tmp/a.mp2 -ab 128 /tmp/b.mp2 -map 0:0 -map 0:0
convert a.wav to a.mp2 at 64 kbits and b.mp2 at 128 kbits. '-map
Convert a.wav to a.mp2 at 64 kbits and b.mp2 at 128 kbits. '-map
file:index' specify which input stream is used for each output
stream, in the order of the definition of output streams.
NOTE: to see the supported input formats, use 'ffmpeg -formats'.
* You can transcode decrypted VOBs
ffmpeg -i snatch_1.vob -f avi -vcodec mpeg4 -b 800 -g 300 -bf 2 -acodec
mp3 -ab 128 snatch.avi
This is a typicall DVD ripper example, input from a VOB file, output to
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, GOP size is 300
that means an INTRA frame every 10 seconds for 29.97 fps input video.
Also the audio stream is MP3 encoded so you need LAME support which is
enabled using '--enable-mp3lame' when configuring.
The mapping is particullary usefull for DVD transcoding to get the desired
audio language.
NOTE: to see the supported input formats, use 'ffmpeg -formats'.
2) Invocation
-------------
......@@ -87,17 +116,18 @@ NOTE: to see the supported input formats, use 'ffmpeg -formats'.
* Main options are:
-L show license
-h show help
-formats show available formats, codecs and protocols
-L print the LICENSE
-formats show available formats, codecs, protocols, ...
-f fmt force format
-i filename input file name
-y overwrite output files
-t duration set recording time in seconds
-f format set encoding format [guessed]
-t duration set the recording time
-title string set the title
-author string set the author
-copyright string set the copyright
-comment string set the comment
-b bitrate set video bitrate (in kbit/s)
* Video Options are:
......@@ -105,6 +135,9 @@ NOTE: to see the supported input formats, use 'ffmpeg -formats'.
-r fps set frame rate [25]
-b bitrate set the video bitrate in kbit/s [200]
-vn disable video recording [no]
-bt tolerance set video bitrate tolerance (in kbit/s)
-sameq use same video quality as source (implies VBR)
-ab bitrate set audio bitrate (in kbit/s)
* Audio Options are:
......@@ -113,18 +146,30 @@ NOTE: to see the supported input formats, use 'ffmpeg -formats'.
-ac channels set the number of audio channels [1]
-an disable audio recording [no]
Advanced options are:
* Advanced options are:
-map file:stream set input stream mapping
-g gop_size set the group of picture size [12]
-intra use only intra frames [no]
-g gop_size set the group of picture size
-intra use only intra frames
-qscale q use fixed video quantiser scale (VBR)
-c comment set the comment string
-vd device set video4linux device name [/dev/video]
-vcodec codec force audio codec
-qmin q min video quantiser scale (VBR)
-qmax q max video quantiser scale (VBR)
-qdiff q max difference between the quantiser scale (VBR)
-qblur blur video quantiser scale blur (VBR)
-qcomp compression video quantiser scale compression (VBR)
-vd device set video device
-vcodec codec force video codec
-me method set motion estimation method
-ad device set audio device name [/dev/dsp]
-bf frames use 'frames' B frames (only MPEG-4)
-hq activate high quality settings
-4mv use four motion vector by macroblock (only MPEG-4)
-ad device set audio device
-acodec codec force audio codec
-deinterlace deinterlace pictures
-benchmark add timings for benchmarking
-hex dump each input packet
-psnr calculate PSNR of compressed frames
-vstats dump video coding statistics to file
The output file can be "-" to output to a pipe. This is only possible
with mpeg1 and h263 formats.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment