Although I have tried very hard to keep this HOWTO focused on practical advice instead of abstract theory, it is necessary to have some minimal background in television video in order to understand how to get the best possible video quality under Linux.
Regular television video is interlaced, meaning that the odd-numbered scanlines are recorded (and displayed) first, followed by the even numbered scanlines, then the odd ones again, then the even ones again, etc. Each individual line is displayed 30 times a second (or 25, depending on where you live), but because of the interlacing, the television image as a whole is refreshed 60 times a second (or 50), with only half of the total lines being refreshed each time.
In general, with interlaced motion pictures, there is no way to reconstruct any single video frame perfectly without artifacts. This point is important enough to repeat: there is no way to perfectly reconstruct any single frame! The reason is that the odd-numbered lines are recorded onto the video tape with a timing skew of one half-frame relative to the even-numbered lines. If the video picture is still, this timing skew is no problem, but for moving pictures it causes half the lines to be displaced from the other half. On a television screen, you can't see this displacement, since TV screens (except for high-end HDTV monitors) are of such low quality that the artifacts aren't visible. However, on a computer screen, this displacement is very visible and causes comb-like artifacts to appear in the video. You can see screenshots of interlacing artifacts in the interlacing section of Luke's Video Guide.
The process of removing interlacing artifacts is called deinterlacing. Unfortunately, all deinterlacing techniques are imperfect to some extent, and there is no single method which works best in all situations. It is therefore important to experiment with all of the different possible deinterlace settings to see which one works best for a particular disc.
MPlayer users can get a list of deinterlacing options by typing mplayer -pphelp at the command line. Find the option that you want to use, and then use the -vf pp=<option> syntax to activate the option. For example, I usually use the lb option, which is done with the command: mplayer -vf pp=lb, followed by whatever other options you would normally use to play the DVD.
VideoLAN users can right-click on the movie to get a list of deinterlacing options (under or , depending on the program version).
Xine has a list of deinterlacing options in the configuration panel; to get to it, right-click on the movie window, open the -> dialog, set "Configuration experience level" to "Advanced", and then look for "Software deinterlace method" under the "Video" tab.
Ogle has no deinterlacing support, so it is not recommended to use Ogle for watching interlaced video.
This section only applies to video in NTSC format (used in North America, east Asia, and parts of Latin America) -- PAL users (the rest of the world) can skip ahead.
The one exception to all of the above discussion about interlacing is in the case of telecined video. Briefly put, telecine is a special kind of interlacing that is done only to theatrical (i.e. cinematic) movies and some forms of hand-drawn animated shows. The special thing about telecine is that it can usually be perfectly undone. The details are too complicated to explain here, but you can read about it in Luke's Video Guide or Bob Niland's FAQs if you're curious.
The process of undoing the telecine artifacts is called inverse telecine. The good news is that inverse telecine, done properly, fully restores the original video quality of the source video with no artifacts whatsoever. The bad news is that MPlayer is the only player program in the world right now that can perform inverse telecine.
To perform inverse telecine in MPlayer, simply add the -vf ivtc option to the MPlayer command. This option is the right one to use if you are watching a movie you know originated as a theatrical release, or if you are watching animated shows. Warning: this option is very CPU intensive. You need at least a 1 GHz processor to even think about doing it.
Windows DVD players hide most of the complexity of DVD playback and fall back to the lowest common demoninator when playing DVDs. The result is that you get playback quality which is decent in a wide range of situations but not always the best that can be achieved in any given situation. For example, no Windows DVD player in the world has an inverse telecine filter like MPlayer does, so telecined material always looks dramatically worse in Windows than in MPlayer under Linux.
Here we give specific instructions for launching basic DVD playback in the various player programs. These commands only cover the basic steps of operating each program. You are encouraged to refer to the man pages of each program for further instructions.
Put the DVD that you want to play into your drive before attempting playback.
Type mplayer dvd://1 to begin playing title #1 on the disc. To play other title numbers, substitute the appropriate number in place of 1.
Old versions of MPlayer, such as the one used in Debian, require the command mplayer -dvd 1 instead. In some cases you also have to explicitly add the option -vo xv in order to make MPlayer use the hardware video overlay port.
Subtitle and audio options for MPlayer have to be specified on the command line. The format is -alang NN or -slang NN where NN is the two-letter language code of the language you want. For example, to play back Japanese audio with English subtitles, type:
# mplayer dvd://1 -alang ja -slang en |
Simply type xine at the command prompt to start the program.
The first time you start the program, it will display a configuration screen with a bunch of options. In most cases you can leave all of the options at the defaults.
The program has a graphical console with a row of labeled buttons along the bottom. Press the DVD button to start playing the DVD. (However, if your version of Xine has a D5D button, use that instead.)
Xine supports DVD menus, so you can set language or subtitling options as you normally would via the disc's own menu.