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: ...@@ -5,8 +5,8 @@ ffmpeg TODO list:
Planned in next release: Planned in next release:
- fix ffserver. - fix ffserver (partially done)
- add raw h263 decoding support (see vivo streams) - add raw h263 decoding support, see vivo streams (partially done)
- add qscale out. - add qscale out.
- add format autodetect with content (for example to distinguish - add format autodetect with content (for example to distinguish
mpegvideo/mpegmux). mpegvideo/mpegmux).
...@@ -20,9 +20,9 @@ BUGS: ...@@ -20,9 +20,9 @@ BUGS:
- fix audio/video synchro (including real player synchro 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) - fix file caching pb in windows (add correct headers)
...@@ -30,7 +30,7 @@ BUGS: ...@@ -30,7 +30,7 @@ BUGS:
- test/debug audio in flash format - 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. - Improve psycho acoustic model for AC3 & mpeg audio.
...@@ -51,4 +51,4 @@ FEATURES: ...@@ -51,4 +51,4 @@ FEATURES:
- graphical user interface. - graphical user interface.
- animated gif as output format - animated gif as output format (done).
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
files or from a live audio/video source. files or from a live audio/video source.
The command line interface is designed to be intuitive, in the sense 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. possible. You have usually to give only the target bitrate you want.
FFmpeg can also convert from any sample rate to any other, and FFmpeg can also convert from any sample rate to any other, and
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
1) Video and Audio grabbing 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: Sound System audio source:
ffmpeg /tmp/out.mpg ffmpeg /tmp/out.mpg
...@@ -29,43 +29,72 @@ ...@@ -29,43 +29,72 @@
2) Video and Audio file format convertion 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 ffmpeg -i /tmp/test%d.Y /tmp/out.mpg
If will use the files: It will use the files:
/tmp/test0.Y, /tmp/test0.U, /tmp/test0.V, /tmp/test0.Y, /tmp/test0.U, /tmp/test0.V,
/tmp/test1.Y, /tmp/test1.U, /tmp/test1.V, etc... /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 * You can output to a RAW YUV420P file:
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 ffmpeg -i mydivx.avi -o hugefile.yuv
if ffmpeg cannot guess it.
* You can set several input files and output files: * You can set several input files and output files:
ffmpeg -i /tmp/a.wav -s 640x480 -i /tmp/a.yuv /tmp/a.mpg 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 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: 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 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 file:index' specify which input stream is used for each output
stream, in the order of the definition of output streams. 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 2) Invocation
------------- -------------
...@@ -87,17 +116,18 @@ NOTE: to see the supported input formats, use 'ffmpeg -formats'. ...@@ -87,17 +116,18 @@ NOTE: to see the supported input formats, use 'ffmpeg -formats'.
* Main options are: * Main options are:
-L show license
-h show help -h show help
-formats show available formats, codecs and protocols -formats show available formats, codecs, protocols, ...
-L print the LICENSE -f fmt force format
-i filename input file name -i filename input file name
-y overwrite output files -y overwrite output files
-t duration set recording time in seconds -t duration set the recording time
-f format set encoding format [guessed]
-title string set the title -title string set the title
-author string set the author -author string set the author
-copyright string set the copyright -copyright string set the copyright
-comment string set the comment -comment string set the comment
-b bitrate set video bitrate (in kbit/s)
* Video Options are: * Video Options are:
...@@ -105,6 +135,9 @@ NOTE: to see the supported input formats, use 'ffmpeg -formats'. ...@@ -105,6 +135,9 @@ NOTE: to see the supported input formats, use 'ffmpeg -formats'.
-r fps set frame rate [25] -r fps set frame rate [25]
-b bitrate set the video bitrate in kbit/s [200] -b bitrate set the video bitrate in kbit/s [200]
-vn disable video recording [no] -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: * Audio Options are:
...@@ -113,18 +146,30 @@ NOTE: to see the supported input formats, use 'ffmpeg -formats'. ...@@ -113,18 +146,30 @@ NOTE: to see the supported input formats, use 'ffmpeg -formats'.
-ac channels set the number of audio channels [1] -ac channels set the number of audio channels [1]
-an disable audio recording [no] -an disable audio recording [no]
Advanced options are: * Advanced options are:
-map file:stream set input stream mapping -map file:stream set input stream mapping
-g gop_size set the group of picture size [12] -g gop_size set the group of picture size
-intra use only intra frames [no] -intra use only intra frames
-qscale q use fixed video quantiser scale (VBR) -qscale q use fixed video quantiser scale (VBR)
-c comment set the comment string -qmin q min video quantiser scale (VBR)
-vd device set video4linux device name [/dev/video] -qmax q max video quantiser scale (VBR)
-vcodec codec force audio codec -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 -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 -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 The output file can be "-" to output to a pipe. This is only possible
with mpeg1 and h263 formats. 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