DVB.NET 3.5 – Ein Ausblick oder so

Nachdem ich nun doch schon DVB.NET 3.2 inklusive des DVB.NET / VCR.NET Viewers freigegeben habe, einige sehr rohe Gedanken zur nächsten Version – obwohl ich nicht glaube, dass ich vor Karneval 2008 anfangen werde, etwas Konkretes zu tun. Ich plane auch locker, die Versionsnummer statt auf 3.3 direkt auf 3.5 zu erhöhen. Erst mal überraschend, denn nach aussen hin sichtbar wird sich wenig tun.

Aber im Laufe der Jahre sind einige relativ umfangreiche Teile der Bibliothek relativ schnell enstanden, hier ist an mehreren Stellen mal eine Konsoldierung und ein Review notwendig, vielleicht sogar mal wieder eine Dokumentation für Entwickler (Stichwort Sandcastle – NDoc hat den Sprung nach .NET 2.0 ja nicht geschafft). Das betrifft vor allem die Unterstützung der BDA Treiber. In diesem Bereich werde ich aber vor allem die Anbindung der spezifischen DiSEqC Ansteuerung und (die zur Zeit noch gar nicht angedachte) PayTV Unterstützung via CI/CAM angehen. Für die nächste DVB.NET Version soll hier ein Provider Konzept her, dass eine Nutzung von anderen BDA Treibern durch eine Bereitstellung von kleinen Zusatzmodulen erlauben soll.

Auch der für den Viewer entwickelte Bereich der Anzeige von DirectShow Graphen soll noch einmal mit etwas Abstand betrachtet werden. An dieser Stelle kommt aber auch schon der zweite große Bereich ins Spiel, der etwas Auffrischung braucht. DVB.NET unterstützt heute mit einigen Klassen den Umgang mit Transport Streams: es gibt einen Parser, der zum Beispiel den Datenstrom vom Sender zerlegt, eine Klasse zum Erzeugen von Dateien und einen DirectShow Filter zum Einmischen in einen Graphen. Bei allen Aspekten gibt es noch offene Fragen, die möglicherweise Probleme verursachen. Der Parser verwendet für die Filter etwa keine eigenen Threads zur Datenverteilung, das könnte der Grund sein, warum einige PayTV HDTV Sender nicht gleichzeitig mit der Programmzeitschrift (EPG) aufgezeichnet oder fehlerfrei betrachtet werden können. Die Dateierzeugung hat einen Multiplexer auf Basis der TS Pakete, sondern verwendet die PES Struktur, was möglicherweise die Ursache dafür ist, dass Sender mit einem PES Paket pro GOP Aufzeichnungsdateien erzeugen, die nicht abgespielt werden können. Und die Einmischung von H.264 Material in DirectShow Graphen erkennt die innere Struktur des Datenstroms nicht und kann dem Graphen keine Hinweise auf so genannte Synchronisationspunkte geben, was vermutlich der Grund dafür ist, dass der Viewer FFDShow und andere Decoder nicht zur Anzeige von H.264 Material nutzen kann.

Ach ja: im Zusammenspiel mit dem Viewer wäre auch die Unterstützung einer Fernbedienung Thema für die nächste Version. Hier müsste ich mich auch mal schlau machen, was möglich ist, welche Software existiert und so weiter. Es geht schwerpunktmäßig um verteilte Szenarien, bei denen ein VCR.NET die DVB Hardware verwaltet, der Viewer aber auf einem anderen Rechner läuft und die Fernbedienung dort angeschlossen wird. Die bei den Karten mitgelieferten Fernbedienungen sind daher erst einmal nicht das Thema – auch wenn ich vielleicht damit anfange, da DVB.NET ja zumindest die Nexus diesbezüglich unterstützt.

Viel gesagt, viel Kram In-House, aber vielleicht kommen dabei einige ‚Bug Fixes‘ heraus. Und wie immer: mal schauen, was ich davon wirklich umsetzen kann.

Man darf gespannt sein (naja: ich bin es)

Viel Spaß weiterhin mit DVB.NET und Konsorten

Jochen

… und mit VideoText

Nun gut, es wird eine (nicht ganz vollständige) Unterstützung des untersten Konformitätslevels geben, aber vielleicht reicht das schon. Ob es für alle Anwendungsfälle was wird, weiß ich aber noch nicht: im Moment verhindern Probleme bei der Transparenz die Nutzung von Untertitelseiten – das, was mir eigentlich am wichtigsten wäre.

Wie dem auch sei, hier ein erster Eindruck:

VideoText mit dem DVB.NET / VCR. NET Viewer

Bis bald

Jochen

Zusatz: wieder ein kleiner Schritt, zwar nicht für die Menschheit, aber immerhin.

Und doch mit Transparent

FFDShow Unterstützung (H.264) erst einmal zurückgestellt

Ich werde für die 3.2er Versionen doch nichts mehr an der FFDShow Unterstützung machen – für MPEG-2 geht FFDShow, für H.264 allerdings nicht. Hintergrund ist, dass FFDShow die Hardwarebeschleunigung der Graphikkarten wohl nicht unterstützt. Auf den mir zur Verfügung stehenden Rechnern ist allerdings ein Softwaredecoding von H.264 nicht so möglich, dass eine flüssige Wiedergabe erzielt wird. Damit wird die Fehlersuche sehr mühsam, da vieles plötzlich nur Seiteneffekte sind – seit ich die HD 2600 Pro habe, sind alle Probleme, die ich mit dem DVB.NET / VCR.NET Viewer und H.264 zu haben glaubte, verschwunden.

Tatsächlich hat der Viewer allerdings auch noch den Nachteil, dass er wesentlich mehr Rechenzeit für sich benötigt, als etwa der Media Player Classic (MPC). Mit dem MPC kann man ohne Hardwarebeschleunigung und FFDShow auf dem Pentium D830 gerade mal so H.264 schauen, mit dem Viewer ist das nicht möglich. Auch mit Hardwarebeschleunigung ist die CPU Last beim Viewer mit 15-20% deutlich höher als die 5-10% bei H.264 im MPC (CyberLink / PowerDVD SE Codec mit den neuesten freien Patches). Da ist also sicher noch Potential.

Oder kurz: dieses Jahr wird es mit H.264 via FFDShow im DVB.NET / VCR.NET Viewer definitiv nichts mehr.

Sorry

Jochen

Noch geht es nicht so richtig los

Eigentlich wollte ich die Tage mit der Evaluation für die 3.2er Version beginnen, damit sich dieses Jahr da noch was tut (erste Schritte wären FFDShow H.264 für den DVB.NET / VCR.NET Viewer und CI/CAM für die TechnoTrend Budget Line – für VCR.NET ist nichts wirklich geplant). Ich habe allerdings noch zwei Bug Fixes für die 3.1 machen müssen (DVB.NET’s QuickRecord VLC arbeitet nicht richtig bei älteren Nexus Versionen und VCR.NET’s EasyCut hat einen Fehler beim Schneiden von SUP Untertiteln, der sich etwa bei englischen Sendern bemerkbar machen kann). Dazu noch ein kleines Tool FTPWrap, das es erlaubt, ProjectX zu starten, während eine Aufzeichnung noch läuft (idealerweise gleich zu Beginn der Aufzeichnung) – es kann sein, dass FTPWrap im Setup von VCR.NET 3.2 enthalten ist.

Und dann mußte ich ein lange verschobenes privates Projekt mal anfangen. Da wir hier auf zwei Rechnern unabhängig aufnehmen, führen wir eine Liste, was schon aufgenommen wurde (inklusive was gekauft wurde). Leider ist es nicht ganz trivial, eine solche Liste zu pflegen, wenn mehrere Leute im LAN potentiell gleichzeitig etwas ändern wollen. Viele freie DVD Medienverwaltungstools (oder wie immer man den Überbegriff nennen sollte) sind grundsätzlich für den Einbenutzerbetrieb ausgelegt.

Nun, ich habe im LAN immer einen Web Server laufen: VCR.NET! Da habe ich nun mal angefangen (wirklich Stufe 0.1 – nix Dolles, nur dass es im Moment geht), eine ASP.NET basierte Verwaltung so zu entwicklen, dass man die einfach über eine bestehende Installation kopieren kann. Zumindest technisch kein Problem. Die Lösung ist allerdings noch sehr roh und sowohl häßlich als auch ohne Rücksicht auf Performance. Aber wenn man erst mal eine Basis hat, wird das Leben einfacher.

Daran werde ich nun (für Euch unsichtbar) in der nächsten Zeit etwas herumbasteln. Dann ist FFDShow dran – schauen ‚mer mal. Aber seit ich die neue Graphikkarte habe (HD 2600 Pro) und auf meiner CPU (Pentium D 830) problemlos (mit dem CyberLink Codec) und ruckelfrei H.264 schauen kann (selbst BBC HD mit der Nexus), wollte ich da nochmal etwas Zeit hereinstecken. Das Problem wird sein, dass ich mein DirectShow Verständnis wohl noch erheblich erweitern muss – mal sehen ob mir das gelingt.

Frohes Abwarten 🙂

Jochen