11. Mai 2016
Nerd deluxe: Videotext von VHS auslesen – Teil 2
Weiter geht es mit dem Nerd-Projekt „Videotext-Daten von VHS auslesen“; für das Gelingen ist, wie bereits in Teil 1 erwähnt, eine eng definierte Kombination aus Hard- und Software notwendig.

Aber keine Angst, vieles davon haben Sie im Keller oder auf dem Dachboden oder es wird Ihnen für kleinste Münze auf dem Gebrauchtmarkt nachgeworfen.
PC mit PCI- und PCIe-Slot
In meinem Falle reaktivierte ich einen betagter Rechner mit Asus P5B-V Mainboard, Intel Core 2-Duo Prozessor und 4 GB DDR2-Hauptspeicher.
Wichtig ist, dass das Mainboard einen (heute eher seltenen) klassischen PCI-Slot aufweist, denn die TV-Karte, auf die wir noch zu sprechen kommen, stammt aus den 90ern und damals gab es nur diesen Bustyp. Die Grafikkarte wiederum sollte relativ aktuell sein und über einen PCI Express-Slot eingebunden werden, denn erst ab dieser Generation sind die Grafikkarten CUDA-fähig.
Das Mainboard muss einen 64bit-Prozessor unterstützen, da wir später Linux Ubuntu 64bit einsetzen werden. Wenn Sie einen Intel-Prozessor verwenden möchten, hilft vielleicht diese Übersicht auf Wikipedia weiter: Intel 64 (Wikipedia).

Erforderlich ist auch, dass der PC über ein angeschlossenes DVD-Laufwerk verfügt, da wir hierüber das Linux installieren werden. CD-Rom reicht hier nicht aus, da Linux Ubuntu zur Zeit ca. 2,1 GB umfasst, also viel zu groß für eine CD ist. Falls Sie sich auskennen, natürlich ist auch eine Installation über einen USB-Stick möglich, aber damit beschäftige ich mich nicht.
Weiter ist eine funktionsfähige Netzwerkverbindung zwingend, da über das Internet eine Menge an Software nachgeladen wird. Ansonsten benötigen Sie alles übliche: Netzteil, Festplatte mit einer Kapazität von mindestens 30 GB (je schneller und je mehr Kapazität, umso besser), Tastatur, Maus und Monitor.
NVIDIA-Grafikkarte, die CUDA fähig ist
Ein Wort zu CUDA: diese Technik der Firma Nvidia ermöglicht es, dass Berechnungen parallel auf dem Prozessor der Grafikkarte (GPU) ausgeführt werden. vhs-teletext unterstützt in der neuen Version CUDA, die Ermittlung der korrekten Videotext-Daten wird dadurch dramatisch beschleunigt.

Natürlich können Sie auch auf diesen Luxus verzichten und alle Berechnungen vom Hauptprozessor durchführen lassen. Dann dauert halt alles deutlich länger.
Um CUDA zu testen setzte ich zuerst eine wirklich alte Karte mit Geforce GF 8600 GT ein. Diese sollte zwar laut Angaben CUDA rudimentär unterstützen, es gelang mir aber trotz vieler Bemühungen nicht, es ans Laufen zu bekommen.
Kurzerhand bestellte ich eine GeForce GT 740 OC mit 2 GB DDR5-RAM für überschaubare 83,- Euro. Sie bietet 384 CUDA-Recheneinheiten für die parallele Berechnung. Mit dieser Karte und dem nativen Nvidia-Treiber 361.42 läuft CUDA nun endlich.
Ein Leistungsvergleich: eine Minute VHS benötigt bei dem oben beschriebenen Rechner ohne CUDA 25 Minuten und 9 Sekunden zur Berechnung, mit CUDA sind es nur noch 2 Minuten und 22 Sekunden.
Achtung: nach einigen Tests der durch CUDA unterstützten Berechnungen habe ich leider feststellen müssen, dass sich die Qualität des Ergebnisses deutlich verschlechtert hat. Ein 1:1 Vergleich einer durch die CPU und einer durch die GPU berechneten Umwandlung ergab trotz identischem Ausgangsmaterials deutlich mehr Fehler im Text, wenn CUDA eingeschaltet ist.
Damit hatte ich ehrlich gesagt nicht gerechnet, es scheint sich um einen Fehler im Code zu handeln. Ich plane, den Autor darüber zu informieren und habe CUDA erstmal mittels des Flags –force-cpu wieder deaktiviert. Die Qualität der Seiten ist mir persönlich dann doch wichtiger als die Rechendauer.
Trotzdem beinhaltet meine Installationsanweisung im dritten Teil die Installation von CUDA, Sie können anschließend selber entscheiden, ob sie es einsetzen möchten oder nicht. Vielleicht haben wir ja auch Glück und der Autor findet den Fehler.
TV-Karte mit analogem HF-Eingang und Brooktree-Chipsatz
Dies ist der wichtigste Punkt, wir benötigen zum Anschluss des VHS-Gerätes eine klassische 90er Jahre-TV-Karte. Diese muss einen Brooktree BT848- oder BT878-Chipsatz aufweisen und einen analogen HF-Eingang („Antenneneingang“, auch „RF in“) besitzen.
Alle anderen Anschlussmöglichkeiten wie z.B. über SCART / Composit funktionieren aus technischen Gründen leider nicht, da wir mit HF sozusagen die Ausstrahlung des damals gesendeten TV-Signals inklusive aller Informationen in der Austastlücke (siehe Teil 1) rekonstruieren wollen.
Im Netz gab vhs-teletext-Autor Alistair Buxton höchstpersönlich den Tipp zu einem möglichen Hardware-Kandidaten:
All that is required is a capture card that can oversample the VBI lines in the video signal at a relatively high rate and then pass out the raw samples without attempting to decode them. Old Hauppauge WinTV PCI cards are capable of this. Other may be too.
Die komplette diesbezügliche Diskussion siehe https://www.transdiffusion.org/2016/01/07/teletext-time-travel

Nach einer weiteren Recherche fand ich eine passende Karte, die Hauppauge WinTV 38104 Rev. B208. Das Modell gab es auf dem Gebrauchtmarkt für sechs Euro zum Sofortkauf.
Das Schätzchen ist aus dem schönen Jahre 1998, hat damals ca. 200,- DM gekostet und der Verkäufer war sicher froh, dass ihm ein Irrer aus Essen den vermeintlichen „Schrott“ noch abgenommen hat. Es mag auch noch andere Hersteller und Modelle geben, falls dieser in der Beschreibung oder über das Produktbild nicht eindeutig zu erkennen ist, fragen Sie den Verkäufer.

Denn Vorsicht, es gibt ähnliche Karten auch mit anderen Chipsätzen, beispielsweise dem CX2388x. Diese können wir nicht gebrauchen, denn ohne einen BT848 oder BT878 – Chipsatz müsste man die Hardware-Parameter der Python-Software anpassen und zusätzliche Linux-Treiber installieren, was den wenigsten (inklusive mir) gelingen wird.
Linux Ubuntu 64 Bit
Zuerst probierte ich es mit Linux Mint, da dies am ehesten der von Windows bekannten Bedienung entspricht. Allerdings gab es unzählige Probleme mit der Installation der für vhs-videotext benötigten Umgebung, welche sich fast alle durch den Einsatz der Ubuntu-Distribution 16.04 schlagartig erledigten.
Fragen Sie mich nicht warum, ich dachte bisher immer, Linux ist Linux und da Mint auf Ubuntu basiert, wäre das sowieso kein Thema – aber das scheint so nicht korrekt zu sein. Auch sollten Sie hinsichtlich CUDA unbedingt die 64bit-Version wählen.
Das Betriebssystem laden Sie als ISO-Datei herunter und berennen daraus eine bootfähige DVD. Erfreulich ist übrigens auch, dass der Linux-Kernel für die Brooktree-Chipsätze („bttv“) entsprechende Module beinhaltet, die später nur noch aktiviert werden müssen.
tvtime
Um den richtigen Kanal einzustellen und das Bild von VHS sehen zu können, setze ich die die Linux-Software tvtime ein, welche wir im Rahmen der Installation im dritten Teil herunterladen und einrichten werden. Sie können auch jedes andere TV-Programm verwenden, sofern es, wie tvtime, mit der analogen TV-Karte klarkommt. Aber ich würde Ihnen raten, erstmal damit zu starten, das Programm ist kostenlos.
VHS-Videorekorder
Natürlich brauchen Sie auch einen funktionierenden VHS-Videorekorder, idealerweise denselben, mit dem die Aufnahmen seinerzeit gemacht wurden. Ich habe das entsprechende Gerät, ein Sharp VC-A202, den mein seliger Vater 1988 nach langem Bitten und Betteln anschaffte, tatsächlich noch, allerdings „frisst“ dieser die Bänder und müsste erst generalüberholt werden.

Daher verwende ich einen JVC HR-DD949E, den ich Ende der 90er Jahre erwarb und der seitdem treu und immer zuverlässig seinen Dienst verrichtet. Sämtliche VHS-Digitalisierungen wurden mit dem guten Stück durchgeführt. Der Vorteil dieses Modells: es besitzt das sogenannte „Dynamic Drum System“, womit die Videoköpfe auch bei von der Norm abweichenden Bandgeschwindigkeiten präzise auf die Videospuren nachgefahren werden.
Diese von Video 2000 übernommen Technik wurde nur bei den Spitzenmodellen von JVC eingesetzt und gewährleistet, dass auch Bänder, die mit anderen VHS-Recordern aufgezeichnet wurden, sehr gut wiedergegeben werden. Weiter bietet er das „B.E.S.T. Picture System“ – eine Art automatische Einmessung auf das jeweilige Longplay (LP) oder Single Play (SP)-Material. Irgendwas habe ich beim Kauf damals wohl richtig gemacht.
HF-Antennenkabel
Der Rekorder sollte einen Antennenausgang („RF out“) besitzen, über diesen verbinden wir mittels HF-Kabel („Antennenkabel“) das Gerät mit der TV-Karte:

Solche Kabel sind in Zeiten von HDMI & Co. selten geworden, ich musste erstmal den halben Keller danach absuchen. Notfalls ist ein HF-Kabel aber auch heute noch problemlos über den Elektrofachhandel erhältlich.
Weiter im dritten Teil
Als Nächstes beschäftigen wir uns mit der Installation von Linux Ubuntu, den notwendigen Treibern und Modulen sowie der Einrichtung der vhs-teletext – Software.