summaryrefslogtreecommitdiffstats
path: root/doc/ffmpeg.txt
diff options
context:
space:
mode:
authorJuanjo <pulento@users.sourceforge.net>2002-05-09 04:37:38 +0000
committerJuanjo <pulento@users.sourceforge.net>2002-05-09 04:37:38 +0000
commit3e12d48a89e3385a7da76cc086333359911c2131 (patch)
treec072d6a9a9d7bfc22af091724ed8933b28dc6bd2 /doc/ffmpeg.txt
parentba9b374f8971eb3200a36be9b934f5c6e6ef590d (diff)
downloadffmpeg-streaming-3e12d48a89e3385a7da76cc086333359911c2131.zip
ffmpeg-streaming-3e12d48a89e3385a7da76cc086333359911c2131.tar.gz
- Updating docs....
Originally committed as revision 475 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'doc/ffmpeg.txt')
-rw-r--r--doc/ffmpeg.txt109
1 files changed, 77 insertions, 32 deletions
diff --git a/doc/ffmpeg.txt b/doc/ffmpeg.txt
index 7352a66..c2ec309 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.
OpenPOWER on IntegriCloud