VCR.NET 3.0 – und wie geht es weiter?

Wie üblich (zumindest bei meinen Hobby-Projekten) haben größere Änderungen Nachwirkungen auf die weiteren Versionen. Im Falle von VCR.NET 3.0 wurden wieder einige Konzepte neu eingeführt, die erst einmal im Wesentlichen funktional implementiert sind. Für die nächste Version 3.1 ist schon einmal locker geplant, zumindest die wichtigsten Neuerungen weiter auszubauen.

Zuerst einmal verschwindet der VCR.NET Recording Manager fast (dazu später mehr) vollständig und wird durch eine Web Anwendung ersetzt, die in einem Browser läuft – getestet erst einmal nur mit dem Internet Explorer 7. Das ist soweit auch fertiggestellt und funktioniert in vielen Bereichen auch wesentlich performanter als über die alte .NET (Windows) Anwendung. Natürlich ändert sich die Bedienung und an einigen Stellen wird es ungewohnt und hakelig. Hier ist das primäre Ziel von VCR.NET 3.1 eine Oberfläche zu schaffen, die sowohl ein Neueinsteiger schnell erlernen als auch ein Experte effizient nutzen kann. Dazu kommt noch die optische Aufbereitung – im Moment ist alles praktisch nur Text und ein bißchen graphischer Pepp mit Symbolen und Hintergrundgraphiken macht die Nutzung der Web Anwendung sicher angenehmer.

Durch den Einsatz von DVB.NET Geräteprofilen kann der VCR.NET Recording Service nun mehrere DVB Karten gleichzeitig nutzen. In der 3.0 wird allerdings der Anwender entscheiden müssen, welche Aufzeichnungen über welche Karten abgearbeitet werden sollen. Ich stelle mir vor, dass die 3.1 hier eine erste Unterstützung für eine automatische Wahl bieten kann. Ganz trivial ist das aber nicht, es sei denn, man hat zwei völlig gleichwertige Karten. Einfach könnte man sich noch vorstellen, dass zwei gleichwertige Karten jeweils mit und ohne CI/CAM vorhanden sind und PayTV Aufzeichnungen immer an die Karte mit Entschlüsselung geleitet werden. Bei inhomogener Hardware ist das allerdings schon kniffeliger – zumindest was Konfiguration und Algorithmen angeht. Hat jemand zum Beispiel eine DVB-S und eine DVB-T Karte, so will er vielleicht bevorzugt Aufzeichnungen über DVB-S vornehmen und die DVB-T Hardware sozusagen als Backup nutzen. Was aber, wenn an einer solchen Backup Situation sichergestellt werden soll, dass der Kinofilm in Erstaustrahlung im ZDF auf Grund der besseren Qualität über DVB-S aufzuzeichnen ist?

Mehrere Geräteprofile

Noch nicht so recht von Erfolg gekrönt sind meine Versuch, über das VLC 0.8.6 ActiveX Control TimeShift und Live Betrachtung von Aufzeichnungen zu integrieren. Es geht, aber… Neben technischen Problemen wie der Instabilität des Controls (vermutlich starte und beende ich es noch nicht so ganz richtig) gibt es auch logistische Probleme. So sind in der 3.0 beide Modi an laufende Aufzeichnungen gebunden. Betrachte ich etwas über TimeShift eine Aufzeichnung, so endet diese erst einmal an dem Punkt, an dem das TimeShift gestartet wurde. Normalerweise setzt die Anzeige dann mit einem kurzen Ruckler wieder auf, allerdings nicht, wenn die Aufzeichnung bereits beendet ist. Daher ist TimeShift über VCR.NET 3.0 erst einmal mehr ein Preview als eine echt nutzbare Funktionalität.

Laufende Aufzeichnung

Bis später

Jochen

Mühsam ernährt sich das Eichhörnchen…

… aber zumindest irgendwo Licht am Ende des Tunnels!

Nun gut, wie sicher jeder, der die Entwicklung von VCR.NET 3.0 verfolgt, bemerkt hat, gab es keine Version Ende 2006. Präzise: ich habe heute gerade eine Vorabversion bei mir hier installiert und die ersten Tests mit dem gleichzeitigen Ansteuern von zwei Karten gemacht (um ehrlich zu sein: die erste Installation war vorgestern, heute war die erste, die es auch tut). Meine Liste bis zur Freigabe geht nun schon auf einen Zettel und es sind nur noch zwei eckelige Punkte darauf (plus Dokumentation aktualisieren).

Ich versuche, in den nächsten Tagen immer mal ein paar kurze Artikel zu den aktuellen Problemen zu schreiben. Im Moment sieht die Installation (trotz noch eingeschränkter) Funktionalität mit dem Thin (Web) Client ganz gut aus [ich meine nicht die Optik des Web Clients – da bitte ich doch, die Hoffnungen etwas zu dämpfen: 3.0 wird sich auf die Funktionen beschränken]. Was wirklich noch hakt ist das Anschauen laufender Aufzeichnungen mit dem VLC 0.8.6 ActiveX Control. Lokal geht es so lala (abgesehen davon, dass der Browser des öfteren abstürzt), im LAN ging es gar nicht (kann aber an meinem alten 10 MBit/s Netz oder irgendwelchen Firewall Geschichten liegen). Sobald die 3.0 stabiler ist, werde ich da mal einige Tester ansprechen…

Ein anderes Problem ist in DVB.NET beheimatet und wird mir auch noch einiges abverlangen: das Zusammenspiel DirectShow / BDA / Sendersuchlauf ist extrem mangelhaft und ich glaube im Moment, dass ich nicht alles schuld bin. Ich weiß zwar, was ich grundsätzlich machen müßte, aber das kostet Zeit und ich weiß nicht, ob es in C# / .NET überhaupt so geht (Performance vor allem). Bevor ein Sendersuchlauf mit der TechnoTrend S2-3200 bei mir im BDA Modus nicht sauber läuft, werde ich auch VCR.NET nicht freigeben.

Soweit zum Stand

Jochen

QuickRecord – BDA und kein Ende

Und mal wieder einen Abend verloren: wie hier bereits beschrieben bin ich auf die BDA Treiber der S2-3200 umgestiegen. Gestern wollte ich eigentlich am VCR.NET was tun und öffne mal eben für einen winzigen Test QuickRecord (Standard). Beim Starten der Aufzeichnung stürzt das Tool gnadenlos irgendwo im DirectShow ab. Ohne auf Details einzugehen: die Ursache ist wohl irgendwie der Audio Decoder Filter von CyperLink / PowerDVD – nimmt man den von Nero, fluppt es (dieser Artikel positiv übertitelt würde daher lauten: in QuickRecord (Standard) von DVB.NET wird es nun möglich sein, die zu verwendenden DirectShow Filter für Bild und Ton vorzugeben).

Wie dem auch sei, hier ein Zwischenfazit: DVB.NET wird vermutlich zur Anzeige (!) einen neuen BDA Kern bekommen. Aber erst, nachdem VCR.NET fertig ist – das bedeutet nämlich wieder viel Probiererei und hält wirklich auf.

Jochen

PS: Ach ja: heute Nacht ist mir der Rechner beim Starten einer Aufzeichnung eingefroren! Irgendwie traue ich den BDA Treibern doch nicht so richtig…

Timeshift, Livemode und Streaming

Ich habe einige Vorstudien betrieben und nach meinem Wunsch (bei dessen Realisierung natürlich auch die Zeit eine wichtige Rolle spielt) soll es die im Titel genannten Möglichkeiten zum Einblick in laufende Aufzeichnungen geben. Der Thin Client von VCR.NET 3.0 wird diese mit Hilfe des VLC 0.8.6ff ActiveX Controls anbieten (dazu habe ich noch keine Tests gemacht, aber im QR/VLC vom DVB.NET und im Zapping Client läuft es ja recht klaglos). Da der VCR.NET einen eigenen ASP.NET Web Server beinhaltet, der halt kein vollwertiger IIS oder Apache ist, werde ich da in der 3.0 einige Abstriche bezüglich der Konformität mit dem HTTP Protokoll machen, so dass erst einmal nur VLC eingesetzt werden kann.

Im Einzelnen: der Livemode (ich werde hier die Nomenklatur etwas ändern – es ist nicht der LIVE Modus gemeint, der in VCR.NET 2.7 für den Zapping Client verwendet wird) erlaubt es, bei einer laufenden Aufzeichnung den (die) aktuellen Datenstrom(ströme) zu betrachten. Dabei ist es nicht möglich, ältere Teile der Aufzeichnung anzuschauen – dazu kann ins Timeshift gewechselt werden. Vielleicht wird hier auch der Zapping Client integriert, der genau dieses ja tut nur halt zusätzlich noch die Umschaltung des Senders erlaubt. Allerdings ist das etwas trickreicher, da der Zapping Client keine Aufzeichnung in eine Datei vornimmt, ich will mich hier mal nicht zu weit aus dem Fenster lehnen. Eventuell bleibt der Zapping Client für die 3.0 wie er ist.

Beim Timeshift kann eine Aufzeichnung bis zum dem Zeitpunkt betrachtet werden, an dem das Timeshift gestartet wurde. In diesem Bereich erlaubt VLC (hoffentlich auch das ActiveX Control) ein freies Hin- und Herspringen in der Datei. Wird beim Abspielen das Ende des aufgezeichneten Bereichs erreicht, so soll (da muß ich noch Detailrercherchen machen) automatisch in den Livemodus gewechselt werden. Von diesem aus dann wieder zurück ins Timeshift, wenn gewünscht.

Das Streaming ist erst einmal völlig unabhängig davon. Jeder Teil einer Aufzeichnung kann wie bisher an einen Unicast oder Multicast TCP/IP Empfänger gesendet werden.

Livemode und Timeshift werden einfach als Seiten im Thin Client angeboten, etwa http://localhost:2909/VCR.NET/TimeShift/Stream0.ts oder ähnliches. Ist die gewünschte Aufzeichnung nicht verfügbar, so wird ein entsprechender Fehler gemeldet.

Die Nutzung von VLC bringt allerdings auch einen Wermutstropfen mit sich und ich weiß noch nicht so ganz wie ich das löse. Allerdings sei vorweg bemerkt, dass das vermutlich kaum einen Anwender stört. Zugriffe auf VCR.NET werden weiterhin eine (Windows integrated / NTLM) Autorisierung des Anwenders erfordern. VLC kann das nicht (höchstens Basic, aber wer versendet schon gerne sein Kennwort im Klartext). In der ersten Version von VCR.NET ist daher auf die Livemode und Timeshift Datenströme anonymer Zugriff möglich. Dies wird in der Konfiguration des VCR.NET deaktivierbar sein.

Jochen

Kleine Rückschläge erhöhen die Spannung, oder?

Leider mußte ich mal wieder etwas in die Basis einsteigen. Ich nutze meine TechnoTrend S2-3200 seit einigen Monaten produktiv im VCR.NET. Einige (wenige, aber egal) Aufzeichnungen waren dabei ohne erkennbaren Grund völlig geschrottet. Das sah dann so aus, dass eine Weile fehlerfrei aufgezeichnet wurde und danach ein Bildblock (keine anderen Datenströme) von ca. 6 kB immer wieder wiederholt wird. Natürlich vermute ich, dass der Fehler sich irgendwo im DVB.NET versteckt, ich komme aber einfach nich dahinter, wo das sein könnte. Zudem der größte freie Puffer in der TS Generierung weniger als 200 Bytes groß ist und alle anderen Puffer in Einheiten von TS Paketen (184 Bytes) verwaltet werden. Und die sich wiederholenden Daten sind kein Vielfaches davon (genau 35 x 184 – 8 Bytes).

Da ich kein CI habe dachte ich mir, es kann ja nicht schaden, wenn ich auf die BDA Treiber umsteige (DiSEqC geht ja inzwischen). Aber auch da einige böse Überraschungen. Dass KiKa / ZDF Aufnahmen Fehler haben kann noch an meiner mangelhaft ausgerichteten Schlüssel liegen (die Nexus zeigt maximal 5dB auf dem ZDF Transponder, am Anfang vor einigen Jahren war ich mal auf 10dB oder so) – gestern war hier ziemliches Mistwetter. Aber was wirklich ärgerlich ist, ist der Sendersuchlauf. Zum einen werden nicht alle Sender gefunden (zuerst fehlten die DVB-S2 Sender, dann RTL, dann ZDF usw.), ohne dass ich auch nur eine Idee habe, wie das sein kann. Dann hängt sich der Suchlauf auch fast immer irgendwo auf (nun gut: die Transponderliste von EuroBird und Astra 2ABD enthält sehr viele Einträge, auf denen nichts gesendet wird, kann sein, dass die Karte da durcheinander kommt – aber warum geht es einwandfrei mit den konventionellen WDM Treibern).

Echt der Frust. Bevor ich VCR.NET weiter machen kann, muss ich mir den BDA Teil vom DVB.NET genauer anschauen – bei anderen Anwendung fluppt es ja auch, muss irgendwie an mir liegen. Ich habe die neuesten Treiber von TechnoTrend genommen, evt. ist da auch noch was zu tun. Nur: grundsätzlich läuft es halt…

Nun gut, soweit zum Status VCR.NET 3.0.

Viel Spaß

Jochen