diff options
author | Juanjo | 2002-05-09 04:37:38 +0000 |
---|---|---|
committer | Juanjo | 2002-05-09 04:37:38 +0000 |
commit | 3e12d48a89e3385a7da76cc086333359911c2131 (patch) | |
tree | c072d6a9a9d7bfc22af091724ed8933b28dc6bd2 | |
parent | ba9b374f8971eb3200a36be9b934f5c6e6ef590d (diff) |
- Updating docs....
Originally committed as revision 475 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | doc/TODO | 12 | ||||
-rw-r--r-- | doc/ffmpeg.txt | 109 |
2 files changed, 83 insertions, 38 deletions
@@ -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). diff --git a/doc/ffmpeg.txt b/doc/ffmpeg.txt index 7352a662e2..c2ec309772 100644 --- a/doc/ffmpeg.txt +++ b/doc/ffmpeg.txt @@ -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,24 +116,28 @@ 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: --s size set frame size [160x128] --r fps set frame rate [25] --b bitrate set the video bitrate in kbit/s [200] --vn disable video recording [no] +-s size set frame size [160x128] +-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. |