- Updating docs....
authorJuanjo <pulento@users.sourceforge.net>
Thu, 9 May 2002 04:37:38 +0000 (04:37 +0000)
committerJuanjo <pulento@users.sourceforge.net>
Thu, 9 May 2002 04:37:38 +0000 (04:37 +0000)
Originally committed as revision 475 to svn://svn.ffmpeg.org/ffmpeg/trunk

doc/TODO
doc/ffmpeg.txt

index 9e1bee5..2ab9b3b 100644 (file)
--- a/doc/TODO
+++ b/doc/TODO
@@ -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).
index 7352a66..c2ec309 100644 (file)
@@ -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 
 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.