summaryrefslogtreecommitdiff
path: root/doc/ffmpeg.txt
diff options
context:
space:
mode:
authorFabrice Bellard <fabrice@bellard.org>2002-10-27 22:00:34 +0000
committerFabrice Bellard <fabrice@bellard.org>2002-10-27 22:00:34 +0000
commit9181577ccb1ddcb3d256b533de2badd0a4fd83e9 (patch)
tree7d49b39804581b45eb9da267cd58c5fd5da05235 /doc/ffmpeg.txt
parent1c0a593ac871784baea4b6de368db6d5d86ba8b9 (diff)
downloadffmpeg-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.txt226
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.