Sie befinden sich aktuell in den Archiven des Blogs Dr. Jochen Manns für Januar, 2009.
18.1.2009 von JMS.
Bedingt durch seine Historie verbinden bisherige DVB.NET Versionen einen Verbraucher eines Teildatenstroms (Bild, Ton, Steuerdaten, Videotext, … - eindeutig spezifiziert durch eine Datenstromkennung PID) immer direkt mit den von den Hardwareabstraktionen angebotenen Filtern. Das hat einige eigenartige Effekte und ich möchte hier einen Aspekt kurz erläutern: außerhalb des halbstündigen Regionalfensters empfängt man auf WDR Bonn identisch das gleiche wie auf WDR Aachen. Technisch ist das so realisiert, dass beide Sender identische PID Kennungen für Bild und Ton melden. Wenn man in DVB.NET nun eine Aufzeichnung auf WDR Bonn starten würde, so wird ganz normal das gewünschte Ergebnis erzeugt. Wenn dann allerdings gleichzeitig eine Aufzeichnung auf WDR Aachen aktiviert wird, werden die notwendigen PID Kennungen neu angemeldet. Mit dem Effekt, dass die Bonn Aufzeichnung keine neuen Daten mehr erhält, sondern nur noch die Aachener. Noch häßlicher wird es, wenn man Bonn dann stoppt: nun werden die Filter abgemeldet und Aachen bekommt keine Daten mehr.
Sehr unbefriedigend! DVB.NET wird ab Version 3.9 die Konzepte strikt trennen. Es können pro Datenstromkennung (PID) beliebig viele Verbraucher angemeldet sein, die alle individiuell aktiviert oder deaktiviert werden können. Ein Filter der Hardwareabstraktion wird aktiviert, sobald mindestens ein Verbraucher aktiv ist. Er wird deaktiviert, wenn der letzte aktive Verbraucher deaktiviert oder abgemeldet wird (oder die Quellgruppe (früher Transponder genannt) gewechselt wird).
Mag sich wie ein Detail anhören, ist aber im Hinblick auf einige Probleme in der Vergangenheit ein wichtiger Schritt.
Bis bald
Jochen
Geschrieben in DVB.NET, VCR.NET | Keine Kommentare »
3.1.2009 von JMS.
Beginnend mit DVB.NET 3.9 verfolge ich ein etwas anderes Konzept, was das Laden der Bibliotheken angeht. Mehr oder weniger historisch bedingt durch die Notwendigkeit, die properitäre Treiberdatei (DLL) der Hauppauge Nexus im selben Verzeichnis zu haben wie die Anwendung [ja, da gibt es durchaus Alternativen, aber alle haben ihren eigenen kleinen Haken], die sie benutzt, brachte jede DVB.NET Anwendung letztlich die gesamte Bibliothek mit sich - siehe VCR.NET. Scheint es erst mal von Vorteil zu sein (DVB.NET und VCR.NET werden unabhängig voneinander installiert), kann es doch auch lästig sein (der Viewer MUSS in das DVB.NET Installationsverzeichnis, Fixes für DVB.NET MÜSSEN auch immer im VCR.NET eingespielt werden und so weiter).
Da ich es auch für bedenklich halte, DVB.NET Bibliotheken (Assemblies) mit teilweise sehr direktem Zugriff aus .NET heraus auf das Betriebssystem blind in das .NET GAC (Global Assembly Cache) zu installieren. habe ich folgende Lösung gewählt:
Insgesamt enthält das Installationsverzeichnis von DVB.NET im Wesentlichen nur noch Anwendungen. Eine auf DVB.NET basierte selbst erstelle Anwendung muss eigentlich nur noch die eigenen Dateien kopieren und hat volle DVB.NET Unterstützung - inklusive eines vereinfachten Aktualisierungsmechanismus.
Ich hoffe, dadurch etwas Übersichtlichkeit in die Installation des DVB.NET Kerns und abhängiger Anwendungen zu bringen.
Wir werden sehen…
Jochen
Geschrieben in DVB.NET, VCR.NET | Keine Kommentare »
3.1.2009 von JMS.
Die nächste DVB.NET Version wird mehrere Schichten zum Zugriff auf DVB Hardware anbieten. Erst einmal unangetastet bleiben die DVB.NET 3.5 (und früher) Hardwareabstraktionen, wobei es aber sehr schwer sein wird, diese weiterhin direkt zu verwenden (mit Absicht). Tatsächlich zeigt es sich nun nach einiger Entwicklungszeit, dass dieser Kern so ziemlich das einzige ist, was in die neue Version unverändert eingeht.
Dazu ein kleiner Einschub: Anders als ursprünglich geplant gibt es sehr viel Neues in DVB.NET, so dass ich mich entschieden habe, die nächste Version 3.9 (aka Fast-4.0) zu taufen. Für die viele Arbeit und die realisierten Konzepte ist 3.5.1 einfach zu schwach und alles dazwischen wäre nur gemogelt. Es geht auf die 4.0 zu - das wäre meine Botschaft!
Doch zurück zum Thema. Für jemanden, der eigene DVB Software auf Basis von DVB.NET entwickeln möchte, ist der Zugriff über die (neuen) Geräteprofile der vorgeschlagene Ansatz. In meinem Fall wird das etwa der DVB.NET / VCR.NET Viewer sein, der (auch) direkt auf die lokale DVB Hardware zugreifen soll. Damit man sich nicht mit unnötigem Balast abplagt wird es hierzu eine Basisinstallation DVB.NET Library geben, die im wesentlichen die Bibliotheken enthält - und einen minimalen Satz von Werkzeugen etwa für die Pflege von Profilen oder den Sendersuchlauf. Eine separate Installation DVB.NET Tools wird einige zusätzliche Anwendungen zum Testen und Spielen mit der Bibliothek enthalten.
Neu ist die Installation DVB.NET Server, die den so genannten DVB.NET Card Server enthält. Dieser wird eine wesentliche Grundlage für VCR.NET 3.9 (oder andere Aufzeichnungsdienste wie für 4TheRecord locker geplant) bieten. Hier geht es nicht um den elementaren Zugriff auf die DVB Hardware, wie ihn die Geräteprofile bieten. Vielmehr bietet ein Card Server Funktionen wie die folgenden an:
Insgesamt werden sehr wenige, komplexe Funktionen angeboten.
Den Card Server wird es in zwei Varianten mit identischer Schnittselle geben. Im Normalbetrieb wird für jedes aktive DVB Gerät ein eigener Prozess gestartet. Damit wird die höchste Stabilität erreicht und vor allem vermieden, dass sich etwa unterschiedliche BDA Treiben in einer Anwendung stören. VCR.NET nutzt diese Möglichkeit schon seit Jahren erfolgreich. Alternativ kann der Card Server aber auch in eine Anwendung geladen und dort direkt angesteuert werden. Die Installation enthält zum Spielen ein kleines Testprogramm, mit dem sich die wichtigsten Funktionalitäten des Card Servers in beiden Varianten erschliessen lassen.
Bis später
Jochen
Geschrieben in DVB.NET, VCR.NET | Keine Kommentare »