Sie sind hier

Videoformate

Beim Import von Video-Dateien treten immer wieder Probleme auf, weil der Computer bzw. die verwendeten Programme mit den importierten Dateien nichts anzufangen wissen. Oft raten gutmeinende Dilettanten dann, irgendein "Codec-Pack" zu installieren, das angeblich super perfekt bei ihnen funktioniert. Meine Meinung dazu:

FINGER WEG von CODEC-PACKS !

Solche Codec-Packs bestehen aus einer (in der Regel veralteten) Sammlung von Codecs, die in der Regel für die flüssige und "gut aussehende" Wiedergabe von Multimedia-Dateien ausgelegt sind; meist gibt es dazu dann auch noch ein Installationsprogramm, das an -zig Stellen Betriebsystem-Einstellungen "optimiert". Die Folge ist dann, dass zwar tatsächlich mehr Video-Dateien als zuvor wiedergegeben werden können, aber was für die Wiedergabe gut ist, ist oft für den Videoschnitt schädlich, denn Videoschnitt hat andere Prioritäten als Videoguck: Für ein Schnittprogramm ist nur eine möglichst originalgetreue Bildqualität sinnvoll, alle Arten von "Bildverbesserungen" können im Schnittprogramm viel besser und vor allem reproduzierbar durchgeführt werden. Und Codecs, die eigenmächtig Bilder überspringen um einen vermeintlichen Rückstand aufzuholen, sind völlig untauglich und können Schnittprogramme zur Verzweiflung (d.h. zum Absturz) bringen.

Für einen Videoschnitt-PC gilt daher: nur Codecs installieren, von denen man weiß was sie tun, und ohne die man nicht auskäme - und das sind erstaunlich wenige. Aber was ist eigentlich ein Codec? Um diese - und angelegentlich auch gleich noch ein paar andere - Frage zu klären muss ich ein wenig ausholen:

 

Kompression

Bei 3D-Videos fallen jede Menge Daten an. Um mit den vorhandenen Speichermedien möglichst sparsam umzugehen gibt es etliche Verfahren, die die Datenmenge reduzieren - diesen Vorgang nennt man "Komprimierung" oder "Kompression". Zu jedem Komprimierungs-Verfahren gibt es ein Gegenstück, dass die ursprünglichen Daten wieder rekonstruiert, also "dekomprimiert". Bei den meisten Verfahren gehen unterwegs Informationen verloren ("verlustbehaftete Komprimierung"), Bild und Ton entsprechen hinterher nicht mehr ganz dem Original; es gibt aber auch "verlustfreie Komprimierungsverfahren". Je mehr Daten man "aufgibt", desto kleiner lassen sich die Daten zusammenpressen, desto schlechter ist aber auch die Qualität der rekonstruierten Daten. Man muss also stets einen Kompromiss zwischen Datenmenge und Qualität wählen, einen Königsweg gibt es dabei nicht. Dazu kommt auch noch der Rechenaufwand, der beim Packen bzw. Entpacken der Daten betrieben werden muss, denn mit höherem Rechenaufwand lassen sich in der Regel etwas mehr Informationen in einer bestimmten Datenmenge speichern als bei einfacheren Verfahren; wenn der Rechenaufwand aber zu groß wird, lassen sich Videoaufnahmen nicht mehr in Echtzeit speichern oder anzeigen.

 

Datei-Formate

Videodateien enthalten meistens Bild- und Ton-Daten in komprimierter Form. Allerdings können darin zusätzlich auch weitere Daten enthalten sein, z.B. Untertitel, weitere Tonspuren, und vieles mehr. Um all diese Daten in einer Datei (oder einem Datenstrom zur Übertragung) zusammen zu packen, haben sich leider über die Jahrzehnte etliche verschiedene Verfahren entwickelt, die auch heute noch koexistieren, und die nicht nur bei Amateuren für viel Verwirrung sorgen. Die Frage "welche Dateiformate kann Programm/Gerät XY abspielen" ist daher gar nicht so einfach zu beantworten; in der Regel stimmt das, was auf Geräte-Verpackungen oder in Programmbeschreibungen steht, nur sehr oberflächlich, wenn überhaupt.

Audio

Tondaten sind vergleichsweise klein und können daher sogar unkomprimiert gespeichert werden, z.B. auf einer Audio-CD. Aber normalerweise werden Tondaten komprimiert gespeichert, fast jeder kennt zum Beispiel das MP3-Format für diesen Zweck. Weitere Kompressionsverfahren für Tondaten sind WMA, AAC, DTS, AC3, etc. Nein, ETC ist kein Kompressionsverfahren!

Video

Bilder können unkomprimiert gespeichert werden (z.B. als Bitmap, BMP), belegen dann aber enorm viel Platz. Für Einzelbilder hat sich daher längst ein verlustbehaftetes Kompressionsverfahren durchgesetzt: das JPEG-Format. Es gibt zwar noch viele andere (z.B. GIF oder PNG), aber praktisch jede Digitalkamera erzeugt JPEG-Dateien, und jedes Bildverarbeitungsprogramm oder jedes Bildanzeige-Gerät kann mit JPEG umgehen. Speziell im 3D-Bereich existiert außerdem das MPO-Format für Stereobilder.

Für Videos, die ja aus sehr vielen Einzelbildern bestehen, gibt es prinzipiell auch ein unkomprimiertes Format, bei dem alle Bilder nacheinander als Bitmaps abgelegt werden - aber die Dateien werden sehr schnell sehr groß, daher ist dieses Format in der Praxis ungeeignet. Wesentlich besser ist da schon das "Motion-JPEG"-Verfahren (MJPEG), bei dem jedes Videobild einzeln mit JPEG komprimiert wird. Früher war MJPEG das Standard-Format bei Video-Capture-Karten in PCs, heute wird es noch in einigen digitalen Kameras verwendet, z.B. in der Fuji W3 oder einigen Canon-SLRs mit Video-Funktion. Sehr ähnlich funktioniert auch das Aufzeichnungsformat von DV- oder D8-Kameras, und viele topaktuelle Videoschnittsysteme verwenden darauf aufbauende Einzelbild-Kompressionsverfahren für Intermediate-Dateien.

Da sich aufeinanderfolgende Bilder in der Regel nicht sehr unterscheiden, kann man nochmals viel Speicherplatz sparen, indem man Teile früherer (oder späterer!) Bilder mehrfach verwendet; die Urmutter aller solchen Verfahren wurde von der "Motion Pictures Experts Group" entwickelt und für VideoCDs (MPG), DVDs (MPEG-2) und digitales Satellitenfernsehen (DVB) standardisiert. Heute nutzen praktisch alle HD-Videokameras solche Kompressions-Verfahren, meistens HDV oder AVCHD. Auch zur Übertragung im Internet kommen sie zum Einsatz und heißen dann MP4, AVC, H.264 oder ähnlich. Die früher sehr populären Videoformate DIVX, XVID oder WMV gehören ebenfalls zu dieser Gruppe.

Container

Damit Bild-, Ton- und evtl. zusätzliche Daten gemeinsam transportiert werden können werden sie in einen sog. "Container" verpackt. Das ist einfach eine Datei, in der die Video- und Audio-Datenströme nach einem bestimmten Muster abgelegt sind. Auch für den Aufbau des Containers gibt es wieder verschiedene Formate, und je nach Format können entweder nur Audio- oder Video-Daten enthalten sein, oder auch Zusatzmaterial. Um das Format einer Container-Datei zu erkennen gibt es in der Regel zwei Merkmale: die Datei-Endung und einen aus vier Buchstaben bestehenden Code am Anfang der Datei (Four Character Code, FourCC).

Die bekanntesten Container-Varianten sind:

  • AVI (lange Zeit der Standard-Container unter Windows)
  • WMV (exklusiv für Windows Media Dateien verwendet)
  • MOV (auf Apple-Computern häufig, wird auch von vielen Kameras verwendet)
  • VOB, MPG, MP2, MP4, MTS, M2TS (von der MPEG standardisierte Containerformate)
  • MKV (alternatives, äußerst flexibles Containerformat)

Darüber hinaus gibt es noch viele weitere Formate, die meist exklusiv von bestimmten Firmen bzw. deren Anwendungen verwendet werden, z.B. nennt Magix sein Container-Format "Magix Video" (MXV) und sorgt damit für häufige Verwechslungen mit dem im Profi-Lager verbreiteten "Media eXchange Format" (MXF)...

Zwei Beispiele für Container-Dateien

Verwirrung

Eigentlich ist das Konzept ganz einfach: es gibt eine Reihe verschiedener Container-Formate (Dateitypen), in denen wiederum eine Reihe verschiedener Audio- und Video-Formate enthalten sein können.

Verwirrend wird die Sache dadurch, das einige Container nur für ein bestimmtes Audio/Video-Format verwendet werden (z.B. WMV oder MPG), die dann auch noch den gleichen Namen tragen, während andere Containerformate im Prinzip jedes beliebige Audio/Video-Format enthalten können (z.B. MKV oder AVI). Dazu kommt, dass bestimmte Audio/Video-Formate besonders häufig in einem bestimmten Container auftreten (z.B. findet man in M2TS-Container meistens AVC(HD)-kodiertes Video), was Laien dazu verführt Container- und Inhalts-Format synonym zu verwenden. Obendrein gibt es von manchen Inhaltsformaten auch noch verschiedene Versionen oder Komplexitätsprofile, von denen nicht alle von allen Programmen oder Geräten unterstützt werden (z.B. können manche Hardware-Player h.264 nur bis Level 4.x dekodieren und versagen bei Level 5.x), so dass eine pauschale Aussage "spielt das Format xyz ab" nur meistens, aber eben nicht immer zutrifft. Und schließlich sind manche "Standards" nicht genau genug festgelegt, oder werden nicht genau genug umgesetzt, so dass es z.B. hersteller-spezifische Unterschiede beim Aufbau einer AVCHD- oder MVC-Datei gibt; dann kann es sein, dass ein Programm zwar die MVC-Dateien von Sony-Kameras verarbeitet, mit MVC-Dateien von JVC aber nicht klar kommt - na toll.

Um herauszufinden welches Container- und Inhaltsformat eine Datei besitzt bietet sich das OpenSource-Programm "Media-Info" an, das äußerst detailiert Auskunft über den Aufbau einer Multimedia-Datei gibt:

 

Multimedia-Architekturen

Damit nicht jedes Programm für jeden Container und jedes Inhaltsformat eigenen Programmcode zum Zerlegen bzw. Dekodieren braucht, gibt es in jedem Betriebsystem Unterstützung dafür, die ein Programm aufrufen und einbinden kann. Unter Windows haben sich im Verlauf seiner Entwicklung mehrere solche "Multimedia-Architekturen" etabliert, die nun parallel zur Verfügung stehen. Die älteste davon heißt "Video for Windows" (kurz VfW), sie reicht bis in die Anfangstage von Windows zurück. Seit Windows XP wurde VfW durch "DirectShow" (DS) verdrängt, einem Bestandteil des DirectX-Pakets.  Aus der Welt der Macintosh-Computer von Apple ist "QuickTime" (QT) auch auf Windows-PCs übertragen worden und wird von vielen Profi-Programmen verwendet. VfW und DS sind heute feste Bestandteile des Windows-Betriebsystems, QT muss als Zusatzpaket installiert werden. Nennenswert ist als viertes noch "FFMpeg", eine Code-Sammlung die direkt in ein Programm integriert wird (was zwar dem Grundgedanken einer Multimedia-Architektur wiederspricht, aber viele damit verbundene Nachteile vermeidet).

VfW und DS (und in gewissen Grenzen auch QT) sind Grundgerüste, die ihre eigentliche Funktionalität durch installierbare Code-Bibliotheken erhalten. Bei VfW und QT lassen sich so De/Kodier-verfahren nachrüsten, die ursprünglich von Microsoft bzw. Apple nicht vorgesehen waren, so genannte "CoDecs" (Coder / Decoder). In DS wird dieses Konzept wesentlich erweitert indem Module (sog. "Filter") für alle Stufen der Multimedia-Verarbeitung eingesetzt werden können: da gibt es Quell-Filter, die Daten nicht nur aus Dateien sondern auch von WebCams, TV-Karten oder Internet-Streams lesen können; Aufspaltungs-Filter ("Splitter") zerlegen alle Arten von Container-Formaten; Kodier/Dekodier-Filter ("CoDecs") kümmern sich um die (De)Komprimierung der Daten; Umwandlungs-Filter ("Transformer") nehmen eine Vielzahl von Datenmanipulationen vor (z.B. Equalizer für Audiodaten); Ausgabe-Filter ("Renderer") schließlich führen die Daten einem Ausgabegerät (Bildschirm, Lautsprecher, Festplatte, ...) zu. Diese Filter werden zu Ketten zusammengehängt, die sich im Wesentlichen selbständig um die Verarbeitung der Daten kümmern, während das aufrufende Programm nur den Zustand der Kette steuert und überwacht. Welche Filter in einem Windows-System vorhanden sind, hängt größtenteils vom Anwender ab, der das System durch Installation neuer Filter erweitern kann; etwas ungenau wird dabei meist von "Codecs" gesprochen, auch wenn der zu installierende DS-Filter z.B. eigentlich ein Splitter ist.

DirectShow Klingt kompliziert? Ist es auch! Deswegen verwenden viele Programmierer lieber VfW, QT oder FFMPeg - und daraus ergibt sich ein großes Dilemma: denn es gibt zwar für praktisch jedes Container- oder Inhaltsformat einen passenden DirectShow-Filter zum Zerlegen oder Dekomprimieren, aber VfW und QT können diese nicht nutzen, und FFMPeg-basierende Programme müssen sowieso mit dem auskommen, was FFMPeg von sich aus kann (letzteres ist übrigens weniger problematisch als es klingt...). Wenn ein Programm also VfW oder QT verwendet, nützt ein DS-Codec überhaupt nichts, es muss stattdessen ein passender VfW-Codec oder ein QT-Plugin installiert werden. VfW-Codecs gibt es meist nur noch für ältere Inhaltsformate, QT-Plugins gibt es hauptsächlich für professionelle Formate (und daher kostenpflichtig). Im Übrigen kann VfW eigentlich nur ein einziges Container-Format (AVI) öffnen, QT bevorzugt sein eigenes (MOV). Zum Glück haben einige findige Programmierer Umwege gebastelt, mit denen auch VideoForWindows-Programme auf DirectShow, QuickTime oder FFMPeg zugreifen können - herausgekommen ist dabei eine weitere Multimedia-Architektur namens "AviSynth", die ihrerseits einen ganz eigenen Charakter hat.

Standard-Ausrüstung

Es gibt eine schier unüberschaubare Fülle von DirectShow-Filtern von verschiedensten Programmierern und für so ziemlich jeden denkbaren Zweck. Oft "streiten" sich sogar mehrere Filter darum, wer für eine bestimmte Aufgabe eingesetzt wird, z.B. gibt es auf vielen PCs drei oder mehr CoDecs, die MP3-Audio oder MPEG2-Video dekodieren können. Dadurch sind Probleme vorprogrammiert, z.B. wenn ein veralteter Codec im System sich frech vordrängelt und so verhindert, dass ein modernerer Codec zum Zuge kommt. Oder wenn ein Codec zwar behauptet, er könne AVC dekodieren, dann aber mit den riesigen Datenmengen von AVCHD überfordert ist und Müll liefert - oder gleich ganz abstürzt und das aufrufende Programm mit ins Nirvana reißt.

Für Videoschnitt-PCs sollte man daher möglichst wenige, ausgesuchte Filter installieren. Meist reichen zwei DirectShow-Filter für fast alle Zwecke aus: der Haali-Multimedia-Splitter und der FFDShowTryouts-Codec. Und wer zusätzlich AviSynth installiert kann alle DirectShow-Fähigkeiten auch in VfW-basierten Programmen nutzen.

Haali

Der Haali-Splitter aus dem Matroska-Projekt (oft auch Matroska-Splitter genannt) ist ein universeller Splitter-Filter, der alle wichtigen Container-Formate öffnen kann. Einmal installiert, eröffnet sich jedem DirectShow-kompatiblen Programm die ganze Bandbreite der verbreitetsten Multimedia-Dateien von AVI über MPG, MKV, MP4 und MOV bis hin zu WMV.

FFDShow

Das zuvor schon erwähnte FFMPeg-Projekt hat eine AudioVideo-Bibliothek ("libav") mit Codecs für alle gängigen Kompressionsformate geschrieben, die eigentlich direkt in Programme eingebaut werden soll. Das FFDShow-Projekt bastelte daraus einen DirectShow-Codec, der alle von libav abgedeckten Kompressionsformate (und etliche weitere) in DirectShow verfügbar macht. Das ursprüngliche Projekt ist zwar inzwischen eingestellt worden, wird aber unter dem Namen "FFDShowTryouts" konstant weiter entwickelt. Und außer einem DirectShow-Filter bringt das Paket die gleiche Funktionalität auch als VfW-Codec mit, so dass auch ältere Programme in den Genuß aktueller Kompressionsverfahren kommen (sofern ein AVI-Container vorliegt).

AviSynth

Leider kennt VfW keine installierbaren Splitter-Filter, so dass VfW-basierende Programme eigentlich nur AVI-Dateien verarbeiten können. Abhilfe schafft das Programm "AviSynth", das sich selbst als VfW-Codec installiert und dem Betriebsystem erklärt, dass auch Dateien mit der Endung AVS von VfW verarbeitet werden können. Diese AVS-Dateien ("AviSynth-Skript") sind kleine Textdateien, die Anweisungen enthalten, mit denen AviSynth eine Multimedia-Datei öffnen und an das aufrufende Programm weiterleiten kann. Im einfachsten Fall besteht so ein AviSynth-Skript nur aus einer einzigen Zeile, etwa "DirectShowSource('c:\test.wmv')". Da AviSynth seinerseits sowohl VideoForWindows als auch DirectShow aufrufen kann, werden alle DirectShow-Filter für VfW-Programme zugänglich gemacht, und im Zusammenspiel mit Haali und FFDShow lässt sich somit praktisch jede Datei in VfW-Programmen öffnen.

Darüber hinaus bietet AviSynth eine mächtige Skript-Sprache, mit der man äußerst komplexe und vielseitige Video-Manipulationen direkt beim Öffnen einer Datei vornehmen kann, so zum Beispiel Deinterlacing oder Bildstabilisierung. Viele Funktionen, die man sonst nur in teuren Profi-Programmen findet, lassen sich mit AviSynth kostenlos realisieren - und obendrein oft sogar in besserer Qualität! Es verwundert also nicht, dass die wichtigsten kostenlosen Videowerkzeuge für Stereo-Filmer (StereoMovieMaker, StereoDeshaker und VirtualDub) AviSynth unterstützen.

Eine komplette Beschreibung der Fähigkeiten von AviSynth geht zwar weit über den Zweck dieser Homepage hinaus, aber an gegebener Stelle werden wir auf AviSynth zurück greifen, es gehört damit zu den Standard-Werkzeugen, die auf keinem Schnitt-PC fehlen dürfen.

Inhalte dieser Seite können im Stereoforum diskutiert werden!

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer