DVD to x264 und AAC…

Meist stammen die eigenen Lokalen .mkv Videos von der eigenen DVD Sammlung und sind, da das Video im mpeg2 Format vorliegt, vier bis acht Gigabyte groß. Auch wird, zumindest von meinem XBMC, auf dem Raspberry Pi, MPEG2 nicht Hardware beschleunigt wiedergegeben. (einen Lizenzschlüssel das er es doch kann gibt es auf raspberrypi.com)

Um dies zu beheben können wir die Video-Spur der .mkv Dateien mit hilfe von x264 in ein moderneres Format umwandeln.

1.) Benötigte Software

für das „rippen“ brauchen wir:

zum Transcodieren brauchen wir:

1.) Daten von DVD extrahiert

copy from DVD
decss

2.) Transcodieren

2.1.) Audio

Zuerst die Audio Spuren in das PCM Wave format wandeln:

Anschließend die entstandene wav Datei mit AAC komprimieren:

2.2.) Video

Beim Entfernen der Schwarzen Balken muss man leider Höhe und Breite „MOD16“ festlegen. Die Höhe als auch die Breite müssen ohne rest durch 16 teilbar sein.

–preset slow
–level 4.1
–deblock 0:0 deblocking Filter anschalten
–keyint 300 maximaler Abstand zwischen zwei Key-Frames – 10*FPS
–min-keyint 30 minimaler Abstand zwischen zwei Key-Frames – 1*FPS
–crf 18 Qualität
–tune film voreinstellungen für „Film“ nutzen
–video-filter crop:0,20,0,10 rand links,oben,rechts,unten abschneiden
-o output.mkv Ausgabedatei
Optional
–no-interlaced fals das Quellvideo nicht Interlaced ist

3.) Audio und Video zusammenfügen

mkvmerge

Aktualisieren von FFmpeg und x264

FFmpeg

Um ffmpeg, x264, libx264-dev und yasm zu aktualisieren, wenn diese zuvor mit diese Anleitung eingerichtet wurde müssen diese zuerst deinstalliert werden:
sudo apt-get remove yasm ffmpeg x264 libx264-dev

Jetzt ein Paket nach dem anderen bereinigen, aktualisieren und neu Übersetzen:

yasm

cd /usr/src/yasm
make distclean
git pull
./autogen.sh
./configure --disable-nls --prefix=/usr
make
sudo checkinstall --pkgname=yasm --pkgversion="$(cat YASM-VERSION-FILE)" \
--backup=no --deldoc=yes --fstrans=no --default

x264

cd /usr/src/x264
make distclean
git pull
./configure
make
sudo checkinstall --pkgname=x264 --pkgversion="3:$(./version.sh | awk -F'[" ]' '/POINT/{print $4"+git"$5}')" --backup=no --deldoc=yes --fstrans=no --default

ffmpeg

cd /usr/src/ffmpeg/
make distclean
git pull
./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab
make
sudo checkinstall --pkgname=ffmpeg --pkgversion="5:$(./version.sh)" --backup=no --deldoc=yes --fstrans=no --default
hash x264 ffmpeg ffplay ffprobe

Sollten zweifel bestehen ob ffmpeg und x264 korrekt eingerichtet wurden, im Aufruf von x264 –version und im Aufruf von ffmpeg erscheint als „built“-Datum das aktuelle Datum.

Aktuelle FFmpeg und x264 Version Installieren

x264

Abhängigkeiten Installieren

Entfernen der alten Installationen von x264, libx264-dev und ffmpeg.

Alle für die übersetzung von x264 und FFmpeg notwendigen Pakete holen.

Der aktuelle Benutzer muss noch in die Gruppe „src“ so das er in /usr/src schreiben darf:

YASM holen und Compilieren!

x264 Installieren

Die aktuellen Sourcecodes für x264 holen und übersetzen.

Install libvpx

VP8/WEBM holen und compilieren

Installation von FFmpeg

Holen der aktuellsten Version, Compilieren, und Installation von FFMPEG.

lavf Support zu x264 Hinzufügen.

Der lavf-Support erlaubt x264 alle Input-Dateien anzunehmen die von FFmpeg unterstützt werden. Dies ist sehr praktisch wenn x264 direkt verwendet werden soll.

Hiermit ist die Installation abgeschlossen.
Du solltest die Source-Verzeichnisse von x264, libvpx, und ffmpeg behalten um Sie später einfach aktualisieren zu können. Siehe auch Aktualisieren von FFmpeg und x264 für weitere Informationen.

Um die Änderungen dieser Anleitung rückgängig zu machen und FFmpeg, x264, yasm und alle anderen Pakete aus dieser Anleitung wieder zu entfernen nutze folgendes Kommando: