Duisburger Linux User Group - http://www.dulug.de
Workshop um die Audiospur einer DVD auszulesen
Autor: M. Franke

Wenn man eine DVD eines Musikerin/Musikers/Band etc besitzt und die Lieder die auf der DVD
vorhanden sind auf die Festplatte bannen möchte, so muss man die Audiospur der DVD auslesen.
Das ganze ist nicht weiter schwer sondern nur etwas Arbeit. Zuerst sollte man wissen wie
eine DVD ungefähr aufgebaut ist. Eine DVD hat meisstens immer mehrere Titel und jeder Titel
kann mehrere Kapitel haben. Um das zu verdeutlichen eignet sich das Programm lsdvd. Als
Beispiel DVD soll hier ein Live Konzert von Phil Collins (Live And Loose in Paris) dienen.
Zuerst schauen wir uns die Ausgabe von lsdvd an:
$ lsdvd
libdvdread: Using libdvdcss version 1.2.8 for DVD access
Disc Title: 3984_23466_2
Title: 01, Length: 00:00:00 Chapters: 01, Cells: 01, Audio streams: 02, Subpictures: 02
Title: 02, Length: 01:28:08 Chapters: 16, Cells: 16, Audio streams: 02, Subpictures: 02
Title: 03, Length: 00:00:00 Chapters: 01, Cells: 01, Audio streams: 02, Subpictures: 00
Title: 04, Length: 00:00:37 Chapters: 01, Cells: 01, Audio streams: 02, Subpictures: 00
Title: 05, Length: 00:00:00 Chapters: 01, Cells: 01, Audio streams: 02, Subpictures: 00
Longest track: 2

In der Ausgabe sieht man die einzelnen Titel mit Ihren Kapiteln und die Dauer der Titel. Alles
was nach Chapters dasteht ist uninteressant an der Stelle. Bei Titel zwei sieht man das der
Titel 16 Kapitel hat, was auf 16 Lieder auf der DVD schliesst. Das stimmt so nicht ganz, denn
auf der DVD Hülle stehen nur 15 Lieder. Das 16 Kapitel ist kein Lied sondern der Abspann des
Konzertes. Als nächstes schauen wir uns ein Lied an, das geht am einfachsten mit mplayer:
$ mplayer dvd://2 -chapter 1-1
Die Angebae dvd:// steht dafür dass wie eine DVD sehen wollen und die 2 direkt dahinter steht für
den zweiten Titel. Die Option -chapter steht natürlich für Kapitel und 1-1 heisst das wir nur
das 1. Kapitel sehen wollen. Würden wir nur -chapter 1 angeben, so würde mplayer vom 1. Kapitel
bis zum Ende des Titels die DVD abpspielen. Somit hört mplayer aber nach beenden des 1. Kapitels
auf. Das ganze ist jetzt schön und gut, aber wie bekommen wir die Audiospur jetzt auf die Fest-
platte? Indem wir alles was mit Audio zu tun umleiten:
$ mplayer dvd://2 -chapter 1-1 -ao pcm:file=1.wav
Die Erweiterte Option -ao heisst Audio-Output und zwar wollen wir als Audio-Output eine Wave-Datei.
Deshalb geben wir dahinter pcm an. file hinter pcm: (Doppelpunkt nicht vergessen!) gibt den Datei-
namen an, also 1.wav. Und es macht Sinn die Datei 1.wav zu nennen wenn wir das 1. Kapitel auslesen.
Wenn man mplayer so startet sieht man das Video, hört aber nichts. Je nach Rechengeschwindigkeit
läuft das Video schneller. Das sieht erstmal sehr lustig aus, nervt aber unter Umständen mit der
Zeit und kann wie folgt abgesschaltet werden:
$ mplayer dvd://2 -chapter 1-1 -ao pcm:file=1.wav -vo null
-vo steht analog zu -ao für Video-Output, da wir keinen wollen geben wir hier null an. Man kann
z.B. auch direkt eine DVD anhören ohne das Video zu gucken:
$ mplayer dvd://2 -chapter 1-1 -vo null
Dann wird die Videoausgabe unterdrückt aber der Ton läuft. Wenn mplayer seine Arbeit beendet hat,
kann man sich die Wave-Datei anhören:
$ play 1.wav
oder mal ein wenig 'untersuchen':
$ file 1.wav
1.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, stereo 48000 Hz

Nun muss man nur noch die Wave-Datei umwandeln, ich verwende hier oggenc für Ogg-Vorbis. Alle
anderen die MP3 haben wollen verweise ich auf lame. Der Funktionsaufruf von oggenc und lame
sind aber ähnlich. Um die Wave-Datei in eine Ogg-Datei umzuwandeln, gibt man folgendes ein:
$ oggenc 1.wav -o 1.ogg
Wenn man die Bitrate eine wenig hochsetzen möchte:
$ oggenc 1.wav -o 1.ogg -m 192 -M 320
-m ist die minimale Bitrate und -M die maximale Bitrate. Zusätzlich können auch noch ein paar
Metainformationen wie Titel, Künstler etc mit angegeben werden:
$ oggenc 1.wav -o 1.ogg -m 192 -M 320 -a "Phil Collins" -t "Hand In Hand" -l "Live
And Loose In Paris" -G "Pop" -N "1"

Die Optionen stehen für:
-a = Name des Künstlers
-t = Name des Liedes
-l = Name des Albums
-G = Genre
-N = Liednummer
Desweiteren empfehle ich wegen der Leerzeichen (z.B. Live And Loose In Paris) die Information
immer in Anführunszeichen zu schreiben! Nun kann man sich die Datei wieder anhören:
$ ogg123 1.ogg
oder wieder ein wenig 'untersuchen':
$ ogginfo 1.ogg
Processing file "1.ogg"...
New logical stream (#1, serial: 556461aa): type vorbis
Vorbis headers parsed for stream 1, information follows...
Version: 0
Vendor: Xiph.Org libVorbis I 20030909 (1.0.1)
Channels: 2
Rate: 48000
Nominal bitrate: 280.000000 kb/s
Upper bitrate: 320.000000 kb/s
Lower bitrate: 192.000000 kb/s
User comments section follows...
title=Hand In Hand
artist=Phil Collins
genre=Pop
album=Live And Loose In Paris
tracknumber=1
Vorbis stream 1:
Total data length: 3645858 bytes
Playback length: 1m:43s
Average bitrate: 282.967393 kbps
Logical stream 1 ended

Das war's schon, nun kann man seine Musik DVD's als Ogg's auf die Festplatte bannen. Für
weitere Fragen sollte man die ggf. die Man-Pages von mplayer und oggenc mal ansehen.