Logo Logo
Themen schraeg
Wissen
Codecs· Einführungen· Lexika
Hardware
Camcorder· Computer· DVD· Zubehör
Software
3D· Compositing· Download· DVD· Effekte· Player· Tools· Videoschnitt
Filmpraxis
Beleuchtung· Drehbuch· Filmen· Filmlook· Keying· Montage· Regie· Sound· Tips
DV-Film
Festivals· Filme
Sonstiges
Hersteller· Reviews· Technik
/// Tips : Codecs

Tips : DirectShow Merrits
von rudi Mi, 26.April 2006 | 2 Seiten | diesen Artikel auf einer Seite lesen   


Die Theorie
Merrits
Was tun?
Strategie



Wer seinen PC zur Videobearbeitung nutzt, spielt in der Regel mehr als ein Programm auf seinen Rechner. Sind diese Programme von unterschiedlichen Herstellern, bringen diese meistens auch verschiedene Codecs mit. In der Regel verstehen sich diese Codecs auch untereinander gut. Doch manchmal kann dies auch zu unvorhergesehenen Problemen führen, denen man gar nicht so leicht auf die Schliche kommt...

In unserem Fall hatten wir auf einem Testsystem die neue Adobe Suite mit After Effects 7.0 installiert. Letzteres wirbt ja unter anderem damit, dass es auch direkt HDV-Material importieren kann. Auf unserem Test-System gelang jedoch kein Import von HDV-Files, die mit Premiere Pro 2.0 gecaptured wurden. Auf einem anderen System gelang der Import dagegen problemlos. Es war uns zwar schnell klar, dass hier irgendwas mit dem CodecCodec im Glossar erklärt faul sein musste. Aber was? Adobe bringt ja seine eigenen MPEG-2-Filter mit und diese waren offensichtlich korrekt installiert. Also wo lag das Problem?


Die Theorie

Hat man beispielsweise ein Editing-Programm und zwei Software-DVD-Player installiert, befinden sich meistens schon drei MPEG2-Codecs auf dem System. Diese Codecs bestehen aus mehreren sogenannten DirectShow-Filtern, die einzelne Aufgaben des Decodierens übernehmen. So steht vor dem eigentlichen Abspielen das Demultiplexen und anschließend die synchrone Weitergabe an einen Video- und einen Audio-Decoder. (Subtitel und andere Kleinigkeiten brauchen meistens auch noch einen eigenen Filter).
Muss nun ein Programm einen MPEG2-Strom dekodieren, so fragt es bei DirectShow an, welche installierten Filter diesen Strom entpacken können. In unserem Beispiel könnten sich also drei MPEG2-Demultiplexer mit den zugehörigen Filtern melden.
Viele Anwendungen sind dabei scheinbar filterunabhängig programmiert. Das bedeutet das Programm fordert nicht speziell den Filter an, der mit der Applikation mitgeliefert wurde. Dadurch lassen sich auch unabhängige Filter mit vielen Programmen nutzen.
Die Kehrseite der Medaille ist jedoch, dass sich nicht jeder Filter hundertprozentig gleich verhält. Gerade wenn es um das Dekodieren von HDV-Transport-Strömen geht, ist nicht jeder MPEG2-Filter dazu hundertprozentig in der Lage, auch wenn er in der Windows-Registry vorgibt, es zu können. Doch wonach entscheidet DirectShow, welchen CodecCodec im Glossar erklärt es zur Verfügung stellt, und wie kann man das Programm daran hindern einen bestimmten CodecCodec im Glossar erklärt zu verwenden?


Merrits

Nachdem wir schon ahnten, dass es sich um ein DirectShow-Problem handeln müsste, stießen wir im Netz auf die sogenannten Direct-Show Merrits. Darunter versteht man eine Präferenztabelle für Codecs, welche die gleiche Aufgabe erfüllen können. Wird kein spezieller Filter/Codec angefragt, so wählt das System einfach den mit den höchsten Merrits. Das Problem ist jedoch, dass der Codec-Hersteller selber bestimmt, welchen Stellenwert/Merrit der CodecCodec im Glossar erklärt bei der Installation hat. Dieser Wert wird bei Installation in der Registry gespeichert. Unsolidarische Codecs geben sich einfach den höchsten Merrit, und verdrängen damit die übrigen Codecs bei der Ausführung. Dass es sich dabei jedoch nicht immer um den besten CodecCodec im Glossar erklärt handeln muss, ist wohl klar. Auch später installierte Codecs können sofort im System „untergehen“ wenn bereits ein CodecCodec im Glossar erklärt mit hohem Merrit-Wert installiert ist. In unserem Fall war übrigens ein Cyberlink DVD-Player auf dem System installiert, der einen sehr hohen Merrit-Wert für seinen DVD-Decoder eingetragen hatte. Dieser verdrängte dadurch permanent den später von Adobe installierten MPEG2-Filter. Adobe konnte jedoch mit dem Cyberlink-Codec keine HDV-Files öffnen. Komisch dabei war nur, dass Premiere den eigenen CodecCodec im Glossar erklärt wohl direkt ansprach, während sich After Effects auf die Merrit-Tabelle verließ.


Was tun?

Wer bei seinem System auf ähnliche Probleme stößt, will jetzt natürlich wissen, wo man diese Merrits findet. Die platte Antwort: In der Registry. Allerdings ist es eine Sisyphus-Arbeit, jeden Merrit-Wert von Hand zu ändern und weitere Testläufe zu starten. Daher haben wir uns nach einem sinnvollen Tool für dieses Problem umgesehen und sind auch gleich fündig geworden.

Der kostenlose Zoom-Player Standard besitzt unter „Erweiterte Funktionen“ / „Verwaltung der registrierten Filter“ eine spezielle Funktion um die Merrits einzelner Codecs zu ändern. Hier kann man jeden im System installierten Filter anwählen, seinen Merrit-Wert auslesen und direkt ändern.
Allerdings ist der Merrit-Wert nicht einfach eine Zahl, sondern es gibt verschiedene Verhaltensmuster, die durch Hex-Codes beschrieben werden.
Ein neutraler CodecCodec im Glossar erklärt sollte den Wert „200000“ besitzen, was bedeutet, dass er keinerlei Bevorzugung wünscht. Will man, dass ein CodecCodec im Glossar erklärt auf jeden Fall bevorzugt wird (und sich dadurch möglicherweise unkooperativ verhält), so erhält er den Wert „80000“. Dazwischen gibt es noch von Microsoft schwammig formulierte Werte wie „Normale Bevorzugung (60000)“ oder „Wahrscheinlich keine Bevorzugung (40000)“, wobei uns niemand erklären konnte, was damit konkret gemeint ist. (Wahrscheinlich verbirgt sich dahinter Microsofts Verständnis von Fuzzy Logic). Klar scheint jedoch, dass ein höherer Merrit-Wert einen geringeren Merrit-Wert „schlägt“. Außerdem gibt es noch konkrete Merrits für Hardware-Decodierung.

Im Zoomplayer findet man unter „Erweiterte Funktionen“ / „Verwaltung der registrierten Filter“ eine Merrit-Verwaltung[A]. Den Merrit-Wert trägt man unter[B] direkt ein.




Strategie

Da die auftretenden Probleme vielfältig sein können, können wir an dieser Stelle nur einen allgemeinen Strategievorschlag geben, wie man im konkreten Fall bei der Fehlersuche vorgehen sollte.

Der leichte Weg: Man sucht den zugehörigen CodecCodec im Glossar erklärt der gestörten Applikation und setzt dessen Merrit auf 80000 hoch. Funktioniert danach alles, weiß man zumindest, dass man dem Fehler auf der Spur ist. Jetzt müsste man auch noch die zugehörigen anderen Filter (z.B. Multiplexer) nach oben setzen, damit hier nicht Filter von verschiedenen Herstellern zusammenspielen, die vielleicht andere Probleme erzeugen.

Der bessere Weg: Man sucht den „unkooperativen“ Codec. Dies ist manchmal gar nicht so leicht, denn die Namensgebung einzelner Filter lädt oft zum rätseln ein. Hat man diesen allerdings gefunden „entschärft“ man ihn (und seine Mitstreiter) durch einen Merrit-Wert von 20000. Dies ist mit Sicherheit die sauberere Lösung, denn sonst startet man leicht einen Merrit-Krieg im eigenen System. Bei uns hat es auf jeden Fall geholfen und After Effects importiert jetzt sauber unsere HDV-Files.


  

[7 Leserkommentare] [Kommentar schreiben]   Letzte Kommentare:
elCutty (unregistered)   10:32   26.05.
P.S.
Hier noch der Link zur Beschreibung für GraphEdit:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/directshow/ht...weiterlesen
(unregistered)   10:10   26.05.
@Bundarama
Bei MSDN :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/directshow/htm/errorandsuccesscodes.asp
weiterlesen
Bundarama   17:23   24.05.
Den Beitrag fand ich sehr interessant, weil ich gerade ähnliche Probleme habe.

Allerdings verwirren mich die vielen Nullen etwas. Is...weiterlesen
elCutty (unregistered)   17:52   23.05.
Hallo zusammen,

hervorragende Dienste zur Filteranalyse bietet das im DirectX SDK enthaltene Graphedt.exe. Damit kann man sehen welch...weiterlesen
[ Alle Kommentare lesen]

[nach oben]

Weitere Artikel:

Scoop: Das perfekte Lossless-Taschenmesser? Der neue UT-Codec Fr, 6.November 2009
Es klingt fast zu schön, um wahr zu sein: Bei dem kostenlosen UT-Codec handelt es sich um einen Lossless Codec für Windows, der in diversen Farbräumen (YUV422, YUV420, RGB und RGBA!!) arbeitet, und dabei besonderen Wert auf die Decoding -Geschwindigkeit legt.
Erfahrungsberichte: RAID 0 Ersatz für Arme – Ein Gedankenspiel aus dem slashCAM-Labor Mi, 12.September 2007
Wer heute mit wenig- oder unkompromierten HD-Clips arbeiten will, benötigt mindestens ein RAID 0-Array um auf Datenraten von 80 MB/s oder mehr zu kommen. Wir hatten da eine Idee, wie man in Zeiten von Dual und Quad-Core Prozessoren vielleicht auch mit einer Festplatte bequem arbeiten könnte...
BildEditorials: Hochauflösend in die Zukunft: HDV Mo, 17.Januar 2005
Mit der IBC kam die Katze aus dem Sack gesprungen: Sony hat letztes Jahr den ersten Consumer-HDV-Camcorder auf den europäischen Markt gebracht. Wir zeigen, wohin die HD-Reise geht und was die wirklichen Stärken und Schwächen des neuen Formats sind.
Buchkritiken: Quicktime 6 Di, 31.Dezember 2002
Grundlagen: Auf der Suche nach dem perfekten MPEG2-Videostrom. Mo, 16.September 2002
Buchkritiken: Data Becker: DivX und MPEG Extreme. PC Underground. Do, 8.August 2002
News: MPEG-LA gibt endgültige Lizenzbestimmungen für MPEG-4 bekannt Di, 16.Juli 2002
Grundlagen: Umrechnungsfehler bei DV-Codecs Sa, 30.März 2002
Grundlagen: Der Canopus - Unterschied So, 24.März 2002
Test: Das große Streaming-Codec-Turnier Di, 18.Dezember 2001
Test: Das Codec-Duell - Sorenson 2 gegen 3 (mit Screenshots!) Mi, 28.März 2001
Einführungen: Codecs Sa, 17.März 2001


[nach oben]















Artikel-Übersicht


Artikel-Kategorien:
Einführungen
Test
Grundlagen
Tips
Tutorials
Erfahrungsberichte
Workshop
Ratgeber
Buchkritiken
Scoop
Problemlösungen
Ausprobiert
Basiswissen Videoproduktion
Interviews
Kurztest
News
Essays
Editorials
Berichterstattung
Home Media
Aktionen
Werbung
Filmkritiken
Glosse



update am 9.Februar 2012 - 15:00
slashCAM ist ein Projekt der channelunit GmbH
*Datenschutzhinweis*
ClipKanalschraeg

Aktuelles Video:
FMX 2011 Trailer: "A Maize"