10-Bit-Videos unter Ubuntu abspielen (Ich will doch nur Anime schauen!)

10-Bit mit Artifakten

Eine neue Ära bricht in der Fansub-Szene an. Videos werden nun mit 10-Bit Farbtiefe en­kodiert im Gegen­satz zu den sonst üblichen 8-Bit. Dies führt zu dem Vorteil, dass die Dateien kleiner werden, bei gleich­bleibender – oder gar besserer, hört man munkeln – Qualität. Dafür wird es nicht von jeder Hardware unterstützt. Was PCs betrifft, sollte in den allermeisten Fällen ein Update der Codecs reichen. Windowsler können sich den aktuellen CCCP aufspielen und Linuxer … da sollte der Support in den verschiedenen Programmen auch vorhanden sein.

Leider war es dann doch nicht so simpel. Zwar ließen sich die MKVs abspielen, aber waren durchzogen von Artefakten und falschen Farben. Okay, die falschen Farben sahen teilweise recht hübsch aus, wie Minecrafts neues Belichtungsmodell, wo jetzt alles so schönes ambient­es Licht wirft. Dennoch! So konnte es nicht bleiben! Die Lösungssuche führte mich auf einen Weg aus einer kuriosen Mischung aus Frustation und Spaß.

Yeeha! Saubere Wiedergabe von 10-Bit-Videos + Audio + ASS/SSA (Untertitel)

Kurz gesagt: Kompiliert x264 selbst, dann kompiliert mplayer selbst.

Time to launch the terminal.

Yes, yes it is. Terminal auf!

x264

Folgt diesem Tutorial: ubuntuforums.org/showthread.php?t=786095. Die optionalen Schritte (4, 6, 7) könnt ihr weglassen … vermutlich. Dieser Teil dauert ein wenig. Schaut zu, wie es im Terminal durchrattert. Fertig? Gut! Weiter!

mplayer

Schnappt euch den Source Code von mplayerhq.hu/design7/dload.html – unter „Source Code“, den „source snapshot“. Entpackt das Archiv.

cd mplayer-export-snapshot
./configure

Noch ist nicht viel passiert. Unter anderem wird im Terminal eine lange Liste ausgegeben mit unterstützten Features. Am Ende der Zeile steht dann immer ein „yes“ oder „no“. Für gestylte Untertitel muss ein „yes“ hinter „SSA/ASS support“ stehen. Hinter „freetype >= 2.0.9“ vermut­lich auch. (Verzeihung, ich kenne die Abhängigkeiten nicht sonderlich genau.)

Dafür brauchen wir die Dev-Pakete der Bibliotheken.

sudo apt-get install libfreetype6-dev
sudo apt-get install libass-dev

So sieht meine Ausgabe für ./configure aus. Sollte später etwas nicht funktionieren, könnte die Liste als Referenz hilfreich sein, um nach einem fehlenden Codec zu schauen.

Wenn alles bereit scheint, bauen wir unseren mplayer und installieren ihn im System.

make
sudo checkinstall

(Abgeändert von make install zu checkinstall nach einem Vorschlag von Mal'Dun.)

Wenn ihr im Terminal nun mplayer eingebt, sollte die Versionsangabe mit „SVN“ beginnen.

MPlayer SVN-r34173-snapshot-4.5.2 (C) 2000-2011 MPlayer Team
Usage:   mplayer [options] [url|path/]filename

Videos sollten nun so aussehen:

10-Bit, wie es sein sollte

Bonus: GUI-Frontend SMPlayer

Wer mplayer nicht über das Terminal verwenden möchte – was aber ausgezeichnet zum Aufnehmen von Screenshots ist! – kann ein grafisches Frontend dafür verwenden. SMPlayer wäre so eines. In den Einstellungen muss nur noch der Pfad zu mplayer gesetzt werden.

Unter „Allgemein“ im Feld „Ausführbare MPlayer-Datei“ setzt man als Pfad:

/usr/local/bin/mplayer

Bonus 2: mplayer über das Terminal verwenden

Standardmäßig werden keine gestylten Untertitel verwendet. Was mir sehr unsinnig erscheint und in mplayer2 zum Beispiel geändert wurde. Aber der wollte sich bei mir nicht kompilieren lassen. Jedenfalls …

mplayer WillIchSchauen.mkv -ass -embeddedfonts -vf screenshot

Damit sind Untertitel aktiviert und mit der Taste s lassen sich Screenshots machen. Diese werden automatisch im selben Verzeichnis wie das Video als PNG gespeichert und auf­steigend durchnummeriert.

Das geht noch etwas einfacher, indem man eine config-Datei anlegt. Diese speichert man als ~/.mplayer/config – wobei „config“ der Dateiname ist (kein weiteres Verzeichnis). Der Inhalt:

## Enable stylized fonts
embeddedfonts=yes
ass=yes

## Screenshots enabled
vf=screenshot


Was ich zuvor alles probierte: Verwendung von Totem, mplayer, mplayer2, VLC, nightly VLC. Als ich in ffplay (Komponente von ffmpeg) optimales Bild hatte – aber weder Sound noch Untertitel –, dämmerte mir dann der Zusammenhang mit dem x264-Tutorial.


freetype2 habe ich ebenfalls selbst kompiliert. Source Code gibt es hier: sourceforge.net/projects/freetype/files/freetype2/2.4.6/. Denke aber nicht, dass das notwendig ist.


And that's how Equestria was made.