ubuntuusers.de

ubuntuusers.deWikiSkripteTeletext mit DVB-T

Teletext mit DVB-T

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Teletext zu nutzen ist unter Ubuntu eher schwierig. Das in den Paketquellen vorhandene AleVT {en} ist in der vorliegenden Form nur für wenige Karten nutzbar, auch können die "gängigen" Media-Player (Ausnahme VLC) keinen Teletext ausgeben. Kompliziert ist es vor allem, "moderne" DVB-T-Karten für Teletext zu nutzen. Allerdings gibt es eine gepatchte {de} Version für AleVT, die nur für v4l-Geräte optimiert ist; die Bedienung ist aber recht umständlich (Kommandozeilen-Anwendung). In diesem Artikel wird ein Skript für die gepatchte Version vorgestellt, mit der Teletext einfach, ggf. sogar über Fernbedienung zu bedienen ist.

Installation

Folgendes Paket muss installiert [1] werden:

  • zenity (universe)

Wiki/Vorlagen/Installbutton/button.png

Vorbereitung

Zunächst muss eine v4l-fähige Version von AleVT erstellt werden. Dazu wird der gepatchte Quell-Code als .tar.gz-Archiv von dl.blackbone-ev.de {dl} heruntergeladen, das Archiv entpackt [5] und kompiliert [2]. Da das Makefile nicht den aktuellen Konventionen entspricht, muss ggf., um mit checkinstall ein Paket erstellen zu können, zunächst der nicht-standardmäßige Pfad /usr/local/man/ angelegt werden, wo die Manpage abgelegt werden soll; außerdem muss bei der Abfrage der Einstellungen zur Paket-Erstellung mit checkinstall bei der Versionsnummer eine Ziffer eintragen werden (dort steht bei der gepatchten Version dvb, und das akzeptiert checkinstall nicht).

64-bit-Version

Das gepatchte Archiv kann nicht für 64-bit-Systeme verwendet werden. Dazu muss der Original-Code von goron.de {dl} heruntergeladen und mit einem Patch aus diesem tar.bz2-Archiv {dl} aktualisiert werden. Den Quellcode entpacken, das Patch-Archiv in das entstandene Verzeichnis entpacken und mit

patch -p1 < alevt-dvb-demux.patch 

einspielen. Danach nur mit make kompilieren, siehe oben.

Hinweis!

Fremdsoftware kann das System gefährden.

Funktionsweise

Diese Version von AleVT greift über /dev/vbi (darüber werden die Teletext-Informationen übertragen) auf das Gerät /dev/dvb/adapter0/demux0 zu (dazu muss zunächst ein DVB-T-Sender laufen, AleVT zweigt dann die Informationen ab). Dazu wird der Teletext-PID-Parameter des entsprechenden Senders benötigt, um den Teletext anzeigen zu können. Der Aufruf von AleVT im Terminal [3] erfolgt mit dem Befehl:

alevt -vbi /dev/dvb/adapter0/demux0 -pid xxx 

wobei für xxx der PID des gewünschten Senders eingesetzt werden muss. Leider findet sich die Angabe nicht in einer channels.conf; mit Kaffeine kann man sich die Teletext-PIDs im Dialog zur Sendersuche anzeigen lassen.

Alternativ kann auch der Sendername, oder sogar nur die ersten Buchstaben davon verwendet werden, wenn die PID nicht ausfindig gemacht werden kann, für "Eurosport" funktioniert z.B. auch

alevt -vbi /dev/dvb/adapter0/demux0 -progname eu 

Skript

Zunächst erstellt man in einem Editor[4] eine Textdatei, in der die Daten der Sender aufgelistet sind, Sendername und PID werden durch ein Semikolon getrennt, z.B. für Berlin

BBC World;55
FAB;3079
WDR;247
Südwest BW/RP;263
MDR Fernsehen;104
arte;204
NDR Fernsehen;304
RTL;343
RTL 2;359
Super RTL;439
Vox;551
RRB Brandenburg;1504
RRB Berlin;1204
Phoenix;1304
Das Erste;1404
Eins Extra;1404
ZDF;551
info;551
3sat;567
doku;551
KiKa;599
Kabel 1;167
N24;231
Pro Sieben;311
Sat.1;391
9 Live;279
Eurosport;583
DSF;135
VIVA plus;535

Diese wird unter ~/TeletextPIDS.lst abgespeichert

Dann das Skript herunterladen, unter ~/TeletextDVB.sh abspeichern und ausführbar machen [8]

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
#!/bin/bash
## Autor Heinrich Schwietering (2009)
## Skript, um eine dvb-t-fähige Version von AleVT aufzurufen

MCD=/usr/local/bin/alevt 

zenity --help > /dev/null || { echo "Fehler: Du benötigst \"zenity\" um dieses Skript nutzen zu können." && exit 1 ; }
test -e $MCD || { zenity --error --text "Fehler: Du benötigst \"aleVT\" mit dvb-Unterstützung um dieses Skript nutzen zu können!" && exit 1 ; }
test ! -e ~/TeletextPIDS.lst && zenity --error --text "~/TeletextPIDS.lst wurde nicht gefunden" && exit 1
SENDER=`cat ~/TeletextPIDS.lst | cut -d ";" -f 1 | zenity --list --title "Bitte Sender auswählen" --column "Sender:"` || exit 0
echo `cat ~/TeletextPIDS.lst | grep "$SENDER;****"`  &> /tmp/SenderPID
PID=`cat /tmp/SenderPID | cut -d ";" -f 2 ` && rm /tmp/SenderPID
test "$SENDER" || { zenity --error --text "Es wurde kein Sender ausgewählt." && exit 1 ; }
$MCD -vbi /dev/dvb/adapter0/demux0 -pid $PID
END=`zenity --entry --title="Programmwechsel?" --entry-text="Nein" --text="Soll das Teletext-Programm bendet werden?"`
if [ "$END" = "Ja" ]; then
echo "killall $MCD" && exit 1
fi
if [ "$END" != "Ja" ]; then
~/TeletextDVB.sh && exit 1
fi

Wer wie im "richtigen" Fernsehen, immer mit Startseite 100 beginnen möchte, trägt in einem Editor [4] -parent 100 am Ende der Zeile

$MCD -vbi /dev/dvb/adapter0/demux0 -pid $PID 

ein. Auch die Angaben für den Speicherort des Skriptes und der Senderliste müssen ggf. an die eigenen Bedürfnisse angepasst werden. Wenn auch die "normale" Version von AleVT installiert ist, bei MSC= unbedingt auf den richtigen Pfad zur gepatchten Version achten!

./AleVT.png

Benutzung

Das Skript im Terminal aufrufen; es wird der Sender abgefragt, und umgehend der kleine Teletext-Browser geöffnet. Komfortabler ist es, sich im Startmenü [7] einen Eintrag zu erstellen, und das Skript so zu starten [6].

Wenn das Fenster geschlossen wird, erfolgt eine Abfrage, ob der Sender gewechselt werden soll. Wenn nicht Ja angegeben wird, beendet sich das Programm, ansonsten erscheint wieder der Senderauswahl-Dialog. Dabei kann nur der Teletext eines gerade laufenden (oder zuletzt gelaufenen) Senders aufgerufen werden; gewechselt werden kann allerdings innerhalb der "Senderfamilie", die auf einem gemeinsamen dvb-Kanal ausgestrahlt werden. Die Bedienung von AleVT selbst wird im Teletext-Browser ab Seite 900 in englischer Sprache erläutert. Die Steuerung kann auch über eine Fernbedienung mit Lirc über die Maus erfolgen.

Probleme

Bei einigen TV-Karten lässt sich das Programm nicht beenden, wenn der entsprechende Sender nicht mehr wiedergegeben wird. Da hilft es nur, Alevt vor Abschalten des Players zu beenden, oder den Sender nochmals zu starten.

Inzwischen ist die "offizielle" Version 1.6.2 in den Paketquellen vorhanden; um ein Überschreiben eines eigenen v4l-fähigen Pakets zu verhindern, entweder beim Paketerstellen eine höhere Versionsnummer vergeben, oder in der Paketverwaltung die installierte Version sperren.

Alternativen

  • VLC kann mit dem Paket vlc-plugin-zvbi für DVB-T und DVB-C Teletext im Hauptfenster anzeigen, auch als transparente Version über dem Fernsehbild.

  • Das Programm mtt stammt aus dem xawtv-Projekt; es ähnelt AleVT, ist vom selben Entwickler und stellt noch ein paar mehr Funktionen zur Verfügung.

Diese Revision wurde am 11. April 2012 03:29 von Kuttel Daddeldu erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Multimedia, Teletext, TV

Passwort vergessen?