Schneller DVD-Kopierer unter GPL fĂĽr Linux naht
Während es für Windows und Mac OS X schon seit einiger Zeit schnelle DVD-Transcoder gibt, saß die Open-Source-Community bislang auf dem Trockenen. Dank des unter GPL veröffentlichten M2VRequantizer von Metakine dürfte sich das nun ändern.
Vor kurzem brachte die Firma Metakine mit DVDRemaster einen eigenen kommerziellen DVD-Kopierer für Mac OS X heraus. Das Programm bietet ebenso wie das bereits seit einiger Zeit für Mac OS X erhältliche DVD2one und neuerdings auch ffmpegX die Möglichkeit, unverschlüsselte zweilagige Video-DVDs (DVD-9) in Windeseile (meist unter 30 Minuten) und ohne allzu starke Qualitätseinbußen auf nur einen DVD-Rohling zu quetschen. Ermöglicht wird dies durch eine Transcoding-Engine, die anstatt alles neu zu kodieren bereits berechnete Motion-Vektoren recyclt und so wesentlich schneller ist. Um die nötige Bitratenreduktion zu erzwingen, verwenden solche Compressed Domain Transcoder (CDT) gröbere Quantisierungskoeffizienten für die MPEG-Matrizen.
Da Metakines DVDRemaster Code aus den unter der GNU Public License veröffentlichten Programmen/Bibliotheken mpeg2enc und libmpeg2 verwendet, stellte die Firma konsequenterweise auch die darauf basierenden Module M2VRequantizer und M2VDownsizer zum Download bereit.
Da die verwendeten Routinen keine Mac OS X spezifischen Bestandteile enthalten, keimt natürlich schnell die Frage auf, ob man insbesondere den schnellen Requantizer nicht auch auf eine andere Plattform "portieren" kann, etwa Linux (oder auch Windows). Dass sich das Programm zumindest leicht in andere Applikationen integrieren lässt, hat bereits ffmpegX schon gezeigt, das ebenfalls auf dem M2VRequantizer aufsetzt. Entpackt man den M2VRequantizer-Tarball (.tgz), findet man darin lediglich ein Projektverzeichnis für den Project Builder aus Apples Developer-Tools sowie drei weitere Dateien (main.c, getvlc.h und putvlc.h). Diese Dateien lassen sich einfach mittels
gcc main.c -o requant -lm
auch unter Linux kompilieren (auf Wunsch mit zusätzlichen Optimierungen, etwa -funroll-loops -frename-registers oder einfach -O3). Das resultierende Executable nimmt M2V-Daten (reine MPEG-2-Videoströme) von der Standardeingabe (Stdin) entgegen, verarbeitet sie unter Angabe eines konstanten Faktors, um den die Bitrate vermindert werden soll, und gibt die requantisierten Videodaten auf Stdout aus:
cat video.m2v | ./requant <i>Faktor</i> > video_transcoded.m2v
Wer sich wundert, dass einmal pro Minute die Qualität der resultierenden Datei richtig schlecht wird, der sollte im Quellcode #define DEMO
durch #undef DEMO
ersetzen und neu kompilieren -- schon läuft das Programm nicht mehr im Demo-Modus. Bei ersten Tests von heise online funktionierte der so "gepatchte" M2VRequantizer reibungslos. Selbst bei Halbierung der Bitrate (also Faktor 2.0) war die Qualität durchaus noch akzeptabel. Bei den für DVD-Kopierer üblichen Werten (zwischen 1.25 und 1.5) dürfte die Verarbeitungsgeschwindigkeit wie auch die Qualität der Ergebnisse in etwa auf dem Niveau von DVD2one liegen.
Prinzipiell lässt sich so mit Hilfe der MPEG-Utilities oder transcode auch unter Linux eine DVD-9 auf eine DVD-5 quetschen. Zumindest für ein reines Hauptfilm-Backup reicht es, die entsprechenden VOBs zu demultiplexen, den Videostrom mit M2VRequantizer zu bearbeiten und samt Tonspur zur weiteren Verarbeitung an dvdauthor zu übergeben, so wie es wohl auch ffmpegX tut. Mit einem solchen Requantisierer lassen sich übrigens längst nicht nur DVDs kopieren, sondern auch eigene, geringfügig zu groß geratene DVD-Projekte oder MPEG-2-Videos schnell auf die richtige Größe stutzen. (vza)