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

Suchmuster in Dateinamen

Der VCR.NET Recording Service legt für jede einzelne Aufzeichung eine TS (Transport Stream) Datei an. Der Speicherort der Datei kann in gewissen Grenzen frei gewählt werden, der Dateiname selbst setzt sich im Wesentlichen aus den Parametern der Aufzeichnung zusammen – etwa dem Namen der Aufzeichnung und dem Startzeitpunkt. Die möglichen Muster zum Zusammenbau des Dateinamens werden mit VCR.NET 3.0 deutlich erweitert.

muster.jpg

Bei der Konfiguration des VCR.NET ist der Anwender an dieser Stelle sehr frei. Zu dieser Freiheit ist allerdings auch eine Warnung angebracht: der VCR.NET prüft nicht, ob ein Dateiname doppelt vorkommt und überschreibt bei einer unglücklichen Konfiguration ältere Dateien ohne Vorwarnung. Es wird empfohlen, zumindest die volle Startzeit (bis zur Sekunde) und den Namen der Aufzeichnung in das Muster einfliessen zu lassen. Die genaue Zeit garantiert, dass bei einem Neustart der Aufzeichnung (manuell durch den Anwender oder automatisch bei Abbruch des digitalen Datenstroms während eines Gewitters) ein anderer Dateiname erzeugt wird. Der Name kann wichtig sein, wenn auf mehreren DVB Geräten gleichzeitig eine Aufzeichnung beginnt – theoretisch reicht natürlich die Angabe des DVB.NET Geräteprofils im Muster.

Ach, so etwa wird die Konfiguration im VCR.NET 3.0 aussehen:

config0.jpg

Erste Gehversuche mit neuem Kern

Die ersten Entwicklertests von VCR.NET 3.0 mit Benutzung der DVB.NET 3.0 Geräteprofile sind durch. Auch wenn ich einige Punkte wie etwa den Übergang in den und aus dem Schlafzustand noch nicht verifizieren konnte, so sieht es aus, als wäre die Kernfunktionalität des VCR.NET nach der großen Umstellung wieder hergestellt. Aufzeichnungen, EPG Sammlungen und Sendersuchlauf tun es und alles kann an eines von optional mehreren für den VCR.NET freigegebenen Profilen gebunden werden.

Der erste Zipfel vom nächsten Schritt ist auch getan: der Aufbau einer Entwicklungsumgebung für den ASP.NET 2.0 basierten Thin-Client. Ich kann nun in der Gesamtlösung den VCR.NET Dienst als normale Anwendung starten und den Web Server darin über den Browser bei voller Debug Funktionalität ansprechen. Hört sich trivial an, hatte aber einige kleine Fallstricke.

Da ich den VCR.NET Recording Manager nicht mehr weiter ausbauen will, werde ich neue Funktionalitäten nun erst einmal in den Thin-Client einbauen. Das beginnt mit der Möglichkeit, die Administration über den Browser durchzuführen – der alte Menüpunkt VCR.NET konfigurieren. Danach kommen Aufzeichung mit zusätzlicher Auswahl des DVB.NET Geräteprofils. Der VCR.NET Recording Manager wird, so lange es ihn denn noch gibt, immer nur das erste freigegebene Profil ansprechen können. Für alle Anwender mit nur einer DVB Karte ist das völlig ausreichend – und das dürfte die Mehrzahl der Anwender sein.


adminroles.jpg

DVB.NET 3.0 RC1

Ich würde gerne noch dieses Jahr VCR.NET 3.0 fertig machen und habe mich daher entschlossen, DVB.NET 3.0 erst einmal zu zu machen. Das heißt, es wird wohl keine neuen Features mehr geben (etwa Nutzung des Favoriten Managers im Quick Record Standard) und Updates bis zum Final werden nur noch Dinge enthalten, die VCR.NET 3.0 braucht (und eine aktualisierte Dokumentation, da graut es mir schon vor – kostet bestimmt wieder einen vollen Tag – so spartanisch die DVB.NET Homepage auch ist).

Der Download erfolgt über das Forum, da stehen auch die Zugangsdaten. Da es mit VCR.NET etwas Probleme bei der Installation unter Vista gab (ganz ehrlich: man kann es nun installieren, aber es läuft nicht), werde ich ab jetzt nicht mehr nur die MSI, sondern ein ZIP mit MSI und zugehöriger Setup.EXE bereitstellen.

Nachdem ich gestern drei Stunden durch einen Blue Screen und ein CheckDisk verloren habe (370 GB dauert halt, aber immerhin habe ich mein GB private Daten inklusive VCR.NET / DVB.NET Sourcen wieder – war ein ganz schöner Schreck in der Abendstunde, vor allem, da mein letztes Backup eine (Sourcen) respektive drei (Mails et al) Wochen alt war), versuche ich nun die mir zur Verfügung stehende Zeit konsequent für VCR.NET zu nutzen (DVB.NET Profile, Thin Client, viele kleine Features und einige Fixes). Mal sehen…