686 lines
32 KiB
Plaintext
686 lines
32 KiB
Plaintext
|
DVD Playback HOWTO
|
|||
|
|
|||
|
David Jao
|
|||
|
|
|||
|
<djao@dominia.org>
|
|||
|
|
|||
|
2004-02-26
|
|||
|
Revision History
|
|||
|
Revision 1.0 2004-02-26 Revised by: DJ
|
|||
|
Initial Release, reviewed by LDP
|
|||
|
Revision 0.9 2004-02-07 Revised by: DJ
|
|||
|
submitted to LDP
|
|||
|
Revision 0.1 2004-01-26 Revised by: DJ
|
|||
|
first public release
|
|||
|
|
|||
|
|
|||
|
This document describes how to view DVD movies on a Linux computer with a
|
|||
|
DVD drive.
|
|||
|
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
Table of Contents
|
|||
|
1. Introduction
|
|||
|
1.1. Copyright and License
|
|||
|
1.2. Disclaimer
|
|||
|
1.3. Feedback
|
|||
|
|
|||
|
|
|||
|
2. System Preparation
|
|||
|
2.1. Hardware Prerequisites
|
|||
|
2.2. Creating the /dev/dvd symlink
|
|||
|
2.3. Setting the DVD Region
|
|||
|
2.4. X Video Overlay
|
|||
|
2.5. Enabling DMA
|
|||
|
|
|||
|
|
|||
|
3. Software Installation
|
|||
|
3.1. Red Hat / Fedora
|
|||
|
3.2. Debian
|
|||
|
3.3. Slackware
|
|||
|
3.4. Mandrake
|
|||
|
3.5. SuSE
|
|||
|
3.6. Gentoo
|
|||
|
|
|||
|
|
|||
|
4. Software Usage
|
|||
|
4.1. General principles: deinterlacing, telecine, and framerates
|
|||
|
4.2. Specific usage instructions
|
|||
|
|
|||
|
|
|||
|
5. Troubleshooting
|
|||
|
6. Further Information
|
|||
|
|
|||
|
1. Introduction
|
|||
|
|
|||
|
In this document we describe how to view DVD movies and video on a Linux
|
|||
|
system. We give practical, specific, and straightforward commands for getting
|
|||
|
DVD playback up and running quickly on most of the popular Linux
|
|||
|
distributions. Special attention is given to the various little-known
|
|||
|
performance optimizations that are needed for smooth DVD video playback.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
1.1. Copyright and License
|
|||
|
|
|||
|
This document, DVD Playback HOWTO, is copyrighted <20> 2004 by David Jao.
|
|||
|
Permission is granted to copy, distribute and/or modify this document under
|
|||
|
the terms of the GNU Free Documentation License, Version 1.2 or any later
|
|||
|
version published by the Free Software Foundation; with no Invariant
|
|||
|
Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of
|
|||
|
the license is available at [http://www.gnu.org/copyleft/fdl.html] http://
|
|||
|
www.gnu.org/copyleft/fdl.html.
|
|||
|
|
|||
|
Linux<75> is a registered trademark of Linus Torvalds.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
1.2. Disclaimer
|
|||
|
|
|||
|
No liability for the contents of this document can be accepted. Use the
|
|||
|
concepts, examples and information at your own risk. Although this is highly
|
|||
|
unlikely, there may be errors and inaccuracies herein that could be damaging
|
|||
|
to your system. The author(s) do not take any responsibility for any damage
|
|||
|
that you incur through your own actions.
|
|||
|
|
|||
|
The mere act of accessing or viewing DVD content, or dealing in software
|
|||
|
written for such purposes, may be illegal in some localities. The author(s)
|
|||
|
cannot accept any responsibility for any actions of yours which violate the
|
|||
|
laws of the jurisdictions to which you are subject.
|
|||
|
|
|||
|
All copyrights are held by their by their respective owners, unless
|
|||
|
specifically noted otherwise. Use of a term in this document should not be
|
|||
|
regarded as affecting the validity of any trademark or service mark. Naming
|
|||
|
of particular products or brands should not be seen as endorsements.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
1.3. Feedback
|
|||
|
|
|||
|
Questions, comments, suggestions, and feedback are most certainly welcome
|
|||
|
and should be sent to the author of this document at <djao@dominia.org>.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
2. System Preparation
|
|||
|
|
|||
|
2.1. Hardware Prerequisites
|
|||
|
|
|||
|
A certain level of processing power is necessary for smooth DVD playback.
|
|||
|
The system requirements in Linux are somewhat higher than in Windows, because
|
|||
|
many of the techniques used for hardware acceleration of video playback work
|
|||
|
only in Windows.
|
|||
|
|
|||
|
At a minimum, I recommend the following:
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>700 MHz or higher CPU,
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>video card with X Video Overlay support
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>DVD drive with DMA enabled
|
|||
|
|
|||
|
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
2.2. Creating the /dev/dvd symlink
|
|||
|
|
|||
|
If you don't already have a /dev/dvd symbolic link, then run (as root) the
|
|||
|
command
|
|||
|
# ln -s /dev/hdc /dev/dvd
|
|||
|
to create a symbolic link from /dev/dvd to the actual hardware device
|
|||
|
representing your DVD-ROM drive (which in this example is /dev/hdc, but you
|
|||
|
should replace it with the actual device file used by your drive). The /dev/
|
|||
|
dvd link is not merely a matter of convenience; almost all of the player
|
|||
|
software mentioned in this HOWTO assumes that the link is there.
|
|||
|
|
|||
|
If you don't know which device name your DVD-ROM drive uses, you can usually
|
|||
|
find it with the command dmesg | grep DVD in the console or a shell right
|
|||
|
after booting up the system.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
2.3. Setting the DVD Region
|
|||
|
|
|||
|
All DVD drives (except for [http://www.dvdcca.org/rpc.html] RPC Phase I
|
|||
|
drives made in 1999 or before) enforce region playback restrictions in the
|
|||
|
drive firmware and consequently are supposed to be set to a specific region
|
|||
|
before they can play back discs from that region (and only that region). In
|
|||
|
reality, most Linux DVD playback software can bypass the DVD drive's built-in
|
|||
|
region locks, but it takes extra time for the software to break the region
|
|||
|
lock, and it is better to avoid the complications of region locks if you can.
|
|||
|
|
|||
|
For the small minority of readers who own RPC-I drives, you do not need to
|
|||
|
do anything: your drive is already capable of handling DVDs from all
|
|||
|
geographical regions. These drives are old enough by now that everybody who
|
|||
|
has one of them probably knows already that they have one.
|
|||
|
|
|||
|
For the majority of readers who have RPC-II drives, there are several
|
|||
|
options available:
|
|||
|
|
|||
|
1. If you only watch discs from one region, the easiest option is to use the
|
|||
|
[http://linvdr.org/projects/regionset/] regionset program to set your DVD
|
|||
|
drive to the correct region.
|
|||
|
|
|||
|
2. If you want to watch discs from multiple regions, you can try to find a
|
|||
|
firmware upgrade for your DVD drive in the firmware-flash.com collection
|
|||
|
of unofficial firmware files. Note that most of these files require you
|
|||
|
to boot to DOS or Windows to install.
|
|||
|
|
|||
|
3. You can buy a separate DVD drive for each DVD region that you wish to
|
|||
|
use. The prices for DVD-ROM drives have dropped low enough to make this
|
|||
|
strategy feasible.
|
|||
|
|
|||
|
4. Of course, you can simply do nothing, and rely on the built-in ability of
|
|||
|
Linux software to bypass the region restrictions. Note that even in this
|
|||
|
case you should use the [http://linvdr.org/projects/regionset/] regionset
|
|||
|
program to set the drive to the region that you will be using the most,
|
|||
|
because an RPC-II drive without a region setting behaves as if all the
|
|||
|
regions are locked out.
|
|||
|
|
|||
|
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
2.4. X Video Overlay
|
|||
|
|
|||
|
The XFree86 video overlay extension is a very poorly documented standard
|
|||
|
feature of XFree86 4.x and is absolutely essential for high quality video
|
|||
|
playback under Linux. It is the only type of hardware playback acceleration
|
|||
|
that is widely supported in Linux, and it is by far the single most important
|
|||
|
configuration element for DVD playback on a Linux system.
|
|||
|
|
|||
|
To check if you have this extension, type xvinfo in an X terminal. If the
|
|||
|
command returns several screens full of important-looking output, then
|
|||
|
congratulations, you have hardware video overlay and you need not worry about
|
|||
|
it anymore.
|
|||
|
|
|||
|
If, on the other hand, xvinfo returns with a negative answer like:
|
|||
|
# xvinfo
|
|||
|
|
|||
|
X-Video Extension version 2.2
|
|||
|
screen #0
|
|||
|
no adaptors present
|
|||
|
|
|||
|
then that means you don't have hardware overlay support. See Overlay
|
|||
|
Troubleshooting for tips on how to get overlay support working.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
2.5. Enabling DMA
|
|||
|
|
|||
|
DMA drive access is critical for DVD playback because it lowers the CPU
|
|||
|
overhead of disc reading and leaves more of the CPU free for video playback.
|
|||
|
On most systems, enabling DMA support for the DVD drive means the difference
|
|||
|
between choppy playback and smooth playback.
|
|||
|
|
|||
|
To see if you have DMA enabled, type (as root) the command
|
|||
|
# hdparm -d /dev/hdc
|
|||
|
(replacing /dev/hdc with your DVD drive's actual device name). If DMA is
|
|||
|
already on, then you're done. Otherwise, you should turn it on by typing
|
|||
|
hdparm -d 1 /dev/hdc. You may want to add this command to a startup script
|
|||
|
such as /etc/rc.d/rc.local to ensure that the DMA support is active every
|
|||
|
time your computer boots.
|
|||
|
|
|||
|
See the DMA Troubleshooting section if DMA won't turn on even after you've
|
|||
|
typed the command to turn it on.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
3. Software Installation
|
|||
|
|
|||
|
Here we cover the installation of the DVD playback software on various Linux
|
|||
|
distributions. For each Linux distribution we indicate how to install [http:/
|
|||
|
/www.mplayerhq.hu/] MPlayer, [http://xine.sourceforge.net/] Xine, [http://
|
|||
|
www.dtek.chalmers.se/groups/dvd/] Ogle, and [http://www.videolan.org/]
|
|||
|
VideoLAN onto the system. These are the four most popular software packages
|
|||
|
for DVD playback in Linux. Usage instructions for these programs will be
|
|||
|
given in the next section.
|
|||
|
|
|||
|
Read the section that corresponds to your Linux distribution. All of the
|
|||
|
installation commands given below should be run as root.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
3.1. Red Hat / Fedora
|
|||
|
|
|||
|
If you run Red Hat Linux or Fedora, you can download all of the DVD playback
|
|||
|
software from the [http://freshrpms.net/] FreshRPMS package repository. Since
|
|||
|
there are so many packages needed for DVD playback, the easiest way to
|
|||
|
install all of them is to use apt-get. Here's how to do it:
|
|||
|
|
|||
|
1. Follow the link to the version of apt that matches your Red Hat version:
|
|||
|
|
|||
|
<20><>+<2B>Fedora Core 1
|
|||
|
|
|||
|
<20><>+<2B>Red Hat Linux 9
|
|||
|
|
|||
|
<20><>+<2B>Red Hat Linux 8
|
|||
|
|
|||
|
<20><>+<2B>[http://ftp.freshrpms.net/pub/freshrpms/redhat/7.3/apt/] Red Hat
|
|||
|
Linux 7.3
|
|||
|
|
|||
|
|
|||
|
Download the appropriate binary x86 RPM package (in this example,
|
|||
|
apt-0.5.15cnc3-0.1.fr.i386.rpm) and install it using the rpm command as
|
|||
|
follows:
|
|||
|
# rpm -Uvh apt-0.5.15cnc3-0.1.fr.i386.rpm
|
|||
|
|
|||
|
2. Run the commands
|
|||
|
# apt-get update
|
|||
|
# apt-get install mplayer xine ogle_gui
|
|||
|
to have apt install everything for you.
|
|||
|
|
|||
|
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
3.1.1. Special note about VideoLAN and Red Hat
|
|||
|
|
|||
|
The FreshRPMS repository contains the videolan-client package for Red Hat 9
|
|||
|
and Red Hat 7.3, but not for Red Hat 8 or Fedora Core 1. If you want to
|
|||
|
install VideoLAN on Red Hat 9 or Red Hat 7.3, you can just type apt-get
|
|||
|
install videolan-client and let the program take care of it for you. Fedora
|
|||
|
Core 1 users who want VideoLAN will need to visit the official VideoLAN Red
|
|||
|
Hat page instead, and follow the instructions there. I do not recommend that
|
|||
|
Fedora users install VideoLAN, since the VideoLAN packages interfere to a
|
|||
|
large degree with the FreshRPMS packages installed in the previous step.
|
|||
|
|
|||
|
There appears to be no easy way to install VideoLAN on Red Hat 8.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
3.2. Debian
|
|||
|
|
|||
|
These instructions are for Debian, stable only (3.0r1 as of this writing) --
|
|||
|
it is assumed that if you run testing or unstable versions then you should
|
|||
|
already know what you are doing.
|
|||
|
|
|||
|
Make sure the following lines are in your /etc/apt/sources.list file:
|
|||
|
deb http://hpisi.nerim.net/ stable main
|
|||
|
deb http://www.interq.or.jp/libra/oohara/debian-unofficial/ ./
|
|||
|
deb http://download.videolan.org/pub/videolan/debian woody main
|
|||
|
|
|||
|
(The first line is for MPlayer, the second is for the Xine CSS plugins, and
|
|||
|
the third is for VideoLAN.) Then run the commands:
|
|||
|
# apt-get update
|
|||
|
# apt-get install mplayer-686 mplayer-fonts mplayer-doc ogle
|
|||
|
# /usr/share/doc/ogle/examples/install-css.sh
|
|||
|
# apt-get install xine-ui xine-d5d-plugin xine-d4d-plugin gnome-vlc libdvdcss2
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
3.3. Slackware
|
|||
|
|
|||
|
The best site for Slackware add-on packages is [http://www.linuxpackages.net
|
|||
|
/] http://www.linuxpackages.net/. You can use their search engine to find and
|
|||
|
download the Ogle, Xine, MPlayer, libdvdcss, libdvdnav, libdvdread, lame, and
|
|||
|
a52dec packages from the web site. Put the packages into a single directory
|
|||
|
and run pkgtool to install the packages onto your system.
|
|||
|
|
|||
|
For VideoLAN, you will have to build it from source since there is no
|
|||
|
precompiled package on the LinuxPackages web site yet. To make matters worse,
|
|||
|
the version of mpeg2dec included with Slackware 9.1 is too old to be used
|
|||
|
with VideoLAN, so you have to compile a newer version of mpeg2dec as well.
|
|||
|
|
|||
|
That said, if you still want to install VideoLAN, then download the latest
|
|||
|
source packages for [http://libmpeg2.sourceforge.net/] mpeg2dec and [http://
|
|||
|
www.videolan.org/] VideoLAN and run the following commands. Note that you
|
|||
|
have to disable ffmpeg support for the VideoLAN build because the Slackware
|
|||
|
MPlayer packages omit some of the header files needed by ffmpeg.
|
|||
|
# tar xzvf mpeg2dec-0.4.0.tar.gz
|
|||
|
# cd mpeg2dec-0.4.0
|
|||
|
# ./configure
|
|||
|
# make
|
|||
|
# make install
|
|||
|
# cd ..
|
|||
|
# tar xzvf vlc-0.7.0.tar.gz
|
|||
|
# cd vlc-0.7.0
|
|||
|
# ./configure --disable-ffmpeg
|
|||
|
# make
|
|||
|
# make install
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
3.4. Mandrake
|
|||
|
|
|||
|
Mandrake users can get packages for all of the video programs from the [http:
|
|||
|
//plf.zarb.org/] Penguin Liberation Front web site. The fastest way is to
|
|||
|
visit the [http://urpmi.org/easyurpmi/] Easy Urpmi site and follow the
|
|||
|
instructions to generate a listing of the commands you need to type for PLF
|
|||
|
access in urpmi. You should then type in the commands returned by the web
|
|||
|
site to set up your system for PLF access.
|
|||
|
|
|||
|
After you have set up PLF access, type:
|
|||
|
# urpmi.update -a
|
|||
|
# urpmi mplayer libdvdcss2 xine-ui ogle ogle_gui vlc
|
|||
|
to install all the video programs.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
3.5. SuSE
|
|||
|
|
|||
|
The YaST package program included with SuSE works only with official
|
|||
|
packages, and there are no official packages that support DVD. Therefore you
|
|||
|
will have to install the packages for all of the DVD software manually.
|
|||
|
|
|||
|
MPlayer and Xine packages for SuSE are available on the [http://
|
|||
|
packman.links2linux.org/?action=index] PackMan site. For MPlayer, you need
|
|||
|
the MPlayer, lzo, and xvid packages on that page as well as the "additionally
|
|||
|
needed binary packages" listed on the page for each package. SuSE 9.0 users
|
|||
|
should note that as of this writing the MPlayer package for SuSE 9.0 has a
|
|||
|
broken libsmbclient.so.0 dependency. You can work around this problem with
|
|||
|
the commands
|
|||
|
# rpm -Uvh --nodeps MPlayer-1.0pre3-pm.1.i686.rpm
|
|||
|
# ln -s libsmbclient3.so.0 /usr/lib/libsmbclient.so.0
|
|||
|
|
|||
|
To install Xine, you should download and install the libxine1-dvd and xine-ui
|
|||
|
packages from [http://packman.links2linux.org/?action=index] PackMan.
|
|||
|
Encrypted DVD support in Xine also requires installing [http://
|
|||
|
download.videolan.org/pub/libdvdcss/1.2.8/rpm/redhat/] libdvdcss from the
|
|||
|
VideoLAN site.
|
|||
|
|
|||
|
Ogle can be installed using the Red Hat RPMs from the Ogle site. SuSE 9.0
|
|||
|
users who want to install the Ogle_gui package will also need to install
|
|||
|
[ftp://rpmfind.net/linux/SuSE-Linux/i386/8.2/suse/i586/
|
|||
|
orbit-0.5.17-116.i586.rpm] orbit, [ftp://rpmfind.net/linux/SuSE-Linux/i386/
|
|||
|
8.2/suse/i586/gdk-pixbuf-0.18.0-248.i586.rpm] gdk-pixbuf, [ftp://rpmfind.net
|
|||
|
/linux/SuSE-Linux/i386/8.2/suse/i586/gnome-libs-1.4.1.7-273.i586.rpm]
|
|||
|
gnome-libs, and [ftp://rpmfind.net/linux/SuSE-Linux/i386/8.2/suse/i586/
|
|||
|
libglade-0.16-1015.i586.rpm] libglade from SuSE 8.2.
|
|||
|
|
|||
|
VideoLAN users will need to download the Red Hat RPMs from the VideoLAN site
|
|||
|
and install them forcibly using rpm --nodeps. The VideoLAN packages also
|
|||
|
require [ftp://rpmfind.net/linux/SuSE-Linux/i386/8.2/suse/i586/
|
|||
|
XFree86-compat-libs-4.3.0-19.i586.rpm] XFree86-compat-libs and [ftp://
|
|||
|
rpmfind.net/linux/SuSE-Linux/i386/8.2/suse/i586/freetype-1.3.1-801.i586.rpm]
|
|||
|
freetype from SuSE 8.2 in order to run.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
3.6. Gentoo
|
|||
|
|
|||
|
The basic command to use is:
|
|||
|
# emerge sync
|
|||
|
# USE="dvd mmx sse" emerge mplayer xine-ui vlc ogle-gui
|
|||
|
|
|||
|
If you have an AMD processor, you should type USE="dvd mmx 3dnow" instead of
|
|||
|
using the sse flag. Athlon XP owners can use the 3dnow and sse flags
|
|||
|
together.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
4. Software Usage
|
|||
|
|
|||
|
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 Video Settings or Deinterlace, 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 Settings->Setup 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 File menu and select Open Disc 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.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
5. Troubleshooting
|
|||
|
|
|||
|
5.1. xvinfo returns "no adaptors present"
|
|||
|
5.2. xvinfo works but overlay output is garbled
|
|||
|
5.3. DMA isn't working
|
|||
|
5.4. Video playback is choppy
|
|||
|
5.5. Sound playback is choppy
|
|||
|
5.6. Out of region discs play back garbled
|
|||
|
5.7. Out-of-region discs hang on playback
|
|||
|
|
|||
|
5.1. xvinfo returns "no adaptors present"
|
|||
|
|
|||
|
Make sure you are running XFree86 4.1 or above. You can find out your version
|
|||
|
of XFree86 by typing X -version at the command prompt.
|
|||
|
|
|||
|
Use an appropriate driver for your video card. Some Linux distributions
|
|||
|
default to using the generic XFree86 VESA driver instead of the specific
|
|||
|
driver for your video card. You need to use the hardware-specific driver for
|
|||
|
your card in order to get hardware overlay support.
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>ATI users should try downloading the improved ATI XFree86 drivers from
|
|||
|
the [http://gatos.sourceforge.net/] GATOS home page, or from the official
|
|||
|
ATI Linux support page.
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>NVidia users should try downloading the official NVidia Linux drivers for
|
|||
|
their video card.
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Sometimes upgrading [http://www.xfree86.org/] XFree86 can provide you
|
|||
|
with an improved driver that has hardware overlay support, but such an
|
|||
|
upgrade is beyond the scope of this HOWTO.
|
|||
|
|
|||
|
|
|||
|
5.2. xvinfo works but overlay output is garbled
|
|||
|
|
|||
|
Problems with garbled or missing overlay output usually mean that you don't
|
|||
|
have enough video RAM to hold both the regular desktop display and the video
|
|||
|
overlay display at once. Typically you need twice as much video RAM as normal
|
|||
|
at a given video resolution in order to use hardware video overlay. In some
|
|||
|
cases you may even need 3 to 5 times more RAM because of internal buffering
|
|||
|
in the video card.
|
|||
|
|
|||
|
The only easy way to lower your video RAM requirements is to switch to a
|
|||
|
lower video resolution while playing videos.
|
|||
|
|
|||
|
5.3. DMA isn't working
|
|||
|
|
|||
|
You can tell that DMA is broken if using the command hdparm -d1 on your DVD
|
|||
|
drive returns a message like the following:
|
|||
|
# hdparm -d1 /dev/hda
|
|||
|
|
|||
|
/dev/hda:
|
|||
|
setting using_dma to 1 (on)
|
|||
|
HDIO_SET_DMA failed: Operation not permitted
|
|||
|
using_dma = 0 (off)
|
|||
|
|
|||
|
The only way to fix this problem is to compile a kernel with DMA support for
|
|||
|
your particular chipset. It is beyond the scope of this HOWTO to explain how
|
|||
|
to compile a kernel, but the steps which are particularly relevant to DMA
|
|||
|
support are as follows:
|
|||
|
|
|||
|
1. Download a recent kernel so that you have the greatest possible chance of
|
|||
|
DMA being supported on your chipset.
|
|||
|
|
|||
|
2. Unpack your kernel and type make xconfig in the kernel build directory.
|
|||
|
Under "ATA/IDE/MFM/RLL support", select "IDE, ATA, and ATAPI Block
|
|||
|
devices" and enable "Generic PCI bus-master DMA support" and "Use DMA by
|
|||
|
default when available".
|
|||
|
|
|||
|
3. On the same page there are several dozen chipset-specific DMA drivers
|
|||
|
that continue downward for several screens. Find and select one relevant
|
|||
|
to your chipset, if there are any. For example if you have an AMD Athlon
|
|||
|
based VIA chipset, enable the "VIA82CXXX chipset support" item.
|
|||
|
|
|||
|
|
|||
|
For more information on compiling kernels, see the [http://en.tldp.org/HOWTO/
|
|||
|
Kernel-HOWTO/] Kernel HOWTO as well as the Linux Ultra-DMA Mini-Howto.
|
|||
|
|
|||
|
5.4. Video playback is choppy
|
|||
|
|
|||
|
On a fast enough computer (say, over 1 GHz), choppy video playback usually
|
|||
|
means that your overlay support or DMA support is misconfigured. See the
|
|||
|
previous troubleshooting items.
|
|||
|
|
|||
|
On a very slow computer (say, 0-500 MHz), there is nothing you can do short
|
|||
|
of hardware upgrades to make DVD playback run well.
|
|||
|
|
|||
|
For borderline computers (anything in between), you can gain a modest (~10%)
|
|||
|
performance boost by upgrading from kernel 2.2 to kernel 2.4 and using an
|
|||
|
SSE-optimized player program like MPlayer.
|
|||
|
|
|||
|
Finally, if all else fails, run MPlayer with the option mplayer -framedrop to
|
|||
|
patch over occasional glitches in video playback.
|
|||
|
|
|||
|
5.5. Sound playback is choppy
|
|||
|
|
|||
|
The most common cause of sound playback problems is from sound cards that do
|
|||
|
not support 48 kHz audio playback. For people in this category, I strongly
|
|||
|
suggest that you purchase a new sound card. Even a cheap PCI sound card can
|
|||
|
give you a substantial upgrade in sound quality for less than the cost of two
|
|||
|
DVDs.
|
|||
|
|
|||
|
Failing that, you can lighten the load on your sound playback system by not
|
|||
|
using a sound daemon such as ESounD or aRts and playing the DVD audio
|
|||
|
directly to the OSS driver. To do this with MPlayer, run mplayer -ao=oss
|
|||
|
along with whatever other options you normally use.
|
|||
|
|
|||
|
5.6. Out of region discs play back garbled
|
|||
|
|
|||
|
In the past, older versions of most of the programs discussed here have had
|
|||
|
trouble decrypting out-of-region discs. The result of a failed decryption
|
|||
|
looks like the colored video noise that you see.
|
|||
|
|
|||
|
Upgrading to the newest available version of any of the programs should solve
|
|||
|
this problem.
|
|||
|
|
|||
|
5.7. Out-of-region discs hang on playback
|
|||
|
|
|||
|
Watch the DVD drive's access light while the program is hanging. Is the light
|
|||
|
still blinking in an access pattern? If it is (and usually it will be), that
|
|||
|
means the program is still in the middle of decrypting the disc.
|
|||
|
|
|||
|
Decrypting the DVD involves mounting a fairly large-scale computational
|
|||
|
effort to recover the key. It is not at all unusual for a computer to take
|
|||
|
five or even ten minutes to decrypt a single DVD key.
|
|||
|
|
|||
|
In-region discs never have this problem because the DVD drive firmware
|
|||
|
automatically decrypts discs that match with the drive's own region.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6. Further Information
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Dag Wieers' overview of the Linux DVD playback programs
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Moritz Bunkus's DVD ripping guide for Linux
|
|||
|
|
|||
|
|