diff options
author | Fabrice Bellard <fabrice@bellard.org> | 2002-10-27 22:00:34 +0000 |
---|---|---|
committer | Fabrice Bellard <fabrice@bellard.org> | 2002-10-27 22:00:34 +0000 |
commit | 9181577ccb1ddcb3d256b533de2badd0a4fd83e9 (patch) | |
tree | 7d49b39804581b45eb9da267cd58c5fd5da05235 /doc/ffmpeg.txt | |
parent | 1c0a593ac871784baea4b6de368db6d5d86ba8b9 (diff) | |
download | ffmpeg-9181577ccb1ddcb3d256b533de2badd0a4fd83e9.tar.gz |
new texinfo documentation - HTML version also included
Originally committed as revision 1085 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'doc/ffmpeg.txt')
-rw-r--r-- | doc/ffmpeg.txt | 226 |
1 files changed, 0 insertions, 226 deletions
diff --git a/doc/ffmpeg.txt b/doc/ffmpeg.txt deleted file mode 100644 index c2ec309772..0000000000 --- a/doc/ffmpeg.txt +++ /dev/null @@ -1,226 +0,0 @@ -*************** FFMPEG soft VCR documentation ***************** - -0) Introduction ---------------- - - FFmpeg is a very fast video and audio encoder. It can grab from - 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 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 - resize video on the fly with a high quality polyphase filter. - -1) Video and Audio grabbing ---------------------------- - -* FFmpeg can use a video4linux compatible video source and any Open - Sound System audio source: - - ffmpeg /tmp/out.mpg - - Note that you must activate the right video source and channel - before launching ffmpeg. You can use any TV viewer such as xawtv by - Gerd Knorr which I find very good. You must also set correctly the - audio recording levels with a standard mixer. - -2) Video and Audio file format convertion ------------------------------------------ - -* ffmpeg can use any supported file format and protocol as input: - -Examples: - -* You can input from YUV files: - - ffmpeg -i /tmp/test%d.Y /tmp/out.mpg - - 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. - -* 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 - -* 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. - -* 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 - file:index' specify which input stream is used for each output - stream, in the order of the definition of output streams. - -* 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 -------------- - -* The generic syntax is : - - ffmpeg [[options][-i input_file]]... {[options] output_file}... - - 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 '-b 64' option, it sets the video - bitrate of the next file. 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 parameter fors the outputs as the one - specified for the inputs. - -* Main options are: - --L show license --h show help --formats show available formats, codecs, protocols, ... --f fmt force format --i filename input file name --y overwrite output files --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] --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: - --ar freq set the audio sampling freq [44100] --ab bitrate set the audio bitrate in kbit/s [64] --ac channels set the number of audio channels [1] --an disable audio recording [no] - -* Advanced options are: - --map file:stream set input stream mapping --g gop_size set the group of picture size --intra use only intra frames --qscale q use fixed video quantiser scale (VBR) --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 --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. - -3) Protocols - - ffmpeg handles also many protocols specified with the URL syntax. - - Use 'ffmpeg -formats' to have a list of the supported protocols. - - The protocol 'http:' is currently used only to communicate with - ffserver (see the ffserver documentation). When ffmpeg will be a - video player it will also be used for streaming :-) - -4) File formats and codecs --------------------------- - - Use 'ffmpeg -formats' to have a list of the supported output - formats. Only some formats are handled as input, but it will improve - in the next versions. - -5) Tips -------- - -- For streaming at very low bit rate application, use a low frame rate - and a small gop size. This is especially true for real video where - the Linux player does not seem to be very fast, so it can miss - frames. An example is: - - ffmpeg -g 3 -r 3 -t 10 -b 50 -s qcif -f rv10 /tmp/b.rm - -- The parameter 'q' which is displayed while encoding is the current - quantizer. The value of 1 indicates that a very good quality could - be achieved. The value of 31 indicates the worst quality. If q=31 - too often, it means that the encoder cannot compress enough to meet - your bit rate. You must either increase the bit rate, decrease the - frame rate or decrease the frame size. - -- If your computer is not fast enough, you can speed up the - compression at the expense of the compression ratio. You can use - '-me zero' to speed up motion estimation, and '-intra' to disable - completly motion estimation (you have only I frames, which means it - is about as good as JPEG compression). - -- To have very low bitrates in audio, reduce the sampling frequency - (down to 22050 kHz for mpeg audio, 22050 or 11025 for ac3). - -- To have a constant quality (but a variable bitrate), use the option - '-qscale n' when 'n' is between 1 (excellent quality) and 31 (worst - quality). - -- When converting video files, you can use the '-sameq' option which - uses in the encoder the same quality factor than in the decoder. It - allows to be almost lossless in encoding. |