Die aktuelle Entwicklerversion VDR 1.3.11 im Überblick

Aus LinuxUser 08/2004

Die aktuelle Entwicklerversion VDR 1.3.11 im Überblick

Aufgebohrt

Die Version 1.4 des Video Disk Recorders VDR wirft ihre Schatten voraus, bereits die aktuelle Entwicklerversion 1.3.11 ist ein Quantensprung im Vergleich zur stabilen Version 1.2.6. Dieser Artikel gibt einen Überblick über die wichtigsten Neuerungen und Änderungen.

Der digitale Videorekorder VDR von Klaus Schmidinger entwickelt sich mit einer Geschwindigkeit weiter, die es Außenstehenden schwer macht, über die zahlreichen Neuerungen und Änderungen den Überblick zu behalten. Auch dieser Artikel muss sich auf die wichtigsten Aspekte von VDR 1.3.11 [1] beschränken, kleine Verbesserungen wie die Einblendung bereits vorhandener Timer in die Programmübersicht (Abbildung 3) oder das Caching der Aufzeichnungsliste können kaum mehr als eine Randnotiz erhalten.

Endlich VPS

Das von den Band-Videorekordern beliebte VPS ließ sich in den stabilen Versionen von VDR nicht benutzen. Klaus Schmidinger hat in der Entwicklerversion diese Funktionalität nachgebildet und treffenderweise als VPS bezeichnet, auch wenn im Hintergrund eine ganz andere Technik steckt. Der Band-Videorekorder wird einfach mit der Kanalnummer und der VPS-Zeit, meist der Sendezeit, programmiert, weitere Informationen sind nicht nötig.

VDR benötigt zusätzlich noch den elektronischen Programmführer (EPG), der für den jeweiligen Kanal neben den üblichen EPG-Daten das “Programme Identification Label” mit den VPS-Daten enthalten muss. VDR sucht nach dem Eintrag mit der passenden VPS-Zeit, schaltet einige Minuten vor dem im EPG genannten Sendetermin auf den Kanal und beobachtet das so genannte Running-Status-Flag des EPG. Dieses Flag hat einen der Werte “undefined”, “not running”, “starts in a few seconds”, “pausing” oder “running” – VDR muss also lediglich warten, bis der Status auf “running” oder “starts in a few seconds” wechselt, und dann mit der Aufnahme beginnen.

Kein Allheilmittel

Soll sich ein Timer am VPS-Signal orientieren, muss seine Startzeit unbedingt die VPS-Zeit der Sendung sein, die üblichen fünf oder zehn Minuten Vorlauf sind nicht erlaubt. Die Aufnahme endet dann ebenfalls so, wie es das Running-Status-Flag signalisiert, so dass die Endzeit keine praktische Bedeutung hat. Findet VDR keine zur VPS-Zeit passende Sendung, etwa weil sich die VPS-Zeit nachträglich geändert hat oder das EPG ausfällt, wird gar nichts aufgenommen.

In der Praxis funktioniert VPS längst nicht auf allen Kanälen und schon gar nicht so zuverlässig, wie man es erwarten dürfte. So ist es bei Sendern der RTL-Gruppe gang und gäbe, das VPS-Signal statt um 20:15 Uhr schon um 20:09 Uhr von “unknown” auf “running” zu setzen und es pünktlich zum Showdown, einige Minuten vor Ende des Films, wieder abzuschalten. Man verpasst also zuverlässig das Ende und hat am Anfang noch fünf Minuten Werbung aufgenommen. Auf solchen Kanälen ist VPS praktisch unbrauchbar, genauso wie wenn gar kein EPG zur Verfügung steht. Hier helfen nur die Heuristik des Auto-Timers und ausreichend große Vor- und Nachlaufzeiten. Die besten Ergebnisse mit VPS erreicht man auf den öffentlich-rechtlichen Kanälen.

Nebenwirkungen

VDR verwendet das dritte Bit des Statusfelds im jeweiligen Timer-Eintrag in /etc/vdr/timers.conf, um VPS zu markieren. Genau dieses Bit verwendete VDR-Admin seit Version 0.24-pre13-mdo als Markierung für Auto-Timer – zwar verlegte der Autor das Status-Bit in Version 0.94 auf das 16. Bit, bis zur aktuellen Version 0.96 erkennt der Auto-Timer das dritte Bit jedoch nach wie vor als veralteten Auto-Timer-Eintrag. Entsprechend verändert der Auto-Timer die Start- und Endzeiten, damit die Sendung inklusive Vor- und Nachlauf aufgenommen wird – womit VPS jedoch nicht mehr funktioniert. Abhilfe bringt der Patch für VDR-Admin von [5], andernfalls muss man den Auto-Timer in VDR-Admin ausschalten.

Neue Gewänder

Ebenfalls neu und von den Benutzern lange erwartet sind die Skins, genauer gesagt das Plugin text2skin. Damit kann jeder seine eigene Bedienoberfläche für VDR basteln, großartige Programmierkünste sind dafür nicht erforderlich. Listing 1 zeigt den Abschnitt für die Lautstärkeanzeige aus Uwe Hankes Skin “EgalsTry” [4], Abbildung 1 entsprechend die Ausgabe am Fernseher.

Listing 1

Skin “EgalsTry”

[Volume]
Item=Background,x1=8,y1=-61,x2=607,y2=-30,path=volume.png;
Item=Image,display=VolumeCurrent,x1=67,y1=-52,x2=94,y2=-39,path=symbols/volume.xpm,bg=#7FFFFFFF;
Item=Progress,display=VolumeCurrent,x1=103,y1=-55,x2=598,y2=-36,fg=#DF280249;

Abbildung 1: Die Lautstärkeanzeige wird nur mit wenigen Zeilen im Skin definiert, die man auch ohne Programmierkenntnisse leicht selbst anpassen kann.

Abbildung 1: Die Lautstärkeanzeige wird nur mit wenigen Zeilen im Skin definiert, die man auch ohne Programmierkenntnisse leicht selbst anpassen kann.

Die erste Zeile von Listing 1 beschreibt den Event, für den der Abschnitt gelten soll – in diesem Fall die Lautstärkeanzeige. In der zweiten Zeile wird das Bild volume.png in den Hintergrund gelegt, dabei handelt es sich um den stahlgrauen Balken aus Abbildung 1. Die dritte Zeile legt die Position des schwarzen Lautstärkesymbols fest, die nächste Ort und Farbe des dunkelblauen Lautstärkebalkens. Die Werte sind stets in Pixeln angegeben.

Ähnliche Abschnitte gibt es für alle VDR-Menüs, die Lautstärkeanzeige ist hier das einfachste Beispiel, der Gestaltungsfreiheit sind mit text2skin jedoch Grenzen gesetzt: Man kann nur Daten anzeigen lassen, die text2skin zur Verfügung stellt, etwa Datum, Uhrzeit oder wie im vorangegangenen Beispiel die Lautstärke.

Keinen Einfluss hat man auf die Formatierung der einzelnen Menüs und Einträge, so wird das Hauptmenü (Abbildung 2) stets eine direkt untereinander stehende Liste von Einträgen sein, auch die Reihenfolge der Spalten in der Auflistung des EPG (Abbildung 3) sind fixiert. Wer sein völlig eigenes OSD programmieren möchte, muss ein entsprechendes Skin-Plugin schreiben – bis einschließlich Version 1.2 war dies gar nicht möglich.

Abbildung 2: Die zusätzlichen grafischen Elemente, es sind aufgrund der Speicherbegrenzung Grafiken mit sehr wenigen verschiedenen Farben, werden mit wenigen Befehlen in einer Textdatei positioniert.

Abbildung 2: Die zusätzlichen grafischen Elemente, es sind aufgrund der Speicherbegrenzung Grafiken mit sehr wenigen verschiedenen Farben, werden mit wenigen Befehlen in einer Textdatei positioniert.

Abbildung 3: Die Anordnung der Menüinhalte, hier die Auflistung des EPG von Kabel 1, lässt sich nicht per Skin verändern – es bleibt eine einfache Liste, auch die Position der Spalten ist fixiert.

Abbildung 3: Die Anordnung der Menüinhalte, hier die Auflistung des EPG von Kabel 1, lässt sich nicht per Skin verändern – es bleibt eine einfache Liste, auch die Position der Spalten ist fixiert.

Mehr Grafik

Mit der aktuellen Version 0.0.7 des text2skin-Plugins ermöglicht sogar animierte Grafiken, rotierende Senderlogos oder vorbeihüpfende Häschen sind keine Zukunftsmusik mehr.

Derzeit schießen neue Skins wie Pilze aus dem Boden, was nicht zuletzt daran liegt, dass die Herstellung eines eigenen Skins nicht viel mehr als einen Text-Editor und ein kleines Grafikprogramm erfordert. Insgesamt wird VDR bunter: Im Standard-Paket ist zum Beispiel ein Skin enthalten, das die gleiche Optik wie eine Computerkonsole aus dem Raumschiff Enterprise hat (Abbildung 4). Letztlich ist es Geschmackssache – wobei das althergebrachte Textmenü den großen Vorteil hat, sehr übersichtlich zu sein.

Abbildung 4: Trekkis kommen bei der Entwicklerversion von VDR auf ihre Kosten, das Star-Trek-Skin gehört zum Standard-Lieferumfang von VDR und benötigt nicht einmal das <code srcset=

text2skin-Plugin.” width=”300″ height=”225″ /> Abbildung 4: Trekkis kommen bei der Entwicklerversion von VDR auf ihre Kosten, das Star-Trek-Skin gehört zum Standard-Lieferumfang von VDR und benötigt nicht einmal das text2skin-Plugin.

256 Farben

Den Skins werden nicht nur vom Plugin Grenzen auferlegt, auch der Speicher der DVB-Karte für das OSD ist mit gerade einmal 80 KByte mehr als knapp. Entsprechend klein und vor allem wenig farbig müssen die Skins bleiben. Das war ursprünglich auch der Grund für das unspektakuläre und in vielen Augen altbackene Text-OSD bis einschließlich VDR 1.2. Um ein OSD mit 256 Farben auf dem gesamten Bildschirm darzustellen, reicht der Speicher der DVB-Karte nicht aus. Der Kasten “RAM aufgebohrt” gibt eine kurze Anleitung, wie eine herkömmliche, 170 bis 250 Euro teure DVB-Karte von Hand auf 4 MByte aufgerüstet wird. Die Anleitung ist allerdings mehr etwas für hartgesottene Lötprofis als für Hobby-Bräter – wer seine Karte professionell umbauen lassen möchte, kann sich an [8] und [9] wenden.

Die Speichererweiterung ist nur eine Voraussetzung für vielfarbige Menüs, zusätzlich ist eine neue Firmware für die DVB-Karte fällig. Für die alten DVB-Treiber, wie etwa die beliebte CVS-Version vom 08.11.2003, gibt es die Firmware-Dateien Dpram und Root im CVS-Repository von http://linvdr.org unter [9], für den aktuellen DVB-Treiber Version 1.1.x ist nur eine Firmware-Datei von [10] erforderlich.

Momentan ist die Umrüstung auf 4 MByte Speicher nicht erforderlich, es ist aber davon auszugehen, dass in Zukunft viel mehr Skins mit den 80 KByte OSD-Speicher auskommen. Die zusätzlichen 2 MByte werden übrigens nicht komplett ins OSD investiert, sondern auch in größere Video- und Audio-Puffer, was der Stabilität sehr zugute kommt.

Release-Termin ungewiss

Wann die nächste stabile Version erscheint, aller Voraussicht nach VDR 1.4, wissen weiterhin nur die Götter und Klaus Schmidinger. Immerhin sind bereits viele Punkte und angedachte Verbesserungen umgesetzt worden, eine Freigabe im Herbst hält der Autor für wahrscheinlich – aber ohne Garantie. Der Entwickler verfolgt nämlich die gleiche Strategie wie das Debian-Projekt oder auch LinVDR: Die neue Version erscheint genau dann, wenn sie fertig ist.

RAM aufgebohrt

VDR hatte lange Zeit nur ein sehr schlichtes, stark textorientiertes On-Screen-Menü, Grafiken oder gar bewegte Symbole gab es praktisch nicht. Der Grund dafür sind die sehr stark begrenzten Ressourcen der Full-Featured-DVB-Karten: Wenn man die Video- und Audio-Puffer von den 2 MByte SDRAM abzieht, bleiben gerade einmal 80 KByte für ein On-Sceen-Menü inklusive Fonts und Farbpaletten übrig.

Viele On-Board-Grafikkarten zweigen einen Teil des Hauptspeichers ab und verwenden ihn als Grafikspeicher – das funktioniert mit dem MPEG-Decoder der DVB-Karten allerdings nicht, er benötigt die Daten im RAM der DVB-Karte.

Schon vor gut 18 Monaten diskutierten die VDR-Entwickler auf der Development-Mailing-Liste heftig über eine Speichererweiterung für die DVB-Karten. Den vorhandenen 2-MByte-SDRAM-Chip durch einen größeren zu ersetzen, scheidet aus, da der MPEG-Decoder hier nur 2 MByte adressieren kann.

Die Lösung heißt “SDRAM Chip Select”: Damit lassen sich zwei oder mehr RAM-Chips am gleichen Daten- und Adressbus betreiben – welcher der Chips nun gemeint ist, signalisiert der Prozessor, indem er die Chip-Select-Leitung des RAMs auf Low setzt. Beim MPEG-2-Decoder der DVB-Karte ist nur ein Chip-Select-Signal herausgeführt und am vorhandenen RAM-Chip angeschlossen.

Laut Datenblatt hat der Prozessor jedoch eine zweite SDRAM-Chip-Select-Leitung, und zwar am Pin C7 – das Problem ist nur, dass es sich in diesem Fall um ein direkt mit der Platine verlötetes Ball Grid Array ohne Anschlusskontakte handelt. Somit gibt es keine Möglichkeit, direkt an den Anschluss heran zu kommen.

Anfang Juni entdeckte Oliver Endriss durch Experimente mit einer beschädigten DVB-Karte, dass der Chip-Träger (Abbildung 5) einige Datenleitungen bis zur Kante herausführt, darunter auch SDRAM Chip Select 2 (SCS2). Mit einem Skalpell und runder Klinge lässt sich der Lötstopplack von der nur rund 0,1 mm dünnen Leitung abkratzen.

Abbildung 5: Nur unter der Lupe lassen sich die feinen Leiterbahnen am Rand des MPEG-Decoders erahnen, der Pfeil zeigt auf das ebenfalls rot markierte SDRAM Chip Select 2. Zum Größenvergleich liegt links unten ein 1-Cent-Stück.

Abbildung 5: Nur unter der Lupe lassen sich die feinen Leiterbahnen am Rand des MPEG-Decoders erahnen, der Pfeil zeigt auf das ebenfalls rot markierte SDRAM Chip Select 2. Zum Größenvergleich liegt links unten ein 1-Cent-Stück.

Anschließend wird ein zweiter RAM-Chip auf den ersten gelegt und Beinchen für Beinchen mit dem unteren verlötet – mit Ausnahme des Pins 18, denn dort wird mit einem dünnen Draht die freigelegte Chip-Select-2-Leitung angelötet. Die ausführliche Anleitung von Oliver Endriss nebst vielen Bildern gibt es unter [7].

Dieser Umbau empfiehlt sich jedoch nur für erfahrene Bastler, bei Abständen von unter 1 mm entstehen sehr leicht Kurzschlüsse zwischen den Beinchen der RAMs, die zu einem Totalschaden der 170 bis 250 Euro teuren DVB-Karte führen können. Wer nicht selbst basteln möchte, kann sich im VDR-Portal an Thomas Keil [8] wenden oder beauftragt den Modding-Spezialisten Wolfsoft [9].

Infos

[1] VDR-Entwicklerversion 1.3.11: ftp://ftp.cadsoft.de/vdr/Developer/vdr-1.3.11.tar.bz2

[2] Text2Skin-Plugin für VDR 1.3.11: http://www.magoa.net/linux/index.php?view=text2skin

[3] Skins für VDR: http://vdrskins.org

[4] VDR-Skin “EgalsTry” von Uwe Hankes: http://web.vdrskins.org/vdrskins/albums/userpics/10007/Skin-EgalsTry-0.0.5a.tar.gz

[5] VDR-Admin-Patch für VDR 1.3.11 und VPS: http://linvdr.org/download/vdradmin/vdradmin-0.96-autotimervps.diff.gz

[6] VDR-Portal, Benutzer Thomas: http://vdrportal.de/board/profile.php?userid=663

[7] 4-MByte-Umbau von Oliver Endriss: http://endriss.escape.bei.t-online.de/dvb-mem-mod/index.html

[8] Wolfsoft: http://www.wolfsoft.de

[9] Firmware-Dateien für DVB-Treiber Version 1.x: http://linuxtv.org/cgi-bin/cvsweb.cgi/DVB/driver/av7110

[10] Firmware für DVB-Treiber Version 1.1.x: http://www.linuxtv.org/download/dvb/firmware

LinuxUser 08/2004 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben