MPEG-4-AVC ist ein sehr komplexer Codec, und vor allem im Interlace-Bereich sind immer noch nicht alle Parameter in Open-Source-Decoder-Bibliotheken wie ffmpeg korrekt implementiert. Daraus resultierend kann es passieren, dass der Versuch, eine HD-DVB- oder AVCHD-Aufzeichnung im Format 1080i mit Tools wie AVIDemux zu konvertieren, mit einem Absturz des Tools endet. Auch kleinere Darstellungsfehler in Form von Blöcken sind möglich. Hier hilft nur Ausprobieren - und regelmäßiges Updaten.
Als weiteres Problem stellen sich DirectShow-Modul-Kombinationen heraus, bei denen eine bildgenaue Positionierung nicht funktioniert – und im Extremfall ebenfalls zu Abstürzen führt. „Normale“ Videoschnittprogramme lassen sich ebenfalls nicht immer nutzen, da sie oft entweder das TS-Format oder die einzelnen voneinander getrennten Streams nicht akzeptieren wollen – selbst bei 5.1-Dolby-Digital-Ton streiken viele (Consumer-)Produkte.
Der Frameserver DGDecNV verwendet CUDA zur Dekodierung von AVC-Material – und funktioniert deswegen derzeit nur mit Nvidia-Grafikkarten.
Was tadellos funktioniert, ist die Shareware DGDecNV (www.neuron2.net, Menüpunkt "Mine"; 15 US-Dollar) in Verbindung mit AVISynth (www.avisynth.org). Diese Frameserver-Software verwendet die CUDA-Grafikbibliothek zur hardwarebeschleunigten Dekodierung von H.264-Daten – und funktioniert damit derzeit nur in Verbindung mit neueren NVidia-Grafikkarten. Für Nicht-NVidia-Besitzer gibt es vom gleichen Entwickler noch DGAVCDecDI für ebenfalls 15 US-Dollar + 9,99 US-Dollar Lizenz für das DiAVC-Dekoder-Modul. Durch die Verwendung der NVidia-Treiber- und Hardware-Routinen wird genau das mit DGAVCDecNV elegant und vor allem performant umgangen. Für YouTube-Videos reicht das kostenlose, auf ffmpeg basierende AviSynth-Plug-in FFMPEGSource (http://code.google.com/p/ffmpegsource) allerdings aus. Auch können Sie DSS2 ausprobieren, ein neuer DirectShowSource-Filter, der Teil des Haali Media Splitters von http://haali.su/mkv ist. Wenn Sie aus diesem Paket die Datei avss.dll in den AviSynth-Plugins-Unterordner kopieren, können Sie z.B. (M2)TS-Dateien über den Befehl DSS("{Dateiname}") öffnen.
Bei unseren Versuchen erwies sich das direkte Öffnen einer mit der TV-Software DVBViewer aufgezeichneten HD-TS-Datei in DGDecNV als problematisch. Wir demuxten daher zunächst die Datei mit eac3to. Die resultierende 264-Datei wurde in DGDecNV geladen und über File/Save Project eine Dummy-Datei mit der Erweiterung .dga erstellt, die von AviSynth geöffnet werden muss. Installieren Sie daher AVISynth, eventuell auch gleich den Editor AvsP von http://avisynth.org/qwerpoi. Kopieren Sie die beiden DLLs aus dem DGDecNV-Archiv in den AVISynth-Plugins-Unterordner.
Legen Sie dann eine einfache Textdatei mit der Dateierweiterung .avs an und fügen Sie folgenden Inhalt hinzu:
Codebeispiel:
DGSource("Dateiname.dgi")
Spline36Resize(720,576)
Mit diesen zwei Zeilen wird die AVC-Datei geladen, dekodiert und auf 720x576 Bildpunkte skaliert. Liegt eine Quelle im Format 1080i vor, müssen Sie entsprechend deinterlacen – die einfachste Variante wäre das Überspringen jedes zweiten Halbbildes mit entsprechender Skalierung:
Codebeispiel:
DGSource("Dateiname.dgi")
SeparateFields()
ChangeFPS(25)
Spline36Resize(720,576)
Der letzte Code ist nur als Beispiel anzusehen, qualitativ gibt es hier weitaus bessere Verfahren, die aber den Rahmen dieses Artikel sprengen würden (z.B. das Deinterlacing-Script QTGMC aus dem Doom9-Forum). Das Ergebnis lässt sich beispielsweise in VirtualDub bzw. VirtualDubMod öffnen und in DivX konvertieren.
Im Zusammenspiel z.B. mit dem MPEG-Encoder TMPGEnc gab es bei manchen Versionen einen Absturz. Ein Workaround, der auch für andere ähnlich gelagerte Fälle gehen könnte: Öffnen Sie das AVS-Script in VirtualDub und wählen Sie File/Start frame server. Damit wird eine Dummy-Datei mit der Erweiterung .vdr erzeugt, die den Videodatenstrom über VirtualDub an TMPGEnc weiterleitet, wenn Sie die .vdr-Datei als Quelle angeben.