{"id":635,"date":"2010-03-20T13:47:42","date_gmt":"2010-03-20T08:47:42","guid":{"rendered":"http:\/\/www.borncity.com\/blog\/2010\/03\/20\/warum-spielt-vlc-videos-ab-und-der-wmp-12-nicht\/"},"modified":"2024-07-26T18:55:27","modified_gmt":"2024-07-26T16:55:27","slug":"warum-spielt-vlc-videos-ab-und-der-wmp-12-nicht","status":"publish","type":"post","link":"https:\/\/borncity.com\/blog\/2010\/03\/20\/warum-spielt-vlc-videos-ab-und-der-wmp-12-nicht\/","title":{"rendered":"Warum spielt VLC Videos ab und der WMP 12 nicht?"},"content":{"rendered":"<p>In Microsofts Windows 7-Foren tauchen immer wieder Anwender auf, bei denen unter Windows 7 keine Videos im Windows Media Player 12 abgespielt werden k\u00f6nnen \u2013 obwohl die betreffenden Codecs (f\u00fcr MPEG 2 etc.) bereits vorhanden sind. Im VideoLan Player (VLC) kann das Video wiedergegeben werden. Der Beitrag skizziert, warum das so sein kann und welche technischen Hintergr\u00fcnde daf\u00fcr verantwortlich sind.<\/p>\n<p><!--more--><\/p>\n<p><strong>Videowiedergabe, was geht hinter den Kulissen ab?<\/strong><\/p>\n<p>Bei der Wiedergabe eines Videos sind in der Regel mehrere Komponenten (oft als Filter bezeichnet) beteiligt. Ein Filter liest die Daten aus der Videodatei. Dann werden die Daten in einen Audio- und Videodatenstrom aufgeteilt (gesplittet).<\/p>\n<p>Die Audio- und Videodatenstr\u00f6me m\u00fcssen anschlie\u00dfend durch einen Decoder aus der \"komprimierten\" Form des betreffenden Formats in einen unkomprimierten Datenstrom \u00fcberf\u00fchrt werden. F\u00fcr diesen Schritt kommen Audio- und Videodecoder zum Einsatz. Welche Decoder dabei verwendet werden, h\u00e4ngt vom Videoformat (z. B. WMV, ASF, MPEG-1, MPEG-2, DivX, Mov, AVI etc.) ab. Dabei lassen manche Videoformate sogar unterschiedliche Encodierungen von Audio- und Videodaten zu. Beispielsweise ist AVI lediglich ein Containerformat, welches die Audio- und Videodaten enth\u00e4lt. Diese k\u00f6nnen durch diverse Encoder verschl\u00fcsselt werden.<\/p>\n<p>Die so entschl\u00fcsselten (decodierten) Datenstr\u00f6me werden dann \u00fcber weitere Filter an die Audio- und Videoausgabe des Betriebssystem weitergereicht.<\/p>\n<p><strong>Von DirectShow-Filter zu Windows Media Foundation<\/strong><\/p>\n<p>Unter Windows gibt es historisch gewachsen zwei Ans\u00e4tze, um die Wiedergabe von Audio-\/Videomaterial \u00fcber Filterketten abzuwickeln.<\/p>\n<ul>\n<li>\u00a0<em>DirectShow-Filter:<\/em> Dieser Mechanismus wurde bis Windows XP bevorzugt zur Ausgabe der Audio-\/Videodaten \u00fcber Filterketten (Splitter, Decoder etc.) verwendet.<\/li>\n<li><em>Media Foundation:<\/em> Ab Windows Vista und damit auch in Windows 7 empfiehlt Microsoft die Verwendung der Media Foundation-API-Funktionen. Entwickler sollen <em>Media Foundation Transform<\/em> (Module) anstelle von DirectShow-Filtern schreiben.<\/li>\n<\/ul>\n<p>Der Media Foundation-Ansatz bietet einige Vorteile, erlaubt aber auch eine verbesserte DRM-Unterst\u00fctzung samt des <a href=\"http:\/\/en.wikipedia.org\/wiki\/Protected_Media_Path\">Protected Media Path<\/a> zur Wiedergabe hochaufl\u00f6senden Videomaterials.<\/p>\n<p>Aus Anwendersicht muss das alles aber nicht so genau differenziert werden, unterst\u00fctzen Windows Vista und Windows 7 doch auch weiterhin DirectShow \u00fcber DirectX 10\/11. Wichtig ist lediglich das Verst\u00e4ndnis, das DirectShow und\/oder Media Foundation bei der Wiedergabe von Audio- und Videomaterial beteiligt sind. Und nur wenn entsprechende Filter (Decoder, Splitter etc.) unter Windows vorhanden sind, kann eine Audio- oder Videodatei wiedergegeben werden. Details finden sich in den verlinkten Beitr\u00e4gen [<a href=\"http:\/\/www.netzwelt.de\/news\/71429-erklaert-so-funktionieren-directshow-filter.html\" target=\"_blank\" rel=\"noopener\">1<\/a>, 2, <a href=\"http:\/\/en.wikipedia.org\/wiki\/DirectShow\" target=\"_blank\" rel=\"noopener\">3<\/a>, <a href=\"http:\/\/en.wikipedia.org\/wiki\/Media_Foundation\" target=\"_blank\" rel=\"noopener\">4<\/a>, <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/dd375464%28VS.85%29.aspx\" target=\"_blank\" rel=\"noopener\">5<\/a>].<\/p>\n<blockquote dir=\"ltr\" style=\"margin-right: 0px;\">\n<p style=\"background-color: #ffffd0;\"><strong>Hinweis:<\/strong> Der Effeke, dass ein Video ohne Ton oder ohne Bild wiedergegeben wird oder dass das Bild auf dem Kopf steht, gr\u00fcne Streifen aufweist etc. ist der Tatsache geschuldet, dass keine passenden DirectShow-Filter bzw. Media Foundation Transform-Module vorhanden sind.<\/p>\n<\/blockquote>\n<p><strong>Na und, hau ich ein Codec-Pack auf den Rechner drauf \u2026<\/strong><\/p>\n<p>Die obige Erl\u00e4uterung zeigt, dass zur Wiedergabe von Audio- und Videomaterial entsprechende Module ben\u00f6tigt werden. Gerade unter Windows XP war es nun so, dass die von Hause aus unterst\u00fctzten Videoformate beschr\u00e4nkt waren. Microsoft lieferte nur die Filter f\u00fcr die hauseigenen Formate (WMV, WMA, ASF etc.) mit. Unter Windows Vista kam bei einigen Varianten noch ein Microsoft MPEG-2-Decoder zur Wiedergabe von DVD-Video hinzu.<\/p>\n<p>In dieser Folge hat sich eine rege Szene entwickelt, die fehlende Filter f\u00fcr Audio- und Videowiedergabe in sogenannten Codec-Packs f\u00fcr Windows zusammenstellen und kostenlos anbieten. In den Urspr\u00fcngen waren die Pakete oft nicht mehr als gehackte Decoderpakete diverser Hersteller, die entspechend zusammengestoppelt waren. Die Qualit\u00e4t hat sich zwar durchwegs gebessert und mit <a href=\"http:\/\/de.wikipedia.org\/wiki\/Ffdshow\" target=\"_blank\" rel=\"noopener\">FFDShow<\/a> ist sogar eine ganz brauchbare\u00a0 L\u00f6sung f\u00fcr den \"wissenden Anwender\" verf\u00fcgbar.<\/p>\n<p>Aber leider ist der ganze Ansatz auch \"Kern des Problems\". Schl\u00e4gt ein Anwender in Foren mit dem Problem auf, dass er eine Audio- oder Videodatei nicht wiedergeben kann, kommt garantiert der wohlmeinende Rat \"installiere dir Codec-Pack xyz und es funzt\". Dass der Anwender dabei vom Regen in die Traufe kommt, habe ich bereits vor Jahren in meinem Vista-Blog in diesen [<a href=\"https:\/\/borncity.com\/blog\/2008\/08\/08\/explorer-absturz-beim-zugriff-auf-bilderordner\/\">6<\/a>, <a href=\"https:\/\/borncity.com\/blog\/2007\/09\/04\/rger-bei-der-audio-und-videowiedergabe\/\">7<\/a>, <a href=\"https:\/\/borncity.com\/blog\/2007\/08\/26\/wenn-der-windows-movie-maker-rger-macht\/\">8<\/a>] Artikeln beschrieben. Speziell der Abschnitt \"Willkommen in der Codec-H\u00f6lle\" in <a href=\"https:\/\/borncity.com\/blog\/2007\/08\/26\/wenn-der-windows-movie-maker-rger-macht\/\">diesem Artikel<\/a> gibt einen Vorgeschmack auf die m\u00f6glichen Probleme.<\/p>\n<blockquote dir=\"ltr\" style=\"margin-right: 0px;\">\n<p style=\"background-color: #e0ffff;\"><strong>Hinweis:<\/strong> In Windows 7 hat sich die \"Welt\" nochmals gewandelt. Dieses Betriebssystem bringt eine ganze Sammlung an Decodern mit, um die wichtigsten Videoformate wie WMV, AVI, MPEG-1, MPEG-2, DivX, Mov etc. zu unterst\u00fctzen. Die Installation eines Codec-Packs ist also in den meisten F\u00e4llen unn\u00f6tig bis kontraproduktiv.<\/p>\n<\/blockquote>\n<p><strong>Zwei Ans\u00e4tze zum Decodieren der Audio-\/Videodatenstr\u00f6me<\/strong><\/p>\n<p>Wenn man nun unter Windows in Probleme bei der Wiedergabe von Videos l\u00e4uft, gibt es zwei L\u00f6sungsans\u00e4tze.<\/p>\n<ul>\n<li>Man versucht sein Gl\u00fcck, indem man entsprechende Decoder installiert und hofft, dass es mit der Videowiedergabe klappt. Die Erfolgsaussichten sind aber gering, wenn das Ganze auf \"click-n-run\" beschr\u00e4nkt wird \u2013 also mal schnell was installieren und hoffen, dass es klappt. Mit der Installation eines Codec-Packs wird das System meist hoffnungslos ruiniert. Experten k\u00f6nnen nat\u00fcrlich die DirectShow-Filterketten mit Werkzeugen wie dem <a href=\"https:\/\/web.archive.org\/web\/20170117230743\/http:\/\/www.softella.com\/dsfm\/index.en.htm\" target=\"_blank\" rel=\"noopener\">DirectShow Filter Manager<\/a> analysieren und ggf. die Merrits der beteiligten Decoder anpassen. Weiterf\u00fchrende Hinweise finden sich in den Verlinkungen dieses <a href=\"https:\/\/borncity.com\/blog\/2007\/08\/26\/wenn-der-windows-movie-maker-rger-macht\/\">Artikels<\/a>.<\/li>\n<li>Die Alternative besteht darin, auf einen Media Player zu setzen, der keinen Gebrauch von der DirectShow-Filterkette und der Media Foundation macht.\u00a0 Solange kein Protected Media Path zur Wiedergabe hochaufl\u00f6senden und kopiergesch\u00fctzten Videomaterials erforderlich ist, ist das die cleverere Variante. Der VLC-Player nutzt genau diesen Ansatz.<\/li>\n<\/ul>\n<p>Falls ein Anwender also Probleme mit der Videowiedergabe unter Windows Vista \/ Windows 7 hat, sollte als erstes der <a href=\"http:\/\/www.videolan.org\/vlc\/\">VLC-Player<\/a> (ggf. in der portablen Version) heruntergeladen und zum Testen verwendet werden. Oft wird es dann so sein, dass das Video problemlos im VLC abgespielt werden kann.<\/p>\n<p><strong>Warum tut es der VLC-Player?<\/strong><\/p>\n<p>An dieser Stelle m\u00f6chte ich noch auf einen Spezialfall eingehen, der manche Anwender unter Windows 7 trifft. Laut meinen obigen Ausf\u00fchrungen wird Windows 7 ja bereits mit einem MPEG-2-Decoder von Microsoft ausgeliefert. Trotzdem tauchen in Microsofts Windows 7-Foren [9,10] immer wieder Anwender auf, die grunds\u00e4tzlich keine Videos im Windows Media Player 12 abspielen k\u00f6nnen. Es l\u00e4sst sich noch nicht mal ein WMV- oder MPEG-1-Video wiedergeben. Oder die Wiedergabe klappt nur bei Videos, die mit wenigen Frames pro Sekunde daherkommen. Setzen diese Anwender dagegen den (oft als \"Konkurrenzprodukt\" bezeichneten) VLC-Player ein, klappt die Videowiedergabe wie am Schn\u00fcrchen.<\/p>\n<p>Das ist dann wieder der ber\u00fchmte Punkt, wo \"auf den Schrott von Microsoft\" geflucht wird. Dabei kann Microsoft an dieser Stelle in der Regel nichts zum Wiedergabeproblem. Die Ursache ist in diesem F\u00e4llen \u00fcblicherweise der Grafikkartentreiber. Selbst, wenn dieser WDDM-f\u00e4hig ist, und Aero unterst\u00fctzt, scheinen den Entwicklern grobe Schnitzer zu unterlaufen.<\/p>\n<p>Wie kann das sein, da der VLC-Player doch auch die Grafikkarte benutzt? Der Grund liegt etwas tiefer begraben. Der Windows Media Player 12 setzt auf die Decoder der DirectShow-Filterkette bzw. die Module der Media Foundation. Und die Decoder machen von den DirectX-Funktionen regen Gebrauch. Dabei kann zum Rendern der Einzelbilder auch auf die Pixel- und Vertexshader der Grafikkarte zur\u00fcckgegriffen werden. <a href=\"http:\/\/de.wikipedia.org\/wiki\/Pixel-Shader\">Shader<\/a> sind Programme, die vom Grafikprozessor einer 3D-Grafikkarte ausgef\u00fchrt werden und Berechnungen von Grafikausgaben selbstt\u00e4tig vornehmen. Bereits bei Windows Vista wurde im Windows Movie Maker 6.0 auf die Shaderunterst\u00fctzung zur\u00fcckgegriffen (was der Grund f\u00fcr Probleme beim Einsatz dieses Programms war). Einige Hinweise habe ich in diesem Vista-Titel gegeben. Sobald der Grafikkartentreiber aber bestimmte DirectX-API-Funktionen nicht sauber an die Grafikkarte weiterreicht, werden die Shader nicht angesprochen. Auch das verz\u00f6gerte Weiterreichen von Befehlen an die Shader kann Probleme bereiten. Ergo wird auch die Wiedergabe des Videostreams nicht oder nicht fehlerfrei erfolgen.<\/p>\n<p>Beim VLC sieht die Welt dagegen anders aus, da dieser einen g\u00e4nzlich anderen Ansatz zum Rendern eines Videos verfolgt. Der VLC bringt seine eigenen Decoder mit und benutzt weder das DirectShow-Filtersystem noch (zumindest nach meinem Wissen) diverse Shaderfunktionen der Grafikkarte. Der Grund ist recht einfach: der VLC-Player soll m\u00f6glichst hardware- und plattformabh\u00e4ngig sein. Unter Mac OS X und Linux steht kein DirectX zur Verf\u00fcgung (Windows Vista und Windows 7 setzen dagegen eine Shaderunterst\u00fctzung des Shadermodells 3.0 voraus, damit Aero genutzt werden kann). Das hat zwar den Nachteil, dass unter Windows nicht alle Vorteile des DirectX-Systems samt Hardwareunterst\u00fctzung genutzt werden k\u00f6nnen. Aber im konkreten Fall erweist sich das Ganze als Gl\u00fccksfall, da die komplette DirectShow-Funktionalit\u00e4t als Fehlerquelle ausgeschlossen werden kann. Der VLC rendert die Einzelbilder des Videos und \u00fcbergibt diese \u00fcber einfache (Bitkopier-)Operationen an den Grafikspeicher der Grafikkarte. Bei modernen Prozessoren gibt es da auch kaum Einschr\u00e4nkungen bez\u00fcglich der Leistungsf\u00e4higkeit, so dass Videos sauber abgespielt werden.<\/p>\n<blockquote dir=\"ltr\" style=\"margin-right: 0px;\">\n<p style=\"background-color: #ffffd0;\"><strong>Fazit:<\/strong> Nicht immer gleich auf \"Microsoft-Schrott\" schimpfen und ein \"Codec-Pack\" auf das System hauen. Die Gr\u00fcnde k\u00f6nnen auch tiefer liegen. Ich hoffe, dass der obige Beitrag ein paar Hintergr\u00fcnde erhellt und gleichzeitig intelligente L\u00f6sungsstrategien f\u00fcr Videowiedergabeprobleme aufgezeigt hat.<\/p>\n<\/blockquote>\n<p><strong>[Update Juni 2011: <\/strong>Zwischenzeitlich unterst\u00fctzt\/nutzt der VLC auch Hardwareunterst\u00fctzung der GPU zum Videorendering. Diesbez\u00fcgliche Aussagen im obigen Beitrag werden dadurch etwas relativiert bzw. es kann \u00e4hnliche Probleme wie beim WMP 12 geben, wenn die Grafikkarte bzw. der Grafiktreiber \u00c4rger macht. Aber die Ausf\u00fchrungen zur DirectShow-Filterproblematik haben sich nicht ge\u00e4ndert. Einfach als Zusatzinfo im Hinterkopf behalten.]<\/p>\n<p><strong>Links:<br \/>\n<\/strong>[1] <a href=\"http:\/\/www.netzwelt.de\/news\/71429-erklaert-so-funktionieren-directshow-filter.html\" target=\"_blank\" rel=\"noopener\">Erkl\u00e4rt: So funktionieren DirectShow-Filter<\/a><br \/>\n[2] Erkl\u00e4rung f\u00fcr Videofilter beim Capturen<br \/>\n[3] <a href=\"http:\/\/en.wikipedia.org\/wiki\/DirectShow\" target=\"_blank\" rel=\"noopener\">DirectShow-Einf\u00fchrung bei Wikipedia<\/a> (englisch)<br \/>\n[4] <a href=\"http:\/\/en.wikipedia.org\/wiki\/Media_Foundation\" target=\"_blank\" rel=\"noopener\">Media Foundation-Einf\u00fchrung bei Wikipedia<\/a> (englisch)<br \/>\n[5] <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/dd375464%28VS.85%29.aspx\" target=\"_blank\" rel=\"noopener\">DirectShow Filters<\/a> (Auflistung der Filter bei MSDN)<br \/>\n[6] <a href=\"https:\/\/web.archive.org\/web\/20170117230743\/http:\/\/www.softella.com\/dsfm\/index.en.htm\" target=\"_blank\" rel=\"noopener\">DirectShow Filter Manager<\/a><br \/>\n[6] <a href=\"https:\/\/borncity.com\/blog\/2008\/08\/08\/explorer-absturz-beim-zugriff-auf-bilderordner\/\">Explorer-Absturz beim Zugriff auf Bilderordner<\/a><br \/>\n[7] <a href=\"https:\/\/borncity.com\/blog\/2007\/09\/04\/rger-bei-der-audio-und-videowiedergabe\/\">\u00c4rger bei der Audio- und Videowiedergabe<\/a><br \/>\n[8] <a href=\"https:\/\/borncity.com\/blog\/2007\/08\/26\/wenn-der-windows-movie-maker-rger-macht\/\">Wenn der Windows Movie Maker \u00c4rger macht &#8230;<\/a><br \/>\n[9] Diskussion Videoprobleme in Microsoft-Forum<br \/>\n[10] Diskussion Videoprobleme in Microsoft-Forum<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Microsofts Windows 7-Foren tauchen immer wieder Anwender auf, bei denen unter Windows 7 keine Videos im Windows Media Player 12 abgespielt werden k\u00f6nnen \u2013 obwohl die betreffenden Codecs (f\u00fcr MPEG 2 etc.) bereits vorhanden sind. Im VideoLan Player (VLC) &hellip; <a href=\"https:\/\/borncity.com\/blog\/2010\/03\/20\/warum-spielt-vlc-videos-ab-und-der-wmp-12-nicht\/\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[180,181,4298,176,179,177,178],"class_list":["post-635","post","type-post","status-publish","format-standard","hentry","category-problemlosung","tag-codecs","tag-directshow-filter","tag-problemlosung","tag-shader","tag-videowiedergabe","tag-vlc","tag-wmp12"],"_links":{"self":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/635","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/comments?post=635"}],"version-history":[{"count":0,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/635\/revisions"}],"wp:attachment":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/media?parent=635"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/categories?post=635"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/tags?post=635"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}