Voodooalert+x264 Logo
US+UK Flagge DE+AT Flagge
Sprache wechseln:
 

x264 Benchmark Kompilier- & Installationsanleitung für GNU/Hurd, Debian Distribution

GNU/Hurd Logo

Systemvoraussetzungen

Als GNU/Hurd System wird für diese Anleitung die [Debian Distribution] vorausgesetzt, da selbige die aktuell vollständigste Softwaresammlung darstellt. In dieser Anleitung gezeigte Befehle können einen von zwei Prefixen aufweisen; Befehle, die mit einem ~ beginnen, können als normaler Benutzer ausgeführt werden. Befehle, die mit einem # beginnen, müssen mit root Rechten, bzw. als Superuser root ausgeführt werden. Dateien und Verzeichnisse werden in grün dargestellt. Vom Benutzer auszufüllende Platzhalter in auszuführenden Befehlen stehen in Spitzklammern: <>. Zusätzlich zur in Debian GNU/Hurd vorhandenen Software wird noch die folgende benötigt:


Der Quellcode des noch nachzuinstallierenden yasm ist von [hier] zu beziehen, wonach die Archivdatei auf der Konsole zu entpacken ist, z.B. so: ~ tar -xjvf <dateiname.tar.gz>. Danach ist in das neu erzeugte yasm Unterverzeichnis zu wechseln, und der Code zu bauen: ~ ./configure && make. Für die Installation benötigt man root Rechte: # make install.

Die Benchmark-Software selbst

Um x264 benutzen zu können, brauchen wir die Decodingfilter von libavcodec (kurz libav) und den x264 Encoder selbst, der im Verlauf der Installation gegen libav linked wird. Weiters natürlich das Benchmarkvideo, das als Input verwendet wird, die Downloadmirror zum Download des letzteren sind am Ende der [Benchmarkergebnisliste] verfügbar. Als Ersatz für libav kann man auch ffmpeg/ffms verwenden, wenn man dies möchte.

Der Einfachheit halber nehmen wir hier an, daß die Dateien nun in /home/user/x264src/ liegen. Auf der Konsole wechseln wir also in dieses Verzeichnis, und beginnen mit libav. Entpackt wird das Archiv mit ~ tar -xzvf <dateiname.tar.gz>, wonach es einen libav Ordner gibt. In diesen Ordner wechsle man nun, und führe die folgenden Kommandos hintereinander aus. Die Optionen bzgl. opus/libopus betreffen einen Audiodecoder/-encoder, der aktuell das Linking mit x264 verhindert, womit wir opus deaktivieren müssen. Dieser Umstand kann sich natürlich mit neueren libav/x264 Versionen ändern, womit die Optionen --disable-decoder=opus,libopus --disable-encoder=opus --disable-parser=opus ggf. entfallen können. Rein zum Zwecke des x264 Benchmarks braucht libav aber kein opus zu beherrschen, wir können den De-/Encoder also getrost weglassen:

Nun ist libav installiert, wir können also daran gehen, x264 selbst zu linken und zu bauen, man entpacke also den x264 Quellcode mit ~ tar -xjvf last_x264.tar.bz2 und wechsle danach in das x264 Verzeichnis. Nun ähnliches wie auch zuvor:

Nun kann man die Funktion durch ~ x264 --version prüfen. Funktioniert das, und zeigt das Binary an, daß es gegen libswscale und libavformat linked ist, dann hat alles sauber funktioniert. Sollte man in der Tat ein System besitzen, für welches noch keine Assemblercodepfade vorliegen, z.B. ein DEC Alpha oder ein sehr alter Intel x86 wie etwa ein Pentium MMX, dann müßte man noch die Option --disable-asm an beide configure Skripte übergeben. yasm braucht man in so einem Fall gar nicht zu installieren. Nun kann man folgendes Benchmarkscript herunterladen:

Diese Datei launchbenchmark.sh kopieren wir nun in einen für den Benchmark gedachten Unterordner, den wir ggf. anlegen: ~ mkdir -p /home/user/x264benchmark. In diesem Ordner sollte auch das Inputvideo elephantsdream_source.264 landen.

Nun kann man den Benchmark im Prinzip ausführen, hierzu gebe man einfach folgendes ein, während man im Ordner /home/user/x264benchmark/ sitzt:

Im Betrieb kann das ganze z.B. so aussehen:

GNU/Hurd Screenshot

Hiernach ist einfach der "Real" Wert aus dem Terminal abzulesen. Zudem sollte man auch noch ein paar Zeilen höher prüfen, ob die volle Anzahl an Frames kodiert wurde. Das wären 15691 Frames. Ist die Zahl kleiner, so ist entweder das Inputvideo beschädigt, oder der Rechner nicht stabil, was das Ergebnis ungültig werden ließe.

Je nach Maschine kann das jetzt durchwegs mehrere Stunden, in extremen Fällen auch Tage, Wochen oder Monate dauern, vor allem weil GNU/Hurd und sein Mach Kernel auf vielen modernen Plattformen aktuell nur einen CPU Kern unterstützen. Wenn man dies remote per SSH o.ä. macht, sollte man eventuell eine screen Session andenken, die man auch schließen und im Hintergrund weiterlaufen lassen kann. So muß die interaktive Shell nicht zwingend offen bleiben. Bevor man screen verwendet - sofern man das möchte - sollte man sich noch die entsprechende Dokumentation mit ~ man screen durchlesen.

[Zurück zur x264 Benchmark Ergebnisliste]

[Anleitung kommentieren]