Next Stop: DVB.NET Viewer

Puh, das war eine Menge Fleißarbeit, die VCR.NET ASP.NET Web Anwendung auf Master Pages und Themes umzustellen. Funktional ist nur wenig hinzugekommen, wobei sich dieses wenige aber als recht nützlich erweist (ein paar Verweise an den richtigen Stellen wirken Wunder). Als Beispiel habe ich ergänzend zum bekannten VCR.NET Theme (den habe ich mal Classic genannt) eine Konfiguration entworfen, die in etwa den Stil der VCR.NET Homepage wiedergibt.

Damit ist das Thema vorerst (sprich Evaluation) abgeschlossen. Nun geht es an den DVB.NET Viewer. Zuerst einmal rein technische Fleißarbeit bei der Anbindung an einen VCR.NET Recording Service (synchrone Aufrufe, die vielleicht die Darstellung stören und schwere Abbrüche bei SOAP Kommunikationsfehlern sind das Hauptthema). Dann möchte ich in der nächsten Evaluationphase versuchen, den DVB.NET Viewer soweit zu bekommen, dass er auch Radio, AC3 und MPEG-4 abspielen kann (von links nach rechts bin ich immer skeptischer, ob ich das in der mir zur Verfügung stehenden Zeit hinbekomme). Danach geht es mit VCR.NET weiter, wo eine ganze Reihe Betriebsfeatures auf die Realisierung warten.

Schau’n mer mal

Jochen

EPG et al – ein kurzer Statusbericht

Ich habe mich nun ein wenig mit dem SkyEPG auseinandergesetzt, der properitären Programmzeitschrift der englischen Sender auf Astra 2 (28° Ost) – BBC, ITV und Konsorten. Die Informationen dazu sind mager und es sieht nicht so aus, als würde ich in absehbarer Zeit (sprich bis zu DVB.NET 3.1) ein ausreichendes Verständnis für eine Unterstützung entwickeln – tatsächlich weiß ich heute noch nicht einmal, ob eine Nutzung ohne Abo überhaupt möglich ist i.e. ob das SkyEPG verschlüsselt ist oder einfach nur in einem properitären Format vorliegt. Wie dem auch sei: mein Zeitpensum für die Voruntersuchungen ist erschöpft und ich habe das Thema für die 3.1er Versionen erst einmal ausgeklammert.

Für das konventionelle EPG gibt es aber einige zusätzliche Unterstützung. In den Transport Stream Generator von DVB.NET wurde die Möglichkeit eingebaut, EPG Informationen in die TS Dateien mit einfliessen zu lassen. Das bereits bekannte Werkzeug EPG Reader ist nun Teil von DVB.NET und kann verwendet werden, um diese Informationen zu extrahieren – mittelfristig ist allerdings der Hauptfokus der DVB.NET Viewer. Auch VCR.NET wird die EPG Informationen des Senders einer TS Datei immer mit einmischen – für Nexus / TechnoTrend Premium Anwender bedeutet das keine Einschränkung bezüglich der nutzbaren Datenströme, deren Anzahl weiterhin bei 8 liegt [DVB SI Tabellenfilter sind zwar auch beschränkt, aber unabhängig von PES Filtern]. Bei dem Einspielen in die TS Datei werden einige Informationen im EPG so verändert, dass alle Daten als zum TS Inhalt gehörig erkannt werden – das betrifft etwa die Dienstkennung des aufgezeichneten Senders. Spielt man eine solche Datei mit VLC ab, so kann man in den erweiterten Medieninformationen den Titel der gerade laufenden Sendung anschauen – das soll der DVB.NET Viewer dann auch können. In der nächsten Beta Version wird in DVB.NET nur der Stream Manager EPG Informationen in TS Dateien einmischen können, nicht aber die beiden Quick Records.

Das ist mein lokaler Stand jetzt und nun geht es zum nächsten Schritt in Richtung 3.1. Als erstes werde ich mir bei VCR.NET im Web Client die Möglichkeiten anschauen, die eine einfache Trennung der Oberfläche von der Anwendungslogik erlauben – ich meine hier Themes, Skins und anderes, das ich wie diese auch nur dem Namen nach kenne, sowie eine mögliche Personalisierung durch den Administrator oder gar den Anwender selbst. Da ist für mich ein großes weißes Blatt und ich bin mal gespannt, was es zu lernen gibt. Ich hoffe, dass die nächste VCR.NET 3.1 Beta davon schon etwas enthält – die aktuelle Beta ist primär wegen der Erweiterung auf mehrere AC3 Tonspuren entstanden.

Ohne allzu weit in die Zukunft zu schauen ist danach wieder das Thema DVB.NET Viewer dran. Allerdings immer noch nicht die ordentliche Synchronisation des Graphen als Ganzes, sondern die Nutzung anderen Datenströme als MP2 (AC3) und MPEG-2 (MPEG-4) sowie die Unterstützung von Radiosendern. Auch hier gibt es einiges im Bereich DirectShow zu lernen…

Dazu kommt noch die Implementierung des Zugriffs auf VCR.NET im Zapping (LIVE) oder Watch Modus – die SOAP Kommunikation ist noch synchron (das könnte eine Ursache für Störungen in der Wiedergabe sein) und enthält keine ordentliche Fehlerbehandlung.

Weiter will ich heute noch nicht planen, für die Zeit, die ich für DVB.NET und VCR.NET zur Verfügung habe, ist das schon eine ganze Menge.

Viel Spaß

Jochen

Neues Format der Senderliste für Sender mit mehr als einer AC3 Tonspur

Nach einer eleganten Lösung habe ich mich jetzt für eine kompatible Lösung entschieden. Damit können mit der DVB.NET 3.1 Beta erstellte Senderlisten von VCR.NET 3.0 verarbeitet werden. Dieser sieht allerdings nur die erste AC3 Tonspur. Damit dies möglich ist, wurde das Format der Senderliste erst mal identisch gehalten. Für jede MP2 Tonspur gibt es ein <AudioInfo> Tag mit eindeutigem Namen (zusammengesetzt aus Sprache und PID) und PID. Die primäre MP2 Tonspur (die gemäß der Information von der Sendeanstalt im Suchlauf als erste angeboten wurde) wird zusätzlich im <Audio>Tag vermerkt (der Wert kann 0 sein, wenn der Sender keine MP2 Tonspur anbietet). Im <AC3> Tag findet sich völlig äquivalent die primäre AC3 Tonspur.

Neu sind <AC3Info> Tags, die völlig analog zu den <AudioInfo> Tags die AC3 Tonspuren beschreiben. Zwischen Sprache und PID wurde ein (AC3) zusätzlich eingefügt, so dass eine spätere Auswahl eindeutig zugeordnet werden kann (Deutsch [3073] vs. Deutsch (AC3) [3075]). Liest eine Pre-3.1 DVB.NET Anwendung eine solche Datei, werden die AC3 Informationen einfach ignoriert – beim Schreiben der Senderliste würden sie unwiederbringlich verloren gehen, also Vorsicht!

Übrigends: die <AudioInfo> und <AC3Info> Tags sind nicht sortiert und die Reihenfolge der einzelnen Tonspuren einer Gruppe mehr oder weniger willkürlich.

Sowohl die DVB.NET 3.1 Recording Tools als auch der VCR.NET 3.1 Recording Service werden auch mit dem alten Format klarkommen. Es sind dann halt außer dem PID der primären AC3 Tonspur keine Informationen vorhanden. Es ist noch unklar, in welchem Umfang die Informationen in den DVB.NET 3.1 Werkzeugen genutzt werden. Sicher werden die Quick Records alle Tonspuren aufzeichnen, die sie finden. Ob aber eine gezielte Auswahl einer Spur möglich ist, weiß ich noch nicht.

Jochen

DVB.NET / VCR.NET Viewer – aktueller Stand

Ich habe eine Testversion in Vorbereitung, wollte aber vorher noch schnell eine Homepage mit einer Dokumentation zur Bedienung et al machen. So schnell geht das leider doch nicht, aber damit Ihr seht, dass es voran geht (und ich vielleicht bald andere Punkte für die 3.1 Planung evaluieren kann), hier der aktuelle Stand der Homepage (unredigiert und unvollständig: einfach getippt, bis die Lust alle war).

Wer Lust hat, kann ja schon mal im Trockenen schnuppern 🙂

Jochen

Tut sich hier denn gar nix mehr, oder was :-)

Schon seit einiger Zeit schiebe ich es vor mir her, etwas zur nächsten Version 3.1 von DVB.NET und VCR.NET zu schreiben. Da mich heute Morgen ein Anwender mal gezielt darauf angesprochen hat, will ich doch jetzt mal erzählen, was ich denn (in dem Teil meiner Freizeit, die mir für DVB.NET / VCR.NET bleibt) so tue.

Grundsätzlich ist es bei jeder neuen Version so, dass ich mir einige Features überlege, die ich einbauen möchte – seit einiger Zeit natürlich auch getrieben durch die Anwender, die vor allem (aber nicht nur) VCR.NET produktiv nutzen. Aber beide Projekte bleiben immer noch meine Spielfelder, um Neues zu lernen und (Microsoft) Technologie auch mal auszuprobieren. Für die 3.1 wollte ich versuchen, mir für einige Wünsche erst einmal klar zu werden, ob und in welchem Umfang sie für mich im Rahmen meiner (vor allem zeitlichen) Möglichkeiten realisierbar sind – bevor ich im Forum die bereits seit mehreren Version bekannten Listen mit soll gemacht werden und ist bereits gemacht anlege und pflege. In dieser Phase bin ich jetzt.

Dazu einige Details. 3.1 wird im Zeichen von DVB.NET stehen, daher zuerst zu VCR.NET – das natürlich von Verbesserungen in DVB.NET profitiert, aber das ist dann mehr ein Seiteneffekt. Das Kernfeature hier soll es sein, die ASP.NET 2.0 Web Anwendung freier optisch gestalten zu können. Da fallen Begriffe wie Themes, Skins und Styles. Meine Absicht ist es, nahe an den Möglichkeiten von ASP.NET 2.0 zu bleiben und da weiß ich einfach im Moment zu wenig – ok, Personalisierung wird bereits in VCR.NET 3.0 genutzt, hat aber mit der optischen Gestaltung eher am Rande zu tun. VCR.NET 3.1 wird es voraussichtlich weiterhin nur in Deutsch geben, Lokalisierung / Globalisierung wird Thema für eine der späteren Versionen sein, ich hoffe aber schon, dass es 3.2 wird.

Im Schnittpunkt zu DVB.NET 3.1 stehen der Zapping Client und die Möglichkeit, die laufende Aufzeichnung zu betrachten (LIVE oder Timeshift). Für DVB.NET 3.1 hoffe ich, die beiden Quick Record Varianten durch ein neues Tool abzulösen (Arbeitstitel DVB.NET Viewer, vermutlich eigenständiges Setup), das vor allem nicht mehr auf VLC, sondern auf DirectShow Graphen basiert. Genau hier fließt im Moment meine Zeit hinein. Wobei ich mich um den Kernbereich noch etwas drücke, nämlich die fehlerfreie Darstellung von Bild und Ton über DirectShow – es ruckelt noch, AC3, H.264 und Radio gehen [noch] nicht und so weiter. Aber es geht schon grundsätzlich ein bißchen was und zur Zeit habe ich einen Stand erreicht, bei dem das Tool entweder die lokale Hardware anspricht und die Quick Records praktisch vollständig (echtes Manko bisher: kein Hardware Modus mehr für die Nexus / TechnoTrend Premium) und bis auf das Preview eines zweiten Senders auch den Zapping Client ersetzen kann. Zusätzlich gibt es erste Schritte in die Richtung, die laufende Aufzeichnung im VCR.NET zu betrachten (kein Timeshift). Im Gegensatz zu den bisherigen Tools wird es (bis auf wenige Ausnahmen im Bereich der Konfiguration) auch eine vollständige Steuerung über die Tastatur (und damit vermutlich auch die Fernbedienung via Girder) erlauben. Wenn die Kernfeatures im DVB.NET Viewer stehen (ohne AC3, H.264, Radio) werde ich eine Beta Homepage machen und ein technisches Preview erstellen mit dem man mal schauen kann, ob das Konzept passen könnte – für mich tut es das auf jeden Fall, i.e. geben wird es den DVB.NET Viewer auf jeden Fall, allerdings ist die Frage, ob die alten Tools dann noch weiterentwickelt werden müssen oder nicht. Zeitplan: sobald wie möglich, kann sich aber noch in Wochen rechnen!

Ok, nächstes großes Thema für DVB.NET 3.1 ist das EPG der englischen Sender BBC / ITV / …, das anders angelegt ist als das konventionelle EPG (PID 0x12). Hier weiß ich noch zu wenig und muß mir ein ziemlich genaues Bild machen, damit es sich lohnt, dieses Feature anzukündigen. Für mich wäre es sehr schade, wenn es nicht käme, denn die Programmierung über EPG ist nun mal um vieles einfacher als manuell – ok, es gibt ja noch die Alternative TV Browser, aber ob das aktueller als das echte (Sky)EPG ist, möchte ich mal bezweifeln.

Der letzte größere Punkt in DVB.NET 3.1 ist Fleiß und muß nicht evaluiert werden. Dabei geht es um die Senderlisten und den Sendersuchlauf. Bereits jetzt (heißt hier lokal) unterstützt DVB.NET 3.1 mehrere AC3 Tonspuren oder einen inkrementellen Suchlauf. Geplant sind Nachbearbeitungsscripts, die etwa helfen, Sendernamen stabil zu halten.

Alles andere für VCR.NET und DVB.NET 3.1 ist mehr oder weniger in der Lösung klar. Da muß ich aus den ca. 50 offenen Punkten nur die heraussuchen, die zeitlich machbar sind oder es erscheinen. Ich kann mir im Moment etwa gut vorstellen, dass es möglich sein wird, eigene Programme beim Beenden von Aufzeichnungen zu starten oder die Oberfläche eine bessere Unterstützung von Mehrkanalaufzeichnungen anbietet. Unwahrscheinlich ist im Moment die Unterstützung von DVB-C via BDA – aber auch im Endeffekt nur Fleiß, so wie es aussieht.

So, dass muss jetzt für ein paar Tage reichen 🙂 Wenn die Entwicklung wirklich losgeht, hoffe ich wirklich mal wieder alle paar Tage ein kleines Fenster aufmachen zu können – aber so ist das halt mit den guten Vorsätzen, gelle!

In diesem Sinne

Jochen