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

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

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…