6.2. Afspilning af DVD-film

Hvis du har en DVD-afspiller (DVD-ROM) i din computer, har du mulighed for at afspille DVD-film. I dette afsnit skal vi se nærmere på mulighederne for at afspille DVD-film i Linux.

Et generelt trick er at man skal huske at få sat overførsels-hastigheden til DVD-drevet maksimalt. Typiske DVD-drev kan klare DMA66, hvilket kan slås til ved at køre /sbin/hdparm -X66 -d1 -c3 /dev/hdb ved opstart af maskinen (hvis DVD-drevet sidder på /dev/hdb). Mere om optimering er beskrevet i http://linux.oreillynet.com/pub/a/linux/2000/06/29/hdparm.html?page=1.

6.2.1. Lidt baggrundsinformation

I forbindelse med afspilning af DVD-film er der nogle konkrete fakta, som er gode at have kendskab til, specielt hvis der bliver brug for fejlfinding. Disse fakta er beskrevet i det følgende.

Du kan vælge at springe denne del over og gå direkte til afsnittene om de forskellige software-DVD-afspillere. Hvis du ikke umiddelbart kan få DVD-afspilleren til at virke, kan du søge hjælp i dette afsnit.

6.2.1.1. DVD-regionskoder

En DVD kan være regions-beskyttet. Da man udviklede DVD-konceptet, valgte man at dele verden ind i 6 regioner, sådan at en DVD-film udgivet i en region kun kan afspilles af en DVD-afspiller fra samme region.

Danmark tilhører region 2, hvilket vil sige, at en DVD-afspiller købt i Danmark har regionskode 2, og kan derfor kun afspille DVD-film med regionsnummer 2.

Dog findes der et syvende regionsnummer (kode 0), som dækker over alle regioner. En DVD-film med regionsnummer 0, kan afspilles af alle DVD-afspillere; og en kodefri DVD-afspiller (med regionskode 0) kan afspille alle DVD-film uanset regionsnummer.

Når du vil afspille en DVD, skal du sikre dig at der er overensstemmelse mellem regionskoden på DVD-filmen og regionskoden i DVD-afspilleren. For mere information om regionskoder se eventuelt DVD Regions Explained .

6.2.1.2. DVD-kopibeskyttelse

Nogle DVD-film er krypteret med et kopibeskyttelsessystem ved navn CSS (Content Scrambling System), som er udviklet af DVD Copy Control Association (DVD CCA). For at afspille en CSS-krypteret DVD-film kræves det, at software-DVD-afspilleren understøtter DeCSS, som er opskriften på, hvordan en CSS-krypteret DVD kan dekrypteres.

DeCSS-systemet har voldt en del problemer for uafhængige Open Source software-DVD-afspillere, da der er tvivl om rettighederne til at bruge det.

Organisationen DVD CCA mener, at CSS-systemet kun må anvendes i en software-DVD-afspiller, hvis man har en licens til det. Modsat er organisationen OpenDVD Group forkæmper for retten til at udvikle uafhængige software-DVD-afspillere samt fri anvendelse af DeCSS-systemet. De er aktiv deltager i de retssager, som på nuværende tidspunkt er i gang.

Overordnet er konsekvensen af denne tvivl, at nogle Open Source software-DVD-afspillere ikke "officielt" understøtter DeCSS, mens andre afspillere gør.

6.2.1.3. Video i X Windows-systemet

Når software-DVD-afspilleren (eller andre video/mpeg-afspillere) skal vise levende billeder i Linux, er der forskellige video-output-metoder, som kan anvendes. De to mest anvendte metoder er MIT-SHM og XVideo. (Andre video-output-metoder, som kan nævnes er SDL og GGI).

  • MIT-SHM (MIT Shared Memory Extension): MIT-SHM et udvidelses-modul til X Windows-systemet, som gør det muligt for programmer (for eksempel en DVD-afspiller) at sende store billeder hurtigt til skærmen. MIT-SHM er understøttet i XFree86 version 3.3.x og frem.

  • XVideo (Xv/XVideo Extension): XVideo er et udvidelses-modul til X Windows-systemet, som er lavet specielt til at vise video. Det er generelt mere effektivt end MIT-SHM-metoden idet der for nogen drivere er understøttelse for hardware konvertering af video strøm formatet (typisk 16 bit YUV) til det format (typisk 24 bit RGB) man anvender på video kortet. XVideo er understøttet i Xfree86 version 4.x og frem. Det er driverafhængigt om der er understøttelse for XVideo.

Du kan tjekke, om du har den ene eller begge udviddelses-moduler ved at skrive:

[tyge@hven ~]$ xdpyinfo -ext all

Under punktet number of extensions er der en liste over alle udvidelses-moduler i dit X Windows-system. Her er MIT-SHM og XVideo listet, hvis de er understøttet.

Hvis XVideo er understøttet af X Windows Systemet, kan du se om din grafikkort driver også understøtter XVideo ved at skrive:

[tyge@hven ~]$ xvinfo

Her skulle du gerne se en lang liste med information relateret til XVideo. Hvis du derimod får beskeden no adaptors present, er det et tegn på at XVideo ikke er understøttet i din grafikkort-driver. Hvis du ikke kan få en DVD-afspiller til at virke med MIT-SHM, er det derfor værd at undersøge om der er en driver til dit grafikkort, som understøtter XVideo.

Har du for eksempel et NVidia-grafikkort, vil den driver som følger med XFree86 ikke understøtte XVideo. Men installeres den driver, som kan hentes på NVidias Linux Driver Download-side, så er XVideo understøttet.

I The Xine Video Player HOWTO http://dvd.sourceforge.net/xine-howto/en_GB/html/howto.html er der i kapitlet "Increasing Performance" en liste over drivere som understøtter XVideo.

6.2.1.4. Find dit DVD-drev

For at en software-DVD-afspiller kan finde din DVD-ROM, skal den vide hvilket device den skal bruge. De fleste DVD-afspillere bruger som default /dev/dvd. Normalt er /dev/dvd et symbolsk link til det rigtige device, som typisk er en af følgende:

  • /dev/hda (IDE primary master)

  • /dev/hdb (IDE primary slave)

  • /dev/hdc (IDE secondary master)

  • /dev/hdd (IDE secondary slave)

  • /dev/scd0 (SCSI device 0)

  • /dev/scd1 (SCSI device 1)

  • osv...

Du kan se om du allerede har et dvd-link ved at skrive ls -all /dev/dvd. Hvis du får at vide at filen ikke eksisterer, bør du oprette et dvd-link til dit DVD-drev.

Hvis du eksempelvis allerede bruger dit DVD-drev som almindeligt cd-rom-drev, har du højst sandsynligt allerede et cd-rom-link. Prøv eventuelt at skrive:

[tyge@hven ~]$ ls -all /dev/cdrom
lrwxrwxrwx  1 root  root  8 apr 21 08:10 /dev/cdrom -> /dev/hdc

I dette tilfælde er cd-rom-drevet /dev/hdc. For at oprette et dvd-link til dette device, skal du skifte over til systemadministrator og oprette linket:

[tyge@hven ~]$ su
Password:
[root@linus ~]# ln -s /dev/hdc /dev/dvd

Og vupti, så har du et dvd-link :-).

6.2.2. VideoLAN

I dette afsnit skal vi se på VideoLAN, som er en Open Source DVD-afspiller. VideoLAN understøtter DeCSS til afspilning af krypterede DVD'er.

Som video-output understøtter VideoLAN metoderne MIT-SHM, XVideo, SDL, GGI og andre. Se eventuelt hjemmesiden for mere information.

6.2.2.1. Installation

Du kan hent VideoLAN fra VideoLAN Client Download-siden. Du kan selv vælge i hvilket format du ønsker at hente softwaren. Her ser vi på oversættelse og installation af ".tar"-filen.

Hent filen vlc-xxx.tar.gz, hvor "xxx" er seneste versionsnummer.

Pak filen ud med tar og gå ind i det udpakkede katalog:

[tyge@hven ~]$ tar xzvf vlc-xxx.tar.gz
...
[tyge@hven ~]$ cd vlc-xxx/

Gør klar til at oversætte kildeteksten med kommandoen:

[tyge@hven ~/vlc-xxx]$ ./configure && echo O.k.
...
O.k.

Der vil blive listet en masse information om hvad dit system understøtter og ikke understøtter. Læg specielt mærke til punktet vlc configuration, som bliver listet til sidst. Her står der blandt andet hvilke plugin-moduler, som bliver understøttet (for eksempel x11, sdl, xvideo, som er video-output-metoder). Du oversætter programmet ved at skrive:

[tyge@hven ~/vlc-xxx]$ make && echo O.k.
...
O.k.

For at installere VideoLAN skal du som systemadministrator køre kommandoen make install:

[tyge@hven ~/xlc-xxx]$ su -c 'make install && echo O.k.'
Password:
...
O.k.

6.2.2.2. Anvendelse

Du starter VideoLAN ved at skrive vlc. Du vil få følgende kontrolpanel frem.

Figur 6-7. VideoLANs kontrolpanel

I VideoLAN har du mulighed for både at afspille video-filer (MPEG-filer), DVD og netstreams. For at afspille en DVD skal du klikke på Disc-knappen.

Figur 6-8. VideoLANs 'Open Disc'-boks

Du kan vælge om du vil afspille en DVD eller en VCD. Klik på OK for at starte afspilningen.

6.2.2.3. Tips og tricks

Her er listet et par tips og tricks til fejlfinding i VideoLAN.

  • Det virker ikke, og mit DVD-drev reagerer slet ikke!

    Måske har du valgt en forkert DVD-enhed. I VideoLANs 'Open Disc'-boks har du mulighed for at angive andre devices. Prøv eventuelt med /dev/hda, /dev/hdb, /dev/hdc og /dev/hdd på skift, og se om en af disse virker. Du kan også prøve med /dev/scdx, hvor x erstattes med at tal fra 0 og opefter.

  • Jeg får lyd, men der er ikke noget billede!

    Måske virker den valgte video-output-metode ikke. Du kan, når du starter VideoLAN, vælge video-output-metode ved at skrive vlc --out efterfulgt af navnet på et video-output-modul. For eksempel vil vlc --vout x11 svare til MIT-SHM-metoden, vlc --vout xvideo vil svare til XVideo-metoden, vlc --vout sdl vil svare til SDL video-output, osv. Bemærk, at du kan altid kan se den aktuelle video-output-metode i video-vinduets titelbjælke.

    Du kan også prøve at starte VideoLAN med vlc --yuv yuv og se om det hjælper. Dette skulle ifølge tips på VideoLANs hjemmeside bl.a. afhjælpe et problem, der er med Red Hats gcc 2.96 (som resulterer i manglende billede).

  • Hvor finder jeg mere hjælp?

    På VideoLAN's hjemmeside er der svar til typisk stillede spørgsmål samt løsning på kendte problemer. Det findes under User documentation. Her er der også et link til en VLC HOWTO, som bestemt er værd at læse.

6.2.3. Xine

I dette afsnit skal vi se på Xine, som også er en Open Source DVD-afspiller. Xine understøtter officielt ikke DeCSS, hvilket vil sige at nogle DVD'er ikke kan afspilles. Dog vil vi her se på, hvordan man installerer et plugin, der gør det muligt for Xine at afspille krypterede DVD'er.

Som video-output-metode understøttes MIT-SHM og XVideo.

6.2.3.1. Installation

Du kan hente Xine på Xine Download-siden. Du kan selv vælge, i hvilket format du vil hente softwaren. Her ser vi på tar-bolden.

Hent filen xine-xxx.tar.gz, hvor xxx er seneste versionsnummer.

Pak filen ud med tar og gå ind i source-kataloget:

[tyge@hven ~]$ tar xzvf xine-xxx.tar.gz
...
[tyge@hven ~]$ cd xine-xxx/

Konfigurér source-koden ved at skrive:

[tyge@hven ~]$ ./configure

Der vil blive listet en masse information om hvad dit system understøtter og ikke understøtter. Du oversætter koden ved at skrive:

[tyge@hven ~]$ make

For at installere Xine skal du skifte over til systemadministrator og skrive make install:

[tyge@hven ~]$ su -c 'make install && echo O.k.'
Password:
...
O.k.
Du skulle nu kunne gå i gang med at anvende Xine. Dog understøttes DeCSS ikke. Ønsker du at Xine også skal understøtte afspilning af krypterede DVD'er skal du installere et DeCSS-plugin til Xine.

På Xines hjemmeside er der et link til http://debianlinux.net/captain_css.html, som er et plugin til Xine, der giver support for DeCSS. På denne side hentes filen xine_dvd_static-xxx.tar.gz (xine dvd-plugin xxx), hvor xxx er seneste versionsnummer. Installationen foregår på samme måde som installationen af xine tar-bolden. Du skal altså skrive følgende:

[tyge@hven ~]$ tar xzvf xine_dvd_static-xxx.tar.gz
...
[tyge@hven ~]$ cd xine_dvd_static-xxx
[tyge@hven ~]$ ./configure
...
[tyge@hven ~]$ make
...

Plugin'et installeres ved at skifte over til systemadministrator og skrive make install:

[tyge@hven ~]$ su
Password:
[root@linus ~]# make install

6.2.3.2. Anvendelse

Du starter Xine ved at skrive xine. Følgende figur viser Xines kontrolpanel (det kan dog se anderledes ud). Hvis kontrolpanelet ikke kommer frem automatisk, så klik en gang med modsatte museknap i video-vinduet, som er kommet frem.

Figur 6-9. Xines kontrolpanel

Klik på knappen DVD for at starte afspilningen af en DVD.

Brug knapperne i bunden til at kontrollere afspilningen. De to sæt op/ned-pile i højre side bruges til at vælge henholdsvis undertekstnings-sprog (off=ingen undertekstning) og lydspor. Den lille firkant yderst til højre (under x'et i titellinjen) skifter mellem video i fuld skærm og video i et vindue.

6.2.3.3. Tips og tricks

Her er listet et par tips og tricks til afspilleren Xine.

  • Det er lyd, men intet billede!

    Xine bruger XVideo video-output-metoden som default. Hvis XVideo ikke virker, kan du prøve med MIT-SHM-metoden ved at starte Xine med kommandoen xine -s.

  • Spole frem og tilbage i en video-stream kan gøres ved at trykke på 1, 2, 3 osv. for at gå til 10%, 20% hhv. 30% af filmens længde. Tilsvarende kan man anvende højre hhv. venstre pil til at spole 1 minut frem hhv. tilbage.

  • Hvor finder jeg mere hjælp?

    På Xines hjemmeside findes der en FAQ http://xine.sourceforge.net/xine_frame.php?page=FAQ, hvor der er svar på typisk stillede spørgsmål. Der er også link til en Xine HOWTO http://www.srcf.ucam.org/~rjw57/xine/ som giver god information.

6.2.4. LiViD

Her skal vi se på LiViD http://www.linuxvideo.org/, som også er en Open Source DVD-afspiller.

6.2.4.1. Installation

På LiViD's webside http://www.linuxvideo.org/user/dl.html, kan du hente forskellige software-pakker. Det er dog ikke dem alle du skal bruge.

Hent filerne libcss-xxx.tar.gz, oms-xxx.tar.gz og omi-xxx.tar.gz, hvor xxx står for de seneste versionsnumre for de tre pakker.

Du skal først installere libcss. Det gøres ved først at pakke ".tar"-filen ud, opsætte og oversætte pakken:

[tyge@hven ~]$ tar xzvf libcss-xxx.tar.gz
...
[tyge@hven ~]$ cd libcss-xxx/
[tyge@hven ~]$ ./configure
...
[tyge@hven ~]$ make
...

Dernæst skal du som systemadministrator installere pakken:

[tyge@hven ~]$ su -c 'make install && /sbin/ldconfig && O.k.'
Password:
...
O.k.

Den næste pakke, som skal installeres er "oms". Du skal følge samme fremgangsmåde som før:

[tyge@hven ~]$ tar xzvf oms-xxx.tar.gz
...
[tyge@hven ~]$ cd oms-xxx/
[tyge@hven ~]$ ./configure
...
[tyge@hven ~]$ make
...

Dernæst skal du som systemadministrator installere pakken:

[tyge@hven ~]$ su -c 'make install && /sbin/ldconfig && echo O.k.'
Password:
...
O.k.

Til sidst skal du installere "omi". Dette følger igen samme fremgangsmåde:

[tyge@hven ~]$ tar xzvf omi-xxx.tar.gz
...
[tyge@hven ~/omi-xxx]$ cd omi-xxx/
[tyge@hven ~/omi-xxx]$ ./configure && make && echo O.k.
...
O.k.
[tyge@hven ~/omi-xxx]$ su -c 'make install && /sbin/ldconfig && echo O.k.'
Password:
...
O.k.
[tyge@hven ~/omi-xxx]$ cd ../
[tyge@hven ~]$ rm -rf omi-xxx

6.2.4.2. Anvendelse

Du starter LiViD ved at skrive omi_gtk. I følgende figur er LiViDs kontrolpanel vist.

Figur 6-10. LiViDs kontrolpanel

Brug knapperne i bunden for at kontrollere afspilningen.

6.2.4.3. Tips og tricks

Her er listet et par tips og tricks til afspilleren LiViD.

  • Hvor finder jeg mere hjælp?

    På LiViDs hjemmeside kan du finde LiViD Documentation, som er en side med links til HOWTO's, FAQ's og mere.

6.2.5. Ogle til afspilning af DVD

En af de bedre DVD-afspillere der er til linux er Ogle, der er understøttelse af menuer i den og den kan afspille uden tab af frames på en 700 mhz Duron processor. Den følgende beskrivelse passer til Mandrake.

6.2.5.1. Installation af Ogle

Hent filerne ogle-0.8.1.tar.gz, ogle_gui-0.7.5.tar.gz og libdvdread-0.9.2.tar.gz fra http://www.dtek.chalmers.se/groups/dvd/downloads.shtml og læg dem i kataloget "/tmp".

Hent også a52dec-0.7.1b.tar.gz fra http://liba52.sourceforge.net/ og libxml2-2.4.9.tar.gz fra ftp://xmlsoft.org/ der ligeledes lægges i kataloget "/tmp".

Det kan være at versionsnumrene er øget siden dette er skrevet.

Den første pakke der skal installeres er libdvdread:

[tyge@hven ~]$ cd /tmp
[tyge@hven /tmp]$ tar xzvf libdvdread-0.9.2.tar.gz
...
[tyge@hven /tmp]$ cd libdvdread-0.9.2
[tyge@hven /tmp/libdvdread-0.9.2]$ ./configure && make && echo O.k.
...
O.k.
[tyge@hven /tmp/libdvdread-0.9.2]$ su -c 'make install && echo O.k.
Password:
...
O.k.
[tyge@hven /tmp/libdvdread-0.9.2]$ cd ..
[tyge@hven /tmp]$ rm -rf libdvdread-0.9.2

Så bliver de nye biblioteker installeret i kataloget /usr/local/lib. Har du ikke før oversat og installeret biblioteker i /usr/local/lib, så skal du sikre dig at programmet ld (linker-programmet) kan finde filerne. Det gør du ved at føje linjen:

/usr/local/lib
til filen /etc/ld.so.conf.

Bagefter køres programmet: ldconfig

Så skal a52dec installeres:

[tyge@hven ~]$ cd /tmp
[tyge@hven /tmp]$ tar xzvf a52dec-0.7.1b.tar.gz
...
[tyge@hven /tmp]$ cd a52dec-0.7.1b
[tyge@hven /tmp/a52dec-0.7.1b]$ ./configure && make && echo O.k.
...
O.k.
[tyge@hven /tmp/a52dec-0.7.1b]$ su -c 'make install && echo O.k.
Password:
...
O.k.
[tyge@hven /tmp/a52dec-0.7.1b]$ cd ..
[tyge@hven /tmp]$ rm -rf a52dec-0.7.1b

Så gælder det xml2:

[tyge@hven ~]$ cd /tmp
[tyge@hven /tmp]$ tar xzvf libxml2-2.4.9.tar.gz
...
[tyge@hven /tmp]$ cd libxml2-2.4.9
[tyge@hven /tmp/libxml2-2.4.9]$ ./configure && make && echo O.k.
...
O.k.
[tyge@hven /tmp/libxml2-2.4.9]$ su -c 'make install && echo O.k.
Password:
...
O.k.
[tyge@hven /tmp/libxml2-2.4.9]$ cd ..
[tyge@hven /tmp]$ rm -rf libxml2-2.4.9

Denne pakke installerer også binære filer som ogle skal bruge i /usr/local/bin. Derfor skal ogle kunne finde den. Det gør du ved at føje linjen

export path=$PATH:/usr/local/bin
til filen /root/.bashrc.

Du skal nu logge ud og logge ind igen. Sagen er at du senere skal være root for at køre ogle.

Så skal ogle selv installeres:

[tyge@hven ~]$ cd /tmp
[tyge@hven /tmp]$ tar xzvf ogle-0.8.1.tar.gz
...
[tyge@hven /tmp]$ cd ogle-0.8.1
[tyge@hven /tmp/ogle-0.8.1]$ ./configure && make && echo O.k.
...
O.k.
[tyge@hven /tmp/ogle-0.8.1]$ su -c 'make install && echo O.k.
Password:
...
O.k.
[tyge@hven /tmp/ogle-0.8.1]$ cd ..
[tyge@hven /tmp]$ rm -rf ogle-0.8.1

Og ligeledes skal ogle_gui-0.7.5.tar.gz installeres. Hvis du er på et mandrake-system kræver det at disse pakker er installeret:

  • libglib1.2-devel

  • libaudiofile0-devel

  • libgtk+1.2-devel

  • libtiff3-devel

  • libungif4-devel

  • indent

  • libesound0-devel

  • libimlib1-devel

  • ORBit-devel

  • db1-devel

  • gnome-libs-devel

På andre systemer kan det tænkes at pakkerne hedder noget lidt andet.

Selve oversættelsen og installationen af ogle_gui-0.7.5.tar.gz foregår ganske som med de andre ".tar.gz"-filer:

[tyge@hven ~]$ cd /tmp
[tyge@hven /tmp]$ tar xzvf ogle_gui-0.7.5.tar.gz
...
[tyge@hven /tmp]$ cd ogle_gui-0.7.5
[tyge@hven /tmp/ogle_gui-0.7.5]$ ./configure && make && echo O.k.
...
O.k.
[tyge@hven /tmp/ogle_gui-0.7.5]$ su -c 'make install && echo O.k.
Password:
...
O.k.
[tyge@hven /tmp/ogle_gui-0.7.5]$ cd ..
[tyge@hven /tmp]$ rm -rf ogle_gui-0.7.5

Så skal /dev/dvd lige sættes til at pege på den rette enhed. Hos mig er /dev/hdc (secondary master) DVD-drevet, så jeg sætter linket således:

[root@linus /usr/local]# ln -s /dev/hdc /dev/dvd

Og husk at tjekke om drevet er sat til DMA-overførsel. Det kan gøres med programmet hdparm:

[root@linus /usr/local]# hdparm -c3d1 /dev/hdc
De fleste drev kan ikke overføre data hurtigt nok til at afspille en DVD uden DMA-overførsel.

6.2.5.2. Anvendelse af ogle

Så er det bare at starte ogle ved at skrive ogle. Hvis det ikke virker kan det være fordi kataloget /usr/local/bin ikke står i ens sti. Det klares ved at føje /usr/local/bin til systemvariablen PATH: [tyge@hven ~]$ export path=$PATH:/usr/local/bin

I figur Figur 6-11 ses kontrol-panelet til ogle.

Figur 6-11. ogle kontrolpanel