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.
4.1. General principles: deinterlacing, telecine, and framerates
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.
4.1.1. How to fix interlacing artifacts
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.
4.1.2. Telecined 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.
4.1.3. How come Windows users don't have to deal with all this?
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.
4.2. Specific usage instructions
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.
4.2.1. MPlayer
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
|
on the command line.
4.2.2. Xine
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.
4.2.3. Ogle
Type ogle to start the program. Depending on
which version of the program you have, it may start playing the DVD
automatically. If it doesn't, then click on the
menu and select to begin reading
the disc.
Ogle, like Xine, supports DVD menus for setting the language or
subtitling options.
4.2.4. VideoLAN
Use the vlc command to bring up the VideoLAN
GUI and click on the disc icon to open the disc and start playing.
Right click the playback window to bring up the options menu, which
includes deinterlacing, audio, and subtitle options.