11.10 Digital-TV unter Ubuntu (DVB)
Hochwertige TV-Bilder erhalten Sie mit Hilfe des DVB-Standards, der digitale TV-Streams auf den Rechner zaubert. Dieses Material kann mit geeigneten Tools auf der Festplatte zwischengespeichert und später auf einen DVD-Rohling gebrannt werden. Für den problemlosen Betrieb unter Linux haben sich sogenannte Full-Featured-Karten bewährt, die über einen Hardware-MPEG2-Decoder verfügen.
Dadurch wird der Prozessor bei der Dekodierung des Streams spürbar entlastet. Aber auch die meisten gängigen anderen Karten und DVB-T-Sticks können problemlos unter Ubuntu betrieben werden. Am besten informieren Sie sich vor dem Kauf in einem der mittlerweile zahlreichen Foren zu Ubuntu.
11.10.1 Die TV-Karte einrichten
Als Testgerät habe ich den DVB-T-Stick Nova-TD der Firma Hauppauge verwendet. Dieser Stick wird an eine freie USB-Schnittstelle angeschlossen und bietet mit zwei Tunern eine hervorragende Möglichkeit zum zeitversetzten Fernsehen oder zum parallelen Aufnehmen und Ansehen von zwei verschiedenen Sendungen. Nach dem Anschließen der Hardware können Sie mit dem Befehl dmesg die letzten Kernel-Meldungen anzeigen lassen. In dem Fall des oben genannten DVB-T-Sticks sieht die Ausgabe wie folgt aus:
...
[ 6370.576676] dvb-usb: found a 'Hauppauge Nova-TD Stick/Elgato
Eye-TV Diversity' in cold state, will try to load a firmware
[ 6370.576680] usb 2-5.1.3: firmware: requesting dvb-usb-...
[ 6370.617887] dvb-usb: downloading firmware from file ...
[ 6370.819301] dib0700: firmware started successfully.
[ 6371.320011] dvb-usb: found a 'Hauppauge Nova-TD
Stick/Elgato Eye-TV Diversity' in warm state.
[ 6371.320046] dvb-usb: will pass the complete MPEG2 transport stream to
the software demuxer.
[ 6371.320257] DVB: registering new adapter (Hauppauge Nova-TD Stick/
Elgato Eye-TV)
...
[ 6372.045546] dvb-usb: Hauppauge Nova-TD Stick/Elgato Eye-TV Diversity
successfully initialized and connected.
Wie Sie an den obigen Meldungen sehen, wurde die Hardware korrekt erkannt und sogar eine neue Firmware installiert. Nutzer einer PCI-Karte erhalten die Informationen über den Befehl lspci. Notfalls müssen Sie die Ausgabe einschränken (lspci | grep DVB) oder in eine Datei umleiten:
lspci > ausgabe.txt
Wenn die Karte vom System automatisch erkannt wird, werden die notwendigen Treiber geladen und für jeden Tuner separat die entsprechenden Gerätedateien im Verzeichnis /dev/dvb/adapter* angelegt:
- demux0
- dvr0
- frontend0
- net0
Firmware installieren
Entscheidend für das Funktionieren Ihrer DVB-Hardware ist die richtige Firmware, die ähnlich wie ein Treiber für die Kommunikation zwischen System und Hardware zuständig ist. Wenn Sie eine Firmware für Ihre Hardware benötigen, sieht die Ausgabe in etwa folgendermaßen aus:
dmesg | grep dvb
saa7146: register extension 'dvb'.
dvb-ttpci: could not load firmware, file not found:
dvb-ttpci-01.fw
dvb-ttpci: usually this should be in /usr/lib/hotplug
/firmware
dvb-ttpci: and can be downloaded here
http://www.linuxtv.org/download/dvb/firmware/
Die obige Meldung gibt an, was zur Nutzung der Karte zu tun ist: Für das entsprechende Modell (im vorliegenden Fall eine Hauppauge Nexus S) müssen Sie eine spezielle Firmware aus dem Internet laden, und zwar von der Seite http://www.linuxtv.org/download/dvb/firmware. Diese benennen Sie mit den folgenden Befehlen zunächst um und übertragen sie auf den Superuser. Anschließend kopieren Sie sie in das Firmwareverzeichnis des Hotplug-Daemons:
mv dvb-ttpci-01.fw-2622 dvb-ttpci-01.fw
chown root dvb-ttpci-01.fw
sudo cp dvb-ttpci-01.fw /lib/firmware/<Kernel-version>
Die aktuell verwendete Kernel-Version erfahren Sie über den Befehl uname -a. Nach einem Reboot des Rechners sollten folgende Boot-Meldungen erscheinen:
dmesg | grep dvb
saa7146: register extension 'dvb'.
dvb-ttpci: gpioirq unknown type=0 len=0
dvb-ttpci: info @ card 0: firm f0240009, rtsl b0250018, vid 71
010068, app 80002622
dvb-ttpci: firmware @ card 0 supports CI link layer interface
dvb-ttpci: adac type set to 0 @ card 0
dvb-ttpci: found av7110-0.
Damit wäre (eventuell nach einem Neustart, falls dmesg immer noch die nicht gefundene Firmware meldet) die Karte einsatzbereit.
11.10.2 Die Senderliste erstellen
Wenn Sie weder Totem noch Kaffeine nutzen wollen, benötigen Sie als Nächstes eine Datei, in der die technischen Parameter der Sender stehen. Diese Datei müssen Sie selbst anlegen, wobei Sie die technischen Parameter abhängig von Ihrer Region von einer der folgenden Webseiten beziehen können:
- http://ueberallfernsehen.de/
- http://www.skyplus.seyen.de/DVB-T.html
- http://dvb-t.the-media-channel.com/
Die Datei muss folgendermaßen aufgebaut sein:
# DVB-T Hamburg
# April 2009
# T freq bw fec_hi fec_lo mod transmission-mode
# guard-interval hierarchy
T 570000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE
T 490000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE
...
Stadt auswählen und Scannen nach Sendern
In der Regel benötigen Sie nur die jeweils erste Angabe einer Zeile, die auf der Website in MHz angegeben wird. Das heißt, statt der Angabe 570 MHz müssen Sie 570000000 in die Datei eintragen. Speichern Sie diese Datei nach der Erstellung mit der Bezeichnung de-'Stadt' ab (in diesem Beispiel de-Hamburg). Diese Datei dient als Grundlage für das Scannen nach Fernsehsendern.
Als Nächstes müssen Sie die dvb-apps installieren, in der sich das Programm scan befindet. Starten Sie das Scannen mit:
scan de-Hamburg > channels.conf
Auf der Grundlage der vorgegebenen Frequenzen werden nun die verfügbaren Fernsehsender gesucht und die gefundenen in der Datei channels.conf nach folgendem Muster abgespeichert:
arte:570000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_16:
TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:4385:4386:2
Diese Datei kann nun von Programmen wie xine verwendet werden, wenn sie in das versteckte Programmverzeichnis des jeweiligen Programms kopiert wird (GStreamer erwartet allerdings eine dvb-channels.conf). Diese Programmverzeichnisse verbergen sich in Ihrem Heimatverzeichnis und lassen sich durch die Tastenkombination + anzeigen. Sie können die Kanalliste auch mit VLC öffnen, sie wird dann wie eine Wiedergabeliste behandelt.
xine für DVB einrichten
Zum Testen können Sie den Universal-Media-Player xine verwenden, der sowohl in Ubuntu als auch in Kubuntu eingesetzt werden kann. Dafür ist die Installation der DVB-Anwendungen und -Werkzeuge erforderlich:
sudo apt-get install xine-ui dvb-apps
Nach der Installation sollten Sie das Programm xine einmal starten, damit das versteckte Konfigurationsverzeichnis .xine erzeugt wird. In dieses Verzeichnis kopieren Sie anschließend Ihre soeben erstellte channels.conf. Nun können Sie das Programm über Anwendungen • xine starten und mit der Schaltfläche DVB den DVB-Tuningmodus einschalten. Daraufhin sollte das DVB-Bild im xine-Hauptfenster erscheinen. Durch Anklicken des Kanalsymbols können Sie durch die vordefinierten Kanäle schalten.
11.10.3 Analoge TV-Karten nutzen
Nach dem Einbau einer analogen TV-Karte booten Sie den Rechner neu. Die meisten handelsüblichen TV-Karten basieren auf der Chip-Serie BT8xx. Ob Ihre Karte erkannt wurde, finden Sie mit dem Befehl dmesg | grep bttv heraus:
bttv: driver version 0.9.15 loaded
bttv: using 8 buffers with 2080k (520 pages) each
for capture
bttv: Bt8xx card found (0).
bttv0: registered device video0
Test mit xawtv
Die identifizierte Karte wurde unter dem Gerätenamen video0 registriert. Um die Karte nutzen zu können, verwenden Sie am besten das Standardprogramm xawtv, welches Sie über das Software-Center installieren können. Nun können Sie das Programm mittels xawtv -c /dev/video0 starten. In diesem Fall wird das beim Booten erkannte Device über den Parameter -c als Videoquelle angegeben, eine Verfahrensweise, die insbesondere bei paralleler Verwendung einer Webcam erforderlich ist. Es kann sein, dass folgende Fehlermeldung erscheint:
This is xawtv-3.95, running on Linux/i686 (2.6.17-10-generic)
Major opcode of failed request: 136 (XFree86-DGA)
Minor opcode of failed request: 1 (XF86DGAGetVideoLL)
Serial number of failed request: 65
Current serial number in output stream: 65
In diesem Fall müssen Sie xawtv mit den folgenden Optionen starten:
xawtv -c /dev/video -remote -global:filter "linear bend"
Kanaleditor
Die Einstellung der Kanäle erfolgt über das Kanaleditor-Menü (Channel Editor). Dabei ist zu bemerken, dass der Tuner-Chip von analogen TV-Karten zumeist nicht »das Gelbe vom Ei« ist. Günstiger ist in diesem Fall die Einkopplung des TV-Signals eines externen Tuners (zum Beispiel eines Videorekorders) über den Composite-Eingang der Karte (Video Source: Composite).
Tipp 181: Eine Video-CD erstellen |
Unter Linux ist es natürlich problemlos möglich, aus einer aufgenommenen Videodatei eine VCD zu erstellen, die der DVD-Player dann abspielen kann. Die Größe der Quelldatei ist hierbei belanglos, da wir sie in mehrere für CDs appetitliche Häppchen aufteilen können. Sie brauchen auf Ihrem Rechner die Pakete vcdimager, mencoder-586 (für Intel Pentium) und mencoder-k6 (für AMD Athlon/Duron). Um aus der Videodatei eine VCD zu erstellen, muss sie zunächst das richtige Format bekommen. Dazu verwenden Sie den folgenden, etwas längeren Befehl: |
mencoder -oac lavc -of mpeg -ofps 25 -ovc lavc -lavcopts \ |
Der zweite Wert bei scale (also die 264 im Beispiel) errechnet sich wie folgt: 352 * (Höhe des Videos / Breite des Videos). Nun kann es etwas dauern, bis die Datei konvertiert wurde. Wenn die erstellte Datei größer als 700 MB ist, dann sollten Sie sie zum gemütlichen Brennen auf zwei oder mehr Dateien aufteilen. Dies geschieht für zum Beispiel zwei Teile durch: |
split -b 650m GroßerFilm.mpg Filmaa FilmCD2 |
Zuerst teilen Sie das zu große .mpg in Filmaa und FilmCD2 auf. Dann schreiben Sie mit dd das Ende der CD1 an den Beginn der zweiten CD. Mit dem cat-Befehl hängen Sie nun daran den zweiten Teil des Films an, und anschließend benennen Sie Filmaa in ein .mpg um. Aus dem Video müssen Sie nun noch ein Image erstellen, das auch von Brennprogrammen verstanden wird. Dazu geben Sie für jede Datei Folgendes in das Terminal ein: |
vcdimager --cue-file=./NameDesVideos.cue \ |
Als letzten Schritt brennen Sie das Image auf eine CD. Dazu brauchen Sie ein Brennprogramm, das .bin/.cue-Images brennen kann. Die gängigen Brennprogramme wie Brasero oder K3b dürften hiermit keine Probleme haben. |
Ihr Kommentar
Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.