1. Sinn?
Mittlerweile hat es sich etabliert Videos im Full-HD Format zu speichern. Speicher wird immer größer und günstiger, wieso also auf 720p setzen?
  1. 720p Videos brauchen nicht so viel Ressourcen beim abspielen. Sogar manche Smartphones können heutzutage 720p Videos abspielen.
  2. 720p Videos sind meist deutlich kleiner (ungefähr 1/3 bis 1/2 vom 1080p Video). Das liegt auch daran, dass man für eine gute Videoqualität bei 720p weniger Bitrate benötigt.
  3. Wenn die Videoqualität eh nicht viel hergibt, macht es meiner Meinung nach Sinn 720p einzusetzen
  4. Der Unterschied von DVD (576i) zu 720p ist enorm. Der Unterschied zwischen 720p und 1080p ist eher gering und nur auf großen Diagonalen oder bei geringem Sitzabstand sichtbar.
2. Grundlagen

Erstmal kläre ich grundlegende Fragen. Was bedeutet eigentlich 1080p bzw. 720p?
Wie ihr auf dem Bild sehen könnt, beschreibt die Bezeichnung 1080p bzw. 720p die jeweils Vertikale Auflösung des Videos. Die Horizontale Auflösung ergibt sich bei 16:9 Videos, indem man die Vertikale * (16/9) rechnet.

Das ganze Bild im 16:9 Format wird allerdings nur im 1,78:1 Format ausgefüllt. Da die wenigsten Filme in genau diesem Format vorliegen, hat man mal mehr oder weniger die bekannten "schwarze Balken".

Diese schwarzen Balken werden auch zur Auflösung mitgezählt. Ein 1080p Video im 2,35:1 Format hat also eigentlich gar nicht 1080 Zeilen an Video, sondern ca. 816 Zeilen (1920/2,35). Die restlichen 264 Zeilen (132 Oben und Unten), bestehen also nur aus schwarze Balken und beinhalten keinerlei Bildinformationen. Trotzdem wird diese Video also 1080p bezeichnet.

Das p, steht übrigens für progressive. Die Bilder liegen hier als Vollbilder vor, und müssen nicht mehr umgewandelt werden. Ganz anders ist es bei 1080i (interleaced, Halbbilder), das sehr oft per Satellit ausgestrahlt wird. Dieses Video müsste entweder die Hardware (Fernseher, Receiver) oder Software (Codec im HTPC) erst in Vollbilder umrechnen um nervige Störungen zu vermeiden. Auch DVD Videos liegen Interleaced vor. (PAL in 576i, NTSC in 480i).

3. Los geht's
So genug gelabert, jetzt geht es ans Encoding.
Als erstes würde ich euch raten eine aktuell Version von ffmpeg und x264 aus den offiziellen Quellen zu kompilieren, da die Ubuntu Pakete meist veraltet sind und nicht alle Features bieten. ArchLinux Nutzer, brauchen das nicht tun, da sie eh eine sehr aktuelle Version draufhaben.

Wie das geht, beschreibe ich hier:
/www.plantoschka.com/antoschka.com/2011/03/aktuelle-version-von-ffmpeg-und-x264.html

User von anderen Linux Distributionen sollten einfach mal googlen. Man findet für fast jede Distribution eine Anleitung zum kompilieren von ffmpeg und x264.

Ich gehe mal davon aus euer Quellvideo liegt in einem MKV,MP4 oder ähnlichem Container vor.
Source steht hier immer für das Ursprungsvideo. Output für das Zielvideo (die Ausgabe). Da zusätzliche Audiospuren und Untertitel etc. in ffmpeg oft nicht so einfach zu verarbeiten sind, tun wir erstmal nur die Videospur umwandeln und am Ende alles zusammenmuxxen.

1080p zu 720p


ffmpeg -i source.mkv -an -sn -vcodec libx264 -preset slow -tune film -profile high -crf 20 -threads 0 -s hd720 output.mkv

1080i (interleaced) zu 720p (Source sollte als mkv vorliegen damit es problemlos klappt)


ffmpeg -i source.mkv -an -sn -vf yadif -vcodec libx264 -preset slow -tune film -profile high -sws_flags lanczos -s hd720 -crf 20 -threads 0 output.mkv

Für bessere Qualität aber langsameres Encoding:
statt "-preset slow" auf "-preset slower" stellen (ihr solltet eine moderne Quadcore CPU haben)

Schnelleres Encoding auf Kosten der Qualität:
statt "-preset slow" auf "-preset medium" oder sogar auf "preset fast" stellen(geht auch recht fix mit einem DualCore)

Qualität vs. Filegröße:
Der crf-Wert ist ein Indikator zwischen Filegröße und der Qualitäts. crf 20 ist meist ein sehr guter Kompromiss. Je nach Quellvideo (viel Grain und Rauschen braucht mehr Bitrate als sauberes Video), kann man hier zwischen crf18-crf23 experimentieren.

Als Ausgabe bekommt ihr so ein reines VideoFile im 720p Format. Um nun wieder Audio und Untertitel hinzuzufügen nutzt ihr MkvMerge (MkvToolnix). Dazu einfach MKVMerge starten, da neue Video reinladen und anschliessend auch das alte. Nun entfernt ihr den Hacken bei der alten Videospur und gebt ein Ausgabepfad an. Fertig !


Eine ausführliche Anleitung zu MKVMerge findet ihr hier:
/www.plantoschka.com/antoschka.com/2011/02/mkvmerge-anleitung-linux-windows.html

1 Comment