changeset 15796:5a39a40aa702

Encoding guide featured by Richard Felker III, and updated by Jeff Clagg. Part of this guide is already in the XML docs.
author gpoirier
date Wed, 22 Jun 2005 09:39:27 +0000
parents 546b49d7147d
children 06a9914af502
files DOCS/tech/encoding-guide.txt
diffstat 1 files changed, 819 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/DOCS/tech/encoding-guide.txt	Wed Jun 22 09:39:27 2005 +0000
@@ -0,0 +1,819 @@
+Topics:
+
+
+I. Preparing to encode
+   1. Identifying source material and framerate
+   2. Selecting the quality you want
+   3. Constraints for efficient encoding
+   4. Cropping and scaling
+   5. Choosing resolution and bitrate
+
+II. Containers and codecs
+   1. Where the movie will be played
+   2. Constraints of DVD, SVCD, and VCD
+   3. Limitations of AVI container
+
+III. Basic MEncoder usage
+   1. Selecting codecs & format
+   2. Selecting input file or device
+   3. Loading video filters
+   4. Notes on A/V sync
+
+IV. Encoding procedures
+   1. Encoding progressive video
+   2. Two-pass encoding
+   3. Encoding interlaced video
+   4. Deinterlacing
+   5. Inverse telecine
+   6. Capturing TV input
+   7. Dealing with mixed-source content
+   8. Low-quality & damaged sources
+
+V. Optimizing encoding quality
+   1. Noise removal
+   2. Pure quality-gain options
+   3. Questionable-gain options
+   4. Advanced MPEG-4 features
+
+
+
+I. Preparing to encode
+
+Before you even think about encoding a movie, you need to take several
+preliminary steps to 
+
+
+I.1. Identifying source material and framerate
+
+The first and most important step before you encode should be
+determining what type of content you're dealing with. If your source
+material comes from DVD or broadcast/cable/satellite TV, it will be
+stored in one of two formats: NTSC for North America and Japan, and
+PAL for Europe, etc. But it's important to realize that this is just
+the formatting for presentation on a television, and often does NOT
+correspond to the original format of the movie. In order to produce a
+suitable encode, you need to know the original format. Failure to take
+this into account will result in ugly combing (interlacing) artifacts
+in your encode, and will greatly reduce the quality/bitrate ratio of
+the encoder!
+
+Here is a list of common types of source material, where you're likely
+to find them, and their properties:
+
+Standard Film: Produced for theatrical display at 24fps.
+
+PAL video: Recorded with a PAL video camera at 50 fields per second. A
+field consists of just the even or odd numbered lines of a frame.
+Television was designed to refresh these in alternation as a cheap
+form of analog compression. The human eye supposedly compensates for
+this, but once you understand interlacing you'll learn to see it on TV
+too and never enjoy TV again. Two fields do NOT make a complete frame,
+because they are captured 1/50 of a second apart in time, and thus
+they do not line up unless there is no motion.
+
+NTSC Video: Recorded with an NTSC video camera at 59.94 fields per
+second, or 60 fields per second in the pre-color era. Otherwise
+similar to PAL.
+
+Animation: Usually drawn at 24fps, but animation also comes in
+mixed-framerate varieties.
+
+Computer Graphics (CG): Can be any framerate, but 24 and 30 fps are
+the most frequently encountered in NTSC regions, and 25 fps in PAL
+regions.
+
+Old Film: Various lower framerates.
+
+Movies consisting of frames are referred to as progressive, while
+those consisting of independent fields are called interlaced, or
+sometimes video, although this latter term is ambiguous.
+
+To further complicate matters, some movies will be a mix of several of
+the above.
+
+The most important distinction to make between all of these formats is
+that some are frame-based, while others are field-based. WHENEVER a
+movie is prepared for display on television (including DVD), it is
+converted to a field-based format. The various methods by which this
+can be done are collectively referred to as "pulldown", of which the
+infamous NTSC "3:2 telecine" is one variety. Unless the original
+material was also field-based (and the same fieldrate), you are
+getting the movie in a format other than the original.
+
+There are several common types of pulldown:
+
+PAL 2:2 pulldown: The nicest of them all. Each frame is shown for two
+fields duration, by extracting the even and odd lines and showing them
+in alternation. If the original material is 24fps, this process speeds
+up the movie by 4%.
+
+PAL 2:2:2:2:2:2:2:2:2:2:2:3 pulldown: Every 12th frame is shown for
+three fields duration, instead of just two. This avoids the 4% speedup
+issue, but makes the process much more difficult to reverse. It is
+usually seen in musical productions where adjusting the speed by 4%
+would seriously damage the musical score.
+
+NTSC 3:2 telecine: Frames are shown alternatively for 3 fields or 2
+fields duration. This gives a fieldrate 5/2 times the original
+framerate. The result is also slowed down very slightly from 60 fields
+per second to 59.94 fields per second to maintain NTSC fieldrate.
+
+NTSC 2:2 pulldown: Used for showing 30fps material on NTSC. Nice, just
+like 2:2 PAL pulldown.
+
+There are also methods for converting between NTSC and PAL video. Such
+topics are beyond the scope of this guide. If you encounter such a
+movie and want to encode it, your best bet is to find a copy in the
+original format. NTSC/PAL conversion is highly destructive and cannot
+be reversed cleanly, so your encode will greatly suffer if it is made
+from a converted source.
+
+When video is stored on DVD, consecutive pairs of fields are grouped
+as a frame, even though they are not intended to be shown at the same
+moment in time. The MPEG2 standard used on DVD and digital TV provides
+a way to encode the original progressive frames, and store the number
+of fields for which each should be shown in the frame headers. If this
+method has been used, the term "soft telecine" will often be used to
+describe the movie, since the process only directs the DVD player to
+apply pulldown to the movie rather than altering the movie itself.
+This case is highly preferable since it can easily be reversed
+(actually ignored) by the encoder, and since it preserves maximal
+quality. However, many DVD and broadcast production studios do not use
+proper encoding techniques, and instead produce movies with "hard
+telecine", where fields are actually duplicated in the encoded MPEG2.
+
+The procedures for dealing with these cases will be covered later in
+this guide. For now, we leave you with some guides to identifying
+which type of material you're dealing with:
+
+NTSC regions:
+
+- If MPlayer prints that the framerate has changed to 23.976 when
+  watching your movie, and never changes back, it's almost certainly
+  24fps content that has been "soft telecined".
+
+- If MPlayer shows the framerate switching back and forth between
+  23.976 and 29.97, and you see "combing" at times, then there are
+  several possibilities. The 23.976 fps segments are almost certainly
+  24fps progressive content, "soft telecined", but the 29.97 fps parts
+  could be either hard-telecined 24fps content or NTSC video content.
+  Use the same guidelines as the following two cases to determine
+  which.
+
+- If MPlayer never shows the framerate change, and every single frame
+  with motion appears combed, your movie is NTSC video at 59.94 fields
+  per second.
+
+- If MPlayer never shows the framerate change, and two frames out of
+  every five appear combed, your movie is "hard telecined" 24fps
+  content.
+
+PAL regions:
+
+- If you never see any combing, your movie is 2:2 pulldown.
+
+- If you see combing alternating in and out every half second, then
+  your movie is 2:2:2:2:2:2:2:2:2:2:2:3 pulldown.
+
+- If you always seem combing during motion, then your movie is PAL
+  video at 50 fields per second.
+
+Hint: MPlayer can slow down movie playback with the -speed option. Try
+using -speed 0.2 to watch the movie very slowly and identify the
+pattern, if you can't see it at full speed.
+
+
+I.2. Selecting the quality you want
+
+It's possible to encode your movie at a wide range of qualities. With
+modern video encoders and a bit of pre-codec compression (downscaling
+and denoising), it's possible to achieve very good quality at 700 MB,
+for a 90-110 minute widescreen movie. And all but the longest movies
+can be encoded with near-perfect quality at 1400 MB.
+
+If you do not plan to store your movies on CD or other size-limited
+media, and you want maximal quality at all costs, you can encode in
+constant quantizer mode, which will not aim to meet a specific target
+bitrate or filesize but instead use the maximal accuracy encoding for
+all frames. This is not recommended in most cases, because you can
+achieve significantly smaller file sizes without noticeable loss.
+However, it may be desirable for the hardcore archivists out there.
+
+
+I.4. Cropping and scaling
+
+Recall from the previous section that the final picture size you
+encode should be a multiple of 16 (in both width and height). This can
+be achieved by cropping, scaling, or a combination of both.
+
+When cropping, there are a few guidelines that must be followed to
+avoid damaging your movie. The normal YUV format, 4:2:0, stores chroma
+(color) information subsampled, i.e. chroma is only sampled half as
+often in each direction as luma (intensity) information. Observe this
+diagram, where L indicates luma sampling points and C chroma.
+
+ L L L L L L L L
+  C   C   C   C
+ L L L L L L L L
+
+ L L L L L L L L
+  C   C   C   C
+ L L L L L L L L
+
+As you can see, rows and columns of the image naturally come in pairs.
+Thus your crop offsets and dimensions MUST be even numbers. If they
+are not, the chroma will no longer line up correctly with the luma. In
+theory, it's possible to crop with odd offsets, but it requires
+resampling the chroma which is potentially a lossy operation and not
+supported by the crop filter.
+
+Further, interlaced video is sampled as follows:
+
+    TOP FIELD          BOTTOM FIELD
+
+ L L L L L L L L
+  C   C   C   C
+                      L L L L L L L L
+
+ L L L L L L L L
+                       C   C   C   C
+                      L L L L L L L L
+
+ L L L L L L L L
+  C   C   C   C
+                      L L L L L L L L
+
+ L L L L L L L L
+                       C   C   C   C
+                      L L L L L L L L
+
+As you can see, the pattern does not repeat until after 4 lines. So
+for interlaced video, your y-offset and height for cropping must be
+multiples of 4.
+
+So how do you determine a crop rectangle to begin with? Sometimes you
+can guess, but the cropdetect filter in MPlayer can make it easy. Run
+MPlayer with -vf cropdetect and it will print out the crop settings to
+remove the borders. You should let the movie run long enough that the
+whole picture area is used, in order to get accurate crop values.
+Then, test the values you get with MPlayer, using the command line
+cropdetect printed, and adjust the rectangle as needed. The rectangle
+filter can help by allowing you to interactively position the crop
+rectangle over your movie. Remember to follow the above divisibility
+guidelines so that you do not misalign the chroma planes.
+
+If you will be scaling your movie, it's usually best to crop only the
+black borders and noise, then scale so that the resulting dimensions
+are multiples of 16. This can slightly distort the aspect ratio of
+your movie, but in practice the error cannot be seen. It's certainly
+much less visible than the MPEG artifacts you will see from failing to
+crop & scale well.
+
+In certain cases, scaling may be undesirable. Scaling in the vertical
+direction is difficult with interlaced video, and if you wish to
+preserve the interlacing, you should usually refrain from scaling. If
+you will not be scaling but you still want to use multiple-of-16
+dimensions, you will have to overcrop. Do not undercrop, since black
+borders are very bad for encoding!
+
+
+
+
+I.5. Choosing resolution and bitrate
+
+If you will not be encoding in constant quantizer mode, you need to
+select a bitrate. The concept of bitrate is quite simple. It's the
+(average) number of bits that will be consumed to store your movie,
+per second. Normally bitrate is measured in kilobits (1000 bits) per
+second. The size of your movie on disk is the bitrate times the length
+of the movie in time, plus a small amount of "overhead" (see the
+section on codecs and containers). Other parameters such as scaling,
+cropping, etc. will NOT alter the file size unless you change the
+bitrate as well!
+
+Bitrate does NOT scale proportional to resolution. That is to say, a
+320x240 file at 200 kbit/sec will not be the same quality as the same
+movie at 640x480 and 800 kbit/sec! There are two reasons for this:
+
+1. Perceptual: You notice MPEG artifacts more if they're scaled up
+   bigger! Artifacts appear on the scale of blocks (8x8). Your eye
+   will not see errors in 4800 small blocks as easily as it sees
+   errors in 1200 large blocks (assuming you'll be scaling both to
+   fullscreen).
+
+2. Theoretical: When you scale down an image but still use the same
+   size (8x8) blocks for the frequency space transform, you move more
+   data to the high frequency bands. Roughly speaking, each pixel
+   contains more of the detail than it did before. So even though your
+   scaled-down picture contains 1/4 the information in the spacial
+   directions, it could still contain a large portion of the
+   information in the frequency domain (assuming that the high
+   frequencies were underutilized in the original 640x480 image).
+
+Past guides have recommended choosing a bitrate and resolution based
+on a "bits per pixel" approach, but this is usually not valid due to
+the above reasons. A better estimate seems to be that bitrates scale
+proportional to the square root of resolution, so that 320x240 and 400
+kbit/sec would be comparable to 640x480 at 800 kbit/sec. However this
+has not been verified with theoretical or empirical rigor. Further,
+given that movies vary greatly with regard to noise, detail, degree of
+motion, etc., it's futile to make general recommendations for bits per
+length-of-diagonal (the analogue of bits per pixel, using the square
+root).
+
+So far we have discussed the difficulty of choosing a bitrate and
+resolution.
+
+.................
+
+
+
+
+
+
+
+
+
+
+II. Containers and codecs
+
+II.1. Where the movie will be played
+
+Perhaps the most important factor to choosing the format in which you
+will encode your movie is where you want to be able to play it.
+Usually this involves a tradeoff between quality and features, since
+the formats supported by the widest variety of players are also the
+worst in regards to compression.
+
+If you want to be able to play your encode on standalone/set-top
+players, your primary choices are DVD, VCD, and SVCD. There are also
+extensions such as KVCD and XVCD which violate the standards but work
+on many players and deliver higher quality. Modern players are
+beginning to support MPEG-4 ("DivX") movies in AVI and perhaps other
+containers as well, but these are often buggy and require you to
+restrict your encodes to certain subsets of the full MPEG-4
+functionality.
+
+If you wish to be able to share your movies with Windows or Macintosh
+users, without them having to install additional software, your
+choices are very limited. The ancient MPEG-1 format with MP2 or PCM
+audio is probably the only choice that is universally supported.
+Interoperability with Windows/Mac also comes into play when deciding
+how to encode and whether to scale to preserve aspect, since popular
+media player applications for these systems do not honor the aspect
+ratio encoding stored in MPEG-4 avi files.
+
+
+II.2. Constraints of DVD, SVCD, and VCD
+
+Unfortunately, the DVD, SVCD, and VCD formats are subject to heavy
+constraints. Only a small selection of encoded picture sizes & aspect
+ratios are available. If your movie does not meet one of these, you
+must scale and crop or add black borders (which are bad for quality!)
+to make it compliant.
+
+Format      Resolution  V.Codec A.Codec           FPS    Aspect
+NTSC DVD    720x480     MPEG-2  AC3,PCM           24,30  4:3,16:9
+NTSC DVD    352x240 *   MPEG-1  AC3,PCM           24,30  4:3	
+NTSC SVCD   480x480     MPEG-2  MP2               30     4:3
+NTSC VCD    352x240     MPEG-1  MP2               24,30  4:3
+PAL DVD     720x576     MPEG-2  MP2,AC3,PCM       25     4:3,16:9
+PAL DVD     352x288 *   MPEG-1  MP2,AC3,PCM       25     4:3
+PAL SVCD    480x576     MPEG-2  MP2               25     4:3
+PAL VCD     352x288     MPEG-1  MP2               25     4:3
+
+* These resolutions are rarely used in DVD because they are fairly low
+  quality.
+
+DVD, VCD, and SVCD also constrain you to relatively low GOP sizes. 18 is
+supposed to be the largest allowed GOP size for 30 fps NTSCP material;
+for 25 or 24 fps, the GOP size should be 15.
+
+VCD video is required to be CBR at 1152 kbps. This highly limiting
+constraint also comes along with an extremly low vbv buffer size of
+327 kilobits. SVCD allows varying video bitrates up to 2500 kbps, and
+a somewhat less insane vbv buffer size of 917 kilobits is allowed. DVD
+video bitrates may range anywhere up to 9800 kbps (though typical bitrates
+are about half that), and the vbv buffer size is 1835 kilobits.
+
+Here is a list of fields in lavcopts that you may be required to change
+in order to make usable video for VCD, SVCD, or DVD:
+
+acodec: mp2 for VCD, SVCD, or PAL DVD; ac3 is most commonly used for DVD.
+        PCM audio may also be used for DVD, but this is mostly a big
+        waste of space. Note that mp3 audio isn't spec-compliant for
+        any of these formats, but players often have no problem playing
+        it anyway.
+
+abitrate: 224 for VCD; user-selectable for DVD and SVCD, but commonly used
+          values range from 192 to 384 kbps.
+
+vcodec: mpeg1video for VCD; mpeg2video for SVCD; mpeg2video is usually
+        used for DVD but you may also use mpeg1video for CIF resolutions.
+
+keyint: 18 for 30fps material, or 15 for 25/24 fps material. Commercial
+        producers seem to prefer keyframe intervals of 12.
+
+vrc_buf_size: 327 for VCD, 917 for SVCD, and 1835 for DVD.
+
+vrc_minrate: 1152, for VCD. May be left alone for SVCD and DVD.
+
+vrc_maxrate: 1152 for VCD; 2500 for SVCD; 9800 for DVD. For SVCD and DVD,
+             you might wish to use lower values depending on your own
+             personal preferences and requirements.
+
+vbitrate: 1152 for vcd; up to 2500 for SVCD; up to 9800 for DVD. For the
+          latter two formats, vbitrate should be set based on personal
+          preference. For instance, if you insist on fitting 20 or so
+          hours on a DVD, you could use vbitrate=400. The resulting
+          video quality would probably be quite bad. If you are trying
+          to squeeze out the maximum possible quality on a DVD, use
+          vbitrate=9800, but be warned that this could constrain you to
+          less than an hour of video on a single-layer DVD.
+
+Here is a typical minimum set of lavcopts for encoding video for a VCD:
+
+-lavcopts vcodec=mpeg1video:vrc_buf_size=327:vrc_minrate=1152:\
+vrc_maxrate=1152:vbitrate=1152:keyint=15:acodec=mp2
+
+SVCD:
+
+-lavcopts vcodec=mpeg2video:vrc_buf_size=917:vrc_maxrate=2500:vbitrate=1800:\
+keyint=15:acodec=mp2
+
+DVD:
+
+-lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:\
+vbitrate=5000:keyint=15:acodec=ac3
+
+For higher quality encoding, you may also wish to add quality-enhancing
+options to lavcopts, such as trell, mbd=2, and others. Note that qpel
+and v4mv, while often useful with MPEG-4, are not usable in MPEG-1 or
+MPEG-2. Also, if you are trying to make a very high quality DVD encode,
+it may be useful to add dc=10 to lavcopts. Doing so may help reduce the
+appearance of blocks in flat-colored areas. Putting it all together,
+here is an example of a set of lavcopts for a higher quality DVD:
+
+-lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:\
+vbitrate=8000:keyint=15:trell:mbd=2:precmp=2:subcmp=2:cmp=2:dia=-10:\
+predia=-10:cbp:mv0:vqmin=1:lmin=1:dc=10
+
+If your movie has 2.35:1 aspect (most recent action movies), you will
+have to add black borders or crop the movie down to 16:9 to make a DVD
+or VCD. If you add black borders, try to align them at 16-pixel
+boundaries in order to minimize the impact on encoding performance.
+Thankfully DVD has sufficiently excessive bitrate that you do not have
+to worry too much about encoding efficiency, but SVCD and VCD are
+highly bitrate-starved and require effort to obtain acceptable
+quality.
+
+
+
+
+
+II.3. Limitations of the AVI container
+
+Although it's the most widely-supported format after MPEG-1, AVI also
+has some major drawbacks. Perhaps the most obvious is the overhead.
+For each chunk of the AVI file, 24 bytes are wasted on headers and
+index. This translates into a little over 5 MB per hour, or 1-2.5%
+overhead for a 700 MB movie. This may not seem like much, but it could
+mean the difference between being able to use 700 kbit/sec video or
+714 kbit/sec, and every bit of quality counts.
+
+In addition to gross inefficiency, AVI also has the following major
+limitations:
+
+1. Only fixed-fps content can be stored. This is particularly limiting
+   if the original material you want to encode is mixed content, for
+   example a mix of NTSC video and film material. Actually there are
+   hacks that can be used to store mixed-framerate content in AVI, but
+   they increase the (already huge) overhead fivefold or more so they
+   are not practical.
+
+2. Audio in AVI files must be either constant-bitrate (CBR) or
+   constant-framesize (i.e. all frames decode to the same number of
+   samples). Unfortunately, the most efficient codec, Vorbis, does not
+   meet either of these requirements. Therefore, if you plan to store
+   your movie in AVI, you'll have to use a less efficient codec such
+   as MP3 or AC3.
+
+With all of that said, MEncoder does not support variable-fps output
+or Vorbis encoding. Therefore, you may not see these as limitations if
+MEncoder is the only tool you will be using to produce your encodes.
+However, it is possible to use MEncoder only for the video encoding,
+and then use external tools to encode the audio and mux it into
+another container format.
+
+
+
+
+
+
+
+III. Basic MEncoder usage
+
+III.1. Selecting codecs & format
+
+Audio and video codecs for encoding are selected with the -oac and
+-ovc options, respectively. The following choices are available,
+although some may not have been enabled at compiletime:
+
+Audio Codecs
+mp3lame   Encode VBR or CBR MP3 with LAME
+lavc      Use one of libavcodec's audio encoders
+pcm       Uncompressed PCM audio
+copy      Do not reencode, just copy compressed frames
+
+Video codecs
+lavc      Use one of libavcodec's video encoders
+xvid      XviD
+raw       Uncompressed video frames
+copy      Do not reencode, just copy compressed frames
+frameno   Used for 3-pass encoding (not recommended)
+
+Several other video codecs are available, but not recommended. The
+lavc audio and video encoders have additional suboptions to select
+which codec to use within lavc. The syntax is:
+
+  -lavcopts acodec=audio_codec_name
+  -lavcopts vcodec=video_codec_name
+
+Your choices for lavc audio are mp2, ac3, and various adpcm formats
+(low efficiency). For lavc video, you have many more choices:
+
+mpeg1video  MPEG-1 video
+mpeg2video  MPEG-2 video
+mpeg4       MPEG-4 video, standards-compliant
+msmpeg4     Pre-standard MPEG-4 used by MS (aka DivX3)
+msmpeg4v2   Pre-standard MPEG-4 used by MS (low quality)
+msmpeg4v1   Pre-standard MPEG-4 used by MS (low quality)
+wmv1        Windows Media Video, V1 (aka WMV7)
+wmv2        Windows Media Video, V2 (aka WMV8)
+dvvideo     DV video (used by DV cameras)
+mjpeg       Motion JPEG
+ljpeg       Lossless JPEG
+ffv1        Lossless FFmpeg video codec #1 (slow)
+huffyuv     A standard lossless codec
+
+...and lots more that aren't worth mentioning for most people.
+
+
+
+III.2. Selecting input file or device
+
+MEncoder can encode from files or directly from a DVD or VCD disc.
+Simply include the filename on the command line to encode from a file,
+or dvd://titlenumber or vcd://tracknumber to encode from a DVD title
+or VCD track. If you have already copied a DVD to your hard drive and
+wish to encode from the copy, you should still use the dvd:// syntax,
+along with -dvd-device followed by the path to the copied DVD root.
+The -dvd-device and -cdrom-device options can also be used to override
+the paths to the device nodes for reading directly from disc, if the
+defaults of /dev/dvd and /dev/cdrom do not work on your system.
+
+When encoding from DVD, it is often desirable to select a chapter or
+range of chapters to encode. You can use the -chapter option for this
+purpose. For example, -chapter 1-4 will only encode chapters 1 through
+4 from the DVD. This is especially useful if you will be making a 1400
+MB encode targetted for two CDs, since you can ensure the split occurs
+exactly at a chapter boundary rather than in the middle of a scene.
+
+If you have a supported TV capture card, you can also encode from the
+TV-in device. Use tv://channelnumber as the filename, and -tv to
+configure various capture settings. DVB input works similarly.
+
+
+III.3. Loading video filters
+
+Learning how to use MEncoder's video filters is essential to producing
+good encodes. All video processing is performed through the filters --
+cropping, scaling, color adjustment, noise removal, sharpening,
+deinterlacing, telecine, inverse telecine, and deblocking, just to
+name a few. Along with the vast number of supported input formats, the
+variety of filters available in MEncoder is one of its main advantages
+over other similar programs.
+
+Filters are loaded in a chain using the -vf option:
+
+  -vf filter1=options,filter2=options,...
+
+Most filters take several numeric options separated by colons, but the
+syntax for options varies from filter to filter, so read the man page
+for details on the filters you wish to use.
+
+Filters operate on the video in the order they are loaded. For
+example, the following chain:
+
+  -vf crop=688:464:12:4,scale=640:464
+
+will first crop the 688x464 region of the picture with upper-left
+corner at (12,4), and then scale the result down to 640x464.
+
+Certain filters need to be loaded at or near the beginning of the
+filter chain, in order to take advantage of information from the video
+decoder that will be lost or invalidated by other filters. The
+principal examples are pp (postprocessing, only when it is performing
+deblock or dering operations), spp (another postprocessor to remove
+MPEG artifacts), pullup (inverse telecine), and softpulldown (for
+converting soft telecine to hard telecine).
+
+Advanced topics in filter chains and usage information for specific
+filters will follow in chapters IV and V, as they are needed for the
+topics covered.
+
+
+
+III.4. Notes on A/V sync
+
+MEncoder's audio/video synchronization algorithms were designed with
+the intention of recovering files with broken sync. However they seem
+to cause unnecessary skipping and duplication of frames, and possibly
+slight A/V desync, when used with proper input. It is therefore
+recommended that you switch to basic A/V sync with the -mc 0 option,
+or put this in your ~/.mplayer/mencoder config file, as long as you
+are only working with good sources (DVD, TV capture, high quality
+MPEG-4 rips, etc) and not broken ASF/RM/MOV files.
+
+If you want to further guard against strange frame skips and
+duplication, you can use both -mc 0 and -noskip. This will prevent ALL
+A/V sync, and copy frames one-to-one, so you cannot use it if you will
+be using any filters that unpredictably add or drop frames, or if your
+input file has variable framerate! Therefore, using -noskip is not in
+general recommended.
+
+The so-called "three-pass" encoding which MEncoder supports has been
+reported to cause A/V desync. This will definitely happen if it is
+used in conjunction with certain filters, therefore, it is now
+recommended NOT to use three-pass mode. This feature is only left for
+compatibility purposes and for expert users who understand when it is
+safe to use and when it is not. If you have never heard of three-pass
+mode before, forget that we even mentioned it!
+
+There have also been reports of A/V desync when encoding from stdin
+with MEncoder. Do not do this! Always use a file or CD/DVD/etc device
+as input.
+
+
+
+
+
+IV.1. Encoding progressive video
+
+As long as your input video is progressive (see section I.1), 
+
+
+Let's finally see a few examples:
+
+  Encoding from 2:2 pulldown PAL DVD, title 1
+  2.35:1 picture aspect
+  1200 kbit/sec MPEG-4 video
+  128 kbit/sec average-bitrate MP3 audio
+
+  mencoder dvd://1 -vf crop=712:432,scale=640:288 -mc 0 -oac mp3lame\
+  -lameopts abr:br=128 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1200
+
+The crop size was presumably obtained by using the cropdetect filter
+in MPlayer, or experimenting first with crop rectangles in MPlayer.
+The output framerate will be 25 fps, the same as the original DVD. It
+would be preferable to adjust the playback speed to match the original
+24 fps theatrical rate, but this is not yet possible with MEncoder.
+The options we pass to libavcodec are the bare minimum, and will yield
+relatively poor quality. We will refine then in subsequent sections.
+
+Now, a second example:
+
+  Encoding from soft-telecined NTSC DVD, title 3
+  2.35:1 picture aspect
+  900 kbit/sec MPEG-4 video
+  Keeping the original AC3 audio
+
+  mencoder dvd://1 -vf crop=708:360,scale=640:288 -mc 0 -oac copy \
+  -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 -ofps 23.976023976
+
+This example is very similar to the first example, except for the
+-ofps option to adjust the output framerate. Unless you tell it
+otherwise, MEncoder takes its output framerate from the input
+framerate. This is reported as 29.97 fps (actually 30000/1001), or
+rather, 29.97 pairs of fields per second. But since the DVD is
+soft-telecined, 1/5 of these fields are not actually present, but
+intended to be added by the player when it telecines the movie in
+realtime. There are actually only 23.976 (24000/1001) frames per
+second. If you leave the framerate at the default, 29.97, it will
+still work, but every 4th frame will get encoded in duplicate, making
+the motion appear choppy.
+
+Finally, a comment on the number 23.976023976. You'll often see
+recommendations to use -ofps 23.976, but this is wrong. MEncoder will
+reduce 23.976 to 2997/125, which is not the same as 24000/1001. So in
+order to get the right framerate written in the output file's header,
+always use plenty of precision.
+
+
+
+
+IV.2. Two-pass encoding
+
+The complexity (and thus the number of bits) required to compress the
+frames of a movie can vary greatly from one scene to another. Modern
+video encoders can adjust to these needs as they go and vary the
+bitrate. However, they cannot exceed the requested average bitrate for
+long stretches of time, because they do not know the bitrate needs of
+future scenes.
+
+Two-pass encoding solves this problem by encoding the movie twice.
+During the first pass, statistics are generated regarding the number
+of bits used by each frame and the quantization level (quality) at
+which it was encoded. Then, when the second pass begins, the encoder
+reads these statistics and redistributes the bits from frames where
+they are in excess to frames that are suffering from low quality.
+
+In order for the process to work properly, the encoder should be given
+exactly the same sequence of frames during both passes. This means
+that the same filters must be used, the same encoder parameters must
+be used (with the possible exception of bitrate), and the same frame
+drops and duplications (if any) must take place.
+
+In theory it's possible to use -oac pcm or -oac copy during the first
+pass to avoid spending time encoding the audio. However, this can
+result in slight variations in which frames get dropped or duplicated,
+so it may be preferable to encode the audio during the first pass as
+well as the second. This also allows you to examine the final audio
+bitrate and filesize, and to adjust the audio or video bitrate
+slightly between passes if you don't meet your target size.
+
+Here is an example:
+
+  Encoding from an existing AVI file
+  500 kbit/sec MPEG-4 video
+  96 kbit/sec average-bitrate MP3 audio
+
+  mencoder bar.avi -vf scale=448:336 -mc 0 -oac mp3lame -lameopts \
+  abr:br=96 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=500:vpass=1
+
+  mencoder bar.avi -vf scale=448:336 -mc 0 -oac mp3lame -lameopts \
+  abr:br=96 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=500:vpass=2
+
+If you do not want to overwrite the output from the first pass when
+you begin the second, you can use the -o option to choose a different
+output filename. Note the addition of the vpass option in this
+example. If vpass is not specified, single-pass encoding is performed.
+If vpass=1, a log file is written with statistics from the first pass.
+If vpass=2, the log file is read and the second pass is encoded based
+on those statistics. If you are short on disk space or don't want the
+extra disk wear from writing the file twice, you can use -o /dev/null
+during the first pass. However, sometimes it is beneficial to watch
+the first-pass file before beginning the second pass to make sure
+nothing went wrong in the encoding.
+
+Next, an example using XviD instead of libavcodec:
+
+  Encoding from an existing AVI file
+  500 kbit/sec MPEG-4 video
+  Copying the existing audio stream unmodified
+
+  mencoder foo.avi -vf scale=320:240 -mc 0 -oac copy -ovc xvid \
+  -xvidencopts bitrate=400:pass=1
+
+  mencoder foo.avi -vf scale=320:240 -mc 0 -oac copy -ovc xvid \
+  -xvidencopts bitrate=400:pass=2
+
+The options used are slightly different, but the process is otherwise
+the same.
+
+
+
+
+IV.3. Encoding interlaced video
+
+If the movie you want to encode is interlaced (NTSC video or PAL
+video), you will need to choose whether you want to deinterlace or
+not. While deinterlacing will make your movie usable on progressive
+scan displays such a computer monitors and projectors, it comes at a
+cost: the field rate of 50 or 59.94 fields per second is halved to 25
+or 29.97 frames per second, and roughly half the information in your
+movie will be lost during scenes with significant motion.
+
+Therefore, if you are encoding for high quality archival purposes, it
+is recommended not to deinterlace. You can always deinterlace the
+movie at playback time when displaying it on progressive scan devices,
+and future players will be able to deinterlace to full fieldrate,
+interpolating 50 or 59.94 entire frames per second from the interlaced
+video.
+
+Special care must be taken when working with interlaced video:
+
+1. Crop height and y-offset must be multiples of 4.
+
+2. Any vertical scaling must be performed in interlaced mode.
+
+3. Postprocessing and denoising filters may not work as expected
+   unless you take special care to operate them a field at a time, and
+   they may damage the video if used incorrectly.
+
+With these things in mind, here is our first example:
+
+  mencoder capture.avi -mc 0 -oac lavc -ovc lavc -lavcopts \
+  vcodec=mpeg2video:vbitrate=6000:ilmv:ildct:acodec=mp2:abitrate=224
+
+Note the ilmv and ildct options.