Was genau ist "ffdshow" ?

  • Also jetzt habe ich schon einige WebSeiten zu ffdshow gelesen bin aber immer noch nicht schlauer. Da steht ffdshow sei ein "DirectShowFilter blah blah blah...."

    Also ich habe den
    - DivX codec
    - Xvid Koepi) codec
    - Lame MP3 codec
    - AC3 codec
    jeweils separat installiert. Damit kann man/ich movies problemlos
    abspielen. Wozu also braucht man noch ffdshow?
    Sorry schon mal vorweg für die Anfänger Frage.

  • Richtig ... wenn du mit dem, was du installiert hast, bereits klarkommst, brauchst du ffdshow nicht.

    Diejenigen, die

    - bisher noch kein DivX, XviD und AC3Filter installiert haben,
    - auch noch viele andere Videoformate haben (z.B. x264),
    - mehr Komfort bei der Bedienung zu schätzen wissen,
    - die Wiedergabe detaillierter mit Nachbearbeitungsfiltern steuern wollen, oder
    - einfach nur alles mit der gleichen Oberfläche steuern wollen,

    für die kann ffdshow ein guter Ersatz dafür sein, sich alle nötigen Codecs bzw. DirectShow-Filter einzeln zusammenzusuchen - der braucht nur eine Installation (oder zwei, mit dem Haali MediaSplitter). Der größte Vorteil an ffdshow ist: Er ist sehr viel in einem (und nicht nur Decoderfilter, sondern auch VfW-Codec - wichtig für das Bearbeiten).

    LAME ist übrigens nur ein ACM-Encoder. Der wird beim Abspielen nicht verwendet.

  • Wenn du alles abspielen kannst, brauchst du ffdshow nicht.

    Wenn man nur Filme abspielen will und die einzelnen Codecs nicht installieren will ist ffdshow eine gute Möglichkeit. Im Gegensatz zu den meisten Codecpacks wird dadurch das System nicht durcheinandergebracht.

    ffdshow hat noch weitere Vorteile, z.B. sind auch viele Encoder eingebaut. Beispiel: Die MJPEG-Implementierung in ffdshow ist eine der Besten.

    Edit: War ja klar, dass Ligh schneller ist. :D

    Bei Wiki gibt's ne Übersicht was ffdshow alles dekodieren kann.

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • Ok, das ist schon mal gut zu wissen.
    Jetzt noch eine Frage:
    Angenommen ich habe die 4 Codecs DivX,Xvid,AC3 und MP3 separat installiert UND zusätzlich ffdshow: Wie can ich ermitteln, ob jetzt (z.B. beim Abspielen oder re-encoden) die codecs aus den Einzelinstallationen oder diejenigen aus ffdshow herangezogen werden? D.h. Was hat Priorität ?

    Kann ich vielleicht (temporär) mal ffdshow höher priorisieren als die Einzelinstallationscodecs ?

    Wenn ja, wie ?

  • Anscheinend weißt du noch nicht mal, wie sich "Codecs" von "DirectShow-Filtern" unterscheiden.

    Das eine sind Codecs, die das VfW-System (Video für Windows) benutzen. Das gibt's schon seit Windows 3.1:
    a) Video-Codecs, die über den ICM (Image Compression Manager) verfügbar, und in VirtualDub bei "Video - Compression" auswählbar sind,
    b) Audio-Codecs, die über den ACM (Audio Compression Manager) verfügbar, und in VirtualDub über "Audio - Compression" auswählbar sind.

    Mit ICM- und ACM-Codecs kann man Video und Audio ganz in Ruhe decodieren und oft auch encodieren, und die meisten Bearbeitungsprogramme (z.B. VirtualDub oder Adobe Premiere) nutzen immer noch diese alte, weil verbreitete Technik. Vor allem zum Erzeugen von komprimiertem Video oder Audio wird häufig VfW verwendet, denn das System bietet simple Funktionen und Dialoge zur Auswahl der Codecs und seiner Einstellungen an. Zur Decodierung jedoch ist VfW bei modernen Formaten nicht mehr zuverlässig genug.

    Moderne Media-Player nutzen deshhalb VfW zum Abspielen nur noch im Notfall, wenn kein DirectShow-Filter gefunden werden konnte. Seit DirectX 6 und DirectX Media bevorzugen Mediaplayer unter Windows 95 bereits DirectShow-Filter zum schnellen Decodieren für die Wiedergabe. Das DirectShow-Filtersystem ist flexibler, und hat auch eine Steuerung, die einzelne Filter bevorzugt auswählen läßt, wenn mehrere für den gleichen Zweck zuständig sein können. Leider unterstützt bisher kaum ein Programm auch DirectShow-Encoder.

    Die Reihenfolge wird durch den "Merit" bestimmt. Das ist eine Zahl, die in bestimmten Größenordnungen angibt, wie wahrscheinlich der Filter verwendet werden soll. ffdshow wird im Allgemeinen so installiert, dass er so gut wie immer zuerst befragt wird, ob er für ein Format zuständig ist. Oder anders: ffdshow hat normalerweise eine sehr hohe Priorität. Das läßt sich über einen Schieberegler im "Info"-Register bei "Start > Programme > ffdshow > Video decoder configuration" einstellen. Man kann ffdshow also auf Wunsch auch insgesamt zurückstufen.

    Allerdings sollte man hier nichts verstellen, denn es ist sinnvoll, dass ffdshow zuerst gefragt wird. Denn innerhalb von ffdshow gibt es noch weitere Optionen: So kann man in "Video decoder configuration" und "Audio decoder configuration" jeweils im Register "Codecs" festlegen, welche Formate überhaupt von ffdshow decodiert werden sollen, und womit.

    Jedes Format, das auf "disabled" steht, wird ignoriert, und das System wird weiter nach geeigneten Filtern befragt (die einen niedrigeren Merit als ffdshow hatten). Wurde für ein Format z.B. die Einstellung "libavcodec" gewählt, dann wird einer der eingebauten Decoder in ffdshow die Decodierung durchführen. Es gibt noch ein paar Formate, die spezielle Einstellungen erlauben (z.B. wird XviD-Video bei der Einstellung "XviD" vom originalen XviD-Decoder - falls er im System zusätzlich installiert ist - decodieren gelassen, und danach in ffdshow weiter verarbeitet).

    Wenn man DivX und XviD installiert, dann wird im System jeweils sowohl ein VfW-Codec installiert (damit man entsprechende Videos in einem Videoeditor erzeugen und bearbeiten kann), als auch ein DirectShow-Decoder (damit man sich die Videos mit einem Mediaplayer anschauen kann). AC3Filter jedoch ist nur ein DirectShow-Decoder und hat keinen ACM-Codec dabei. Und LAME ist nur ein ACM-Encoder, jedoch kein Decoder (weder ACM noch DirectShow).

    ffdshow kann mit Hilfe der libavcodec-Bibliothek durch seinen DirectShow-Video-Decoderfilter und seinen VfW/ICM-Codec fast jede MPEG4-ASP-Variante decodieren, also sowohl DivX- als auch XviD-Video. Zusätzlich bietet der VfW/ICM-Codec in ffdshow auch die Möglichkeit, DivX- oder XviD-kompatibles Video zu erzeugen.

    Mit seinem DirectShow-Audio-Filter kann ffdshow außerdem AC3-Ton decodieren, sowie auch in Echtzeit encodieren. Auch MPEG-Audio Layer 1 bis 3 (MP1, MP2 und MP3) kann ffdshow mit dem DirectShow-Audio-Filter decodieren. Einen ACM-Codec hat ffdshow jedoch nicht zu bieten.

  • LigH: Sehr gut. Vielen Dank.

    Jetzt nochmal zur Klarstellung:
    Jedes (!) Audio/Video-Programm kann sowohl VfW als Auch DirectShowFilter verwenden. Also wenn ich z.B. den VfW DivX codec deinstallieren würde dann würde sogar VirtualDub den DirectSHowFilter verwenden. Sehe ich das richtig ?

  • Zitat

    Jedes (!) Audio/Video-Programm kann sowohl VfW als Auch DirectShowFilter verwenden.


    Nein. Nur sehr wenige Programme, die nicht nur für den reinen Playback von material zuständig sind benutzen vfw.
    Virtual Dub benutzt nur VFW bzw. ACM Codecs.

    ffdshow kann jedoch eingestellt werden, dass es als De-/Encoder für DirectShow und/oder VFW agieren kann.

    Cu Selur

  • Praktisch alle modernen "Allround-Media-Player" verwenden DirectShow zum Abspielen. Im Grunde sind die meisten Mediaplayer bloß eine Benutzeroberfläche für das DirectShow-System, das eigentlich wirklich die Filme "abspielt".

    Praktisch alle Video-Bearbeitungsprogramme verwenden zum Encodieren "Video for Windows"-Codecs, weil dieses System schon seit Jahren unterstützt wird, und bis heute nur sehr wenige Hersteller überhaupt DirectShow-Encoder hergestellt haben.

    Allerdings können einige Ver-/Bearbeitungs-Programme auch DirectShow-Filter zum Importieren von Material verwenden, das sie sonst nicht lesen können. Denn VfW kann nur AVI lesen, DirectShow jedoch hat nicht nur Decoder-, sondern auch Quellfilter, die andere Kontainerformate verstehen (nicht nur AVI, sondern z.B. auch MPEG-ES/PS/TS, MPEG4, Matroska, Ogg Media...).

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!