nur mal so eine Frage aus Neugierde und zum Verständnis:
Warum werden eigentlich nur spezielle und einzelne Karten unterstützt? Wäre es nicht möglich, über die Windows-API Zugriff auf alle Karten zu erhalten und ein Bild zu bekommen?
Es gibt dummerweise keine Windows-API für DVB-x. Zwar gibt es eigentlich BDA-Treiber, die ein entsprechendes API bereitstellen sollten, aber die Hersteller kochen da aus irgendwelchen Gründen ab und an ihre eigene Süppchen.
Aber wie machen es die Hersteller von TV-Programmen? Ich hatte zwar jetzt noch nicht superviele TV-Karten, aber ich konnte alle drei (eine davon ist ca. 5 Jahre alt) mit dem selben Programm nutzen. Zufall, weil die für alle eine Ansteuerung hatten?
Genau. Die Hersteller anderer TV-Software müssen genau wie die Entwickler von MP jede Karte, Kartentyp, Treiber etc. einzeln anbinden. Wie kiesow schon richtig anmerkte, gibt es bei DVB Karten die BDA-Treiber. Die sollen eigentlich einen gemeinsamen Standard liefern, aber in der Spezifikation dieser Treiber fehlen leider so ein paar Sachen wie DVB-S2, CI-Unterstützung etc. Deshalb baut jeder Hersteller von TV-Karten diese in die BDA-Treiber zusätzlich ein.
Man kann nun zwar den BDA-Treiber steuern (oder auch nicht) aber nicht alle Funktionen nutzen, da man die Besonderheiten nicht kennt. Kleines Beispiel: Es gibt einen DVB-T Stick von Terratec der auch mit USB 1.1 funktioniert. Dafür gibt es BDA-Treiber, die aber nur mit speziell angepasster Software funktionieren, weil man sonst nicht die Daten über USB 1.1 transportiert bekommt.
Einige Hersteller bieten nun sog. SDK den Entwicklern an, damit sie die Treiber richtig ansteuern können. Das Problem ist, dass das nicht alle tun und manche sogar Geld dafür verlangen oder nicht wollen das diese Informationen in einem Opensource Projekt auftauchen oder oder....
Und dann gibt es noch die WDM-Treiber für DVB Karten, da kommt man ohne ein SDK auch nicht weiter, weil die nicht standardisiert sind.
Bei analogen Karten sieht die Welt ganz anders aus. Hier gibt es nur WDM Treiber, die auch alle mehr oder weniger standardisiert sind. Das Problem ist nur manche haben eine extra Audio Komponente oder Hardware-Encoder oder nur einen Hardware-Encoder für Video aber nicht für Audio usw. usw. Das Problem ist also das man sehr viel Logik braucht, um alle diese Fälle automatisch abzudecken.
MP hat daher eine entsprechende Konfigurationsdatei, die für jede Karte einzeln die Ansteuerung der Karte beschreibt. Der TVServer hingegen versucht alle Karten mit BDA-Treibern und analogen Karten automatisch zu erkennen und anzusteuern.
Für DVB-Karten mit BDA-Treibern kann man die Anleitung verwenden und in der Regel funktioniert das auch gut. Allerdings gibt es dabei zwei kleine Probleme:
Bei manchen Treibern kann man keine Verbindung zwischen dem Network Provider und dem Tuner herstellen
Es gibt manche Treiber die nur noch aus einem Filter (Tuner und Caputre zusammen) bestehen. Diese funktionieren meines Wissens nur mit dem TVServer.
Für analoge Karten gibt es leider keine explizite Anleitung.
Richtig. Der Hauptgrund ist, dass der TVServer die Karten automatisch erkennt, was auch sehr gut bei DVB-Karten mit BDA Treibern funktioniert. Der Hauptgrund warum es meistens bei BDA-Treiber trotzdem nicht funktioniert, sind meistens Sachen wie mangelhafte oder modifizierte Treiber. Ausnahme: CI-Unterstützung, DiseqC etc., da das wie erwähnt für jede Karte extra programmiert werden muss und da hilft auch die Anleitung nicht weiter.
Die Logik für die Erkennung von analogen Karten ist auch relativ umfangreich, aber da habe ich relativ wenig Praxiserfahrung mit (kein Signal mehr).