[[Vorlage(Getestet, bionic)]]

{{{#!vorlage Wissen
[:Pakete installieren: Installation von Programmen]
[:Terminal: Ein Terminal öffnen]
}}}
[[Inhaltsverzeichnis()]]

[[Bild(Wiki/Icons/terminal.png, 48, align=left)]]
[sourceforge:lsdvd:] ist ein Kommandozeilenprogramm zum Zeigen des Inhalts einer DVD. Im Gegensatz zum normalen [:ls:]-Befehl listet das Programm Details zu den einzelnen auf der DVD enthaltenen Tracks auf.

= Installation =
lsdvd ist in den Paketquellen von Ubuntu enthalten und kann über das Paket

{{{#!vorlage Paketinstallation
lsdvd, universe
}}}

installiert werden [1].

= Benutzung =
Das Programm wird im Terminal aufgerufen[2], die allgemeine Syntax lautet

{{{#!vorlage Befehl
lsdvd OPTIONEN -t TRACK LAUFWERK
}}}

wobei im einfachsten Fall der Aufruf von `lsdvd` alleine reicht. Dann werden der Informationen zur DVD im 1. Laufwerk für alle Tracks angezeigt. Die Ausgabe sieht so aus:

{{{
libdvdread: Using libdvdcss version 1.2.10 for DVD access
Disc Title: DER_MONDBAER_6
Title: 01, Length: 00:00:23.130 Chapters: 01, Cells: 01, Audio streams: 01, Subpictures: 00

Title: 02, Length: 00:00:16.000 Chapters: 01, Cells: 01, Audio streams: 01, Subpictures: 00

Title: 03, Length: 00:00:07.000 Chapters: 01, Cells: 01, Audio streams: 01, Subpictures: 00

Title: 04, Length: 00:00:59.250 Chapters: 02, Cells: 02, Audio streams: 01, Subpictures: 00

Title: 05, Length: 00:00:59.160 Chapters: 01, Cells: 01, Audio streams: 01, Subpictures: 00

Title: 06, Length: 00:01:38.120 Chapters: 03, Cells: 03, Audio streams: 01, Subpictures: 00
...
}}}

Das Programm kennt eine Reihe von Optionen. Diese sind unterteilt in solche, die detaillierte Optionen zu den einzelnen Tracks anzeigen und solchen, die das Ausgabeformat ändern.

{{{#!vorlage Tabelle
<-2 tablestyle="width: 60%;" rowclass="titel"> Optionen für Trackinformationen
+++
<rowclass="kopf">Option
Beschreibung
+++
`-a`
Detailinformationen zum Audiocodec
+++
`-d`
Detailinformationen zu den Cells
+++
`-n`
Detailinformationen zu den Ansichten
+++
`-c`
Detailinformationen zu den Kapiteln
+++
`-s`
Detailinformationen zu den [http://www.dvdboard.de/forum/FAQ/?action=artikel&cat=7&id=166&artlang=de Subpictures] {de}
+++
`-P`
Detailinformationen zur Palette
+++
`-v`
Detailinformationen zum Videocodec
+++
`-x`
alle Detailinformationen anzeigen
}}}

Dazu ein Beispiel: Im folgenden werden für Track 12 einer DVD alle verfügbaren Informationen angezeigt:

{{{#!vorlage Befehl
lsdvd -t 12 -x
}}}

{{{
libdvdread: Using libdvdcss version 1.2.10 for DVD access
Disc Title: DER_MONDBAER_6
Title: 12, Length: 01:37:00.170 Chapters: 09, Cells: 09, Audio streams: 02, Subpictures: 00
	VTS: 08, TTN: 01, FPS: 25.00, Format: PAL, Aspect ratio: 16/9, Width: 720, Height: 576, DF: Letterbox
	Palette: 52fb0100 51f05a 108080 ea8080 902235 6addca d29210 5b4992 7b8080 d18080 b99d2e 936655 1c77b6 61cfcf 88b33a 3caea4 
	Number of Angles: 1
	Audio: 1, Language: de - Deutsch, Format: ac3, Frequency: 48000, Quantization: drc, Channels: 6, AP: 0, Content: Undefined, Stream id: 0x80
	Audio: 2, Language: en - English, Format: ac3, Frequency: 48000, Quantization: drc, Channels: 6, AP: 0, Content: Undefined, Stream id: 0x81
	Chapter: 01, Length: 00:12:08.360, Start Cell: 01
	Chapter: 02, Length: 00:12:00.170, Start Cell: 02
	Chapter: 03, Length: 00:12:15.080, Start Cell: 03
	Chapter: 04, Length: 00:12:08.130, Start Cell: 04
	Chapter: 05, Length: 00:11:58.140, Start Cell: 05
	Chapter: 06, Length: 00:12:03.130, Start Cell: 06
	Chapter: 07, Length: 00:12:14.090, Start Cell: 07
	Chapter: 08, Length: 00:12:10.250, Start Cell: 08
	Chapter: 09, Length: 00:00:00.090, Start Cell: 09
	Cell: 01, Length: 00:12:08.360
	Cell: 02, Length: 00:12:00.170
	Cell: 03, Length: 00:12:15.080
	Cell: 04, Length: 00:12:08.130
	Cell: 05, Length: 00:11:58.140
	Cell: 06, Length: 00:12:03.130
	Cell: 07, Length: 00:12:14.090
	Cell: 08, Length: 00:12:10.250
	Cell: 09, Length: 00:00:00.090
}}}

Wie bereits erwähnt kann die Darstellung der Ausgabe der Daten modifiziert werden. Dies ist z.B. nützlich, wenn man die Daten per Skript oder in einer anderen Programmiersprache weiter verarbeiten möchte.

{{{#!vorlage Tabelle
<-2 tablestyle="width: 60%;" rowclass="titel"> Optionen für das Ausgabeformat
+++
<rowclass="kopf">Option
Format
+++
`-Oh`
"Human Readable", frei übersetzt "für Menschen gut leserlich". Dies ist die Voreinstellung.
+++
`-Op`
Perl-Stil
+++
`-Oy`
Python-Stil (Python Dictionary)
+++
`-Or`
Ruby-Stil
+++
`-Ox`
XML
}}}

Im folgenden Beispiel werden Informationen zum Track 1 als XML ausgegeben:

{{{#!vorlage Befehl
lsdvd -t1 -Ox
}}}

{{{#!code xml
<?xml version="1.0" encoding="UTF-8"?>
<lsdvd>
    <device>/dev/dvd</device>
    <title>DER_MONDBAER_6</title>
    <vmg_id>DVDVIDEO-VMG</vmg_id>
    <provider_id></provider_id>
    <track>
        <ix>1</ix>
        <length>23.130</length>
        <vts_id>DVDVIDEO-VTS</vts_id>
    </track>
</lsdvd>
}}}

= Problembehebung =
Erhält man die Meldung:
{{{
libdvdread: Encrypted DVD support unavailable.
************************************************
**                                            **
**  No css library available. See             **
**  /usr/share/doc/libdvdread4/README.css     **
**  for more information.                     **
**                                            **
************************************************
}}}
und möchte das Programm mit verschlüsselten DVDs benutzen, installiert man die Bibliothek `libdvdcss2` wie im Artikel [:DVD-Wiedergabe:] beschrieben.

= Links =
 * [:DVDs_rippen:]
 * [:Brennprogramme:]
 * [:MediaInfo:]


#tag: DVD, Shell