Erklärt: So funktionieren DirectShow-Filter

Filter kombinieren und Graphen bauen

Etwas einfacher geht es beim Media Player Classic. Hier fügt man in den "Overrides" die gewünschten Filter hinzu und definiert deren Merits bzw. blockiert bestimmte Filter, wodurch sie nicht mehr verwendet werden. Für MPEG4-Decoder kann diese Filterliste zum Beispiel so aussehen:

filter 6 1118136671

Ändern von Merits beim Media Player Classic

Der 3ivx-Decoder ist hier blockiert, so dass man nur noch die Merits vom Nero- und vom DivX-Decoder richtig setzen muss und schon wird der Film mit genau diesem Decoder abgespielt.

Werbung

GraphEdit ist ein Tool für Filter-Programmierer, die damit ihre Filtergraphen erst einmal testen, bevor sie programmieren. Die Verknüpfung der Filter ist nämlich ein Problem, weil diese erst intern darüber verhandeln, ob sie zusammen arbeiten möchten oder nicht.

Zunächst lässt man eine Filterkette mit GraphEdit grafisch dargestellen. Dazu lädt man den gewünschten Film über "File/Render Media File":

filter 6 1118136671

Ein Filtergraph in GraphEdit

Dieser Filtergraph zeigt alle DS-Filter, die zum Abspielen dieses Films verwendet werden. Es handelt sich um einen AVI-Container mit drei Streams. Stream 00 ist die Bildspur, die über ffdshow in den Video-Renderer gelangt. Stream 01 und Stream 02 sind Tonspuren. Stream 01 ist eine AC3-Spur, die über den AC3-Filter in den Morgan Stream Switcher geführt wird, der die Aufgabe hat, die Tonspuren umzuschalten. Stream 02 ist eine MP3-Spur - in diesem Fall die Kommentarspur, die platzsparend als 96 kbs MP3 kodiert wurde.

Mit "Play" wird dieser Filtergraph nun abgespielt. Leider kann man das Bild nicht bildschirmfüllend darstellen, sonst wäre GraphEdit kein schlechter Movieplayer, aber zum Testen der Filter reicht es.

DS-Filter verfügen links über Input- und rechts über Output-Pins. Mit der Maus verbindet man die Input- mit den Output-Pins. Kann keine Verbindung hergestellt werden, erscheint eine Fehlermeldung. Es bleibt nichts anders übrig, als zu probieren, welche Filter zusammen passen.

Der Filtergraph kann als XML-Datei gespeichert werden und es gibt sogar einige Anwendungen, die solche Graphen lesen können. Für den Zoom Player existiert zum Beispiel ein Tutorial, wie man einen eigenen DVD-Player aus Filtern verschiedener Hersteller strickt, der dann vom Zoom Player verwendet wird (nur mit der kostenpflichtigen Pro-Version möglich). Eine andere Anwendung ist ProgDVB für digitale TV-Aufnahmen. Im Buch gibt es dazu ein ausführliches Kapitel.

Mehr zu Video- und Audio-Codecs und -Filtern

Es gibt eine Vielzahl an Video- und Audio-Codec- und Filterpaketen im Internet. Die wahllose Installation kann allerdings mitunter mehr Schaden anrichten als Nutzen bringen. Grund hierfür sind Codecs oder Filter die nicht mit anderen Codecs und Filtern harmonieren oder sich sogar gegenseitig behindern.

Die Netzwelt-Redaktion hat sich mit diesem Problem aueinander gesetzt und einen Hilfsartikel zum Thema geschrieben. Auf der Übersichtsseite zu Codecs und Filtern finden interessierte Nutzer diverse Informationen die das Thema behandeln. Die Download-Übersicht bietet die verschiedensten Codec- und Filter-Downloads in einem Überblick.

Forum

Eigenen Kommentar schreiben