====== x264 ======
was ist das:
* [[https://de.wikipedia.org/wiki/X264]]
> ffmpeg -i Quelle.avi -c:v libx264 -crf 25 -b:v 0 -c:a aac -y Ziel.mp4
> ffmpeg -i Quelle.avi -c:v libx264 -crf 25 -b:v 0 -preset slower -tune film -g 300 -map 0:a:0 -c:a:0 libfdk_aac -afterburner 1 -movflags faststart -f mp4 -y Ziel.mp4
//Mit der Option ''-preset ultrafast'' werden sehr große Dateien bei hoher Transkodiergeschwindigkeit erzeugt und mit ''-preset placebo'' werden kleine Dateien bei sehr, sehr geringer Transkodiergeschwindigkeit erzeugt, Voreinstellung ist ''-preset medium''.//
//Mit ''-tune psnr'' wird das verwischen des Bildes bei Bewegung verstärkt, um kleinere Dateien zu erzeugen und mit ''-tune ssim'' werden auch Bilder in der Bewegung scharf gezeichnet, das verbessert die Qualität von Standbildern.//
Um Qualität zu erzielen möchte ich mindestens "%%--me umh%%" //(Suche nach Bewegungsvektor im Bild)// haben und das wird erst ab ''-preset slower'' aktiviert.
ich konzentriere mich hauptsächlich auf diese beiden Presets:
* ''-preset slower'' //für ausreichend kleine Dateien//
* ''-preset veryfast'' //für ausreichend hohe Transkodiergeschwindigkeit//
===== Quellen =====
Home-Page:
* **[[https://trac.ffmpeg.org/wiki/Encode/H.264|H.264]]**
* [[http://www.videolan.org/x264.html|x264 - a free h264/avc encoder]]
Ansehen kann man sich die Quellen online hier:
* [[http://git.videolan.org/?p=x264.git;a=summary]]
Saugen kann man sich die neuesten Quellen mit Hilfe von [[http://wiki.videolan.org/Git|Git]]:
# git clone git://git.videolan.org/x264.git
Oder man saugt sich einfach eine gepackte Version von hier:
* [[ftp://ftp.videolan.org/pub/videolan/x264/snapshots/]]
weitere Infos:
* [[https://www.mplayerhq.hu/DOCS/HTML/de/menc-feat-x264.html]]
* [[http://x264-video-codec.giga.de/]]
* [[http://encodingwissen.de/x264/konfiguration]]
* [[http://www.heise.de/newsticker/meldung/Kommerzielle-Lizenzen-fuer-H-264-Encoder-x264-1037582.html]]
* [[http://www.hifi-forum.de/viewthread-312-17-8.html]]
===== Einstellungen =====
* [[http://mewiki.project357.com/wiki/X264_Settings]]
Wichtig ist auch die Reihenfolge, in der die Optionen angegeben werden!
laut Doku soll es so sein:
x264 [CRF] [Preset] [tune] [Restliche Optionen] -o [Zielvideo] [Quellvideo] [Auflösung]
das //x264//-Team verwendet aber diese Reihenfolge:
x264 [CRF] [Preset] [tune] [Restliche Optionen] [Quellvideo] -o [Zielvideo] [Auflösung]
bei mir gab es auf 64Bit-Systemen mit der oben genannten Reihenfolge Probleme:
raw [error]: raw input requires a resolution.
x264 [error]: could not open input file `-'
Hierbei hatte ich die Daten im //RAW-YUV//-Format per PIPE an //x264// übergeben und dem zufolge als //[Quellvideo]// ein "**-**" eingesetzt.
seitdem verwende ich diese Reihenfolge der Optionen:
x264 [Quellvideo] --input-res [Auflösung] [CRF] [Preset] [tune] [Restliche Optionen] -o [Zielvideo]
* [[http://encodingwissen.de/x264/referenz.html]]
==== rate-control mode ====
''bitrate'', ''qp'' und ''crf'' schließen sich gegenseitig aus!
- **bitrate** - [Multi-Pass-fähig] orientiert sich an die Bandbreite des Video-Datenstomes
- **qp** - [Blu-Ray-kompatibel] orientiert sich an die Qualität
- **crf** - [Blu-Ray-kompatibel] eine Kombination aus den obigen beiden, es erreicht die Qualität von ''qp'', bei kleinerer Dateigröße in dem es die Datenmenge für Bewegungen im Bild verringert, da der Mensch diese ohnehin nicht erkennen kann. Die eingesparte Bandbreite kann zur Verbesserung der gut zu erkennenden Bilder bzw. Bildteile verwendet werden, um wieder auf die gleiche Dateigröße zu kommen.
==== --preset ====
ultrafast
superfast
veryfast
faster
fast
medium (default)
slow
slower
veryslow
placebo
==== --tune ====
film (psy tuning)
grain (psy tuning)
stillimage (psy tuning)
psnr (psy tuning)
ssim (psy tuning)
fastdecode
zerolatency
Es können mehrere "Tuning's" Kommagetrennt angegeben werden, allerdings darf nur ein einziges Tuning mit "psy" dabei sein!
==== --no-fast-pskip ====
"no-fast-pskip" bringt einen sehr kleinen Qualitätsgewinn, auf Kosten eines dramatischen Rechenzeitanstieges.
==== --no-dct-decimate ====
"dct-decimate" verwirft Blöcke, die für unnötig gehalten werden. Das beschleunigt den Encoder, kann aber unter Umständen zu einem geringen Qualitätsverlust führen.
==== --nr ====
Mit dieser Option kann man das Bildrauschen unterdrücken.
Mit **0** ist sie deaktiviert und zwischen **0-600** sollte der Wert für gängiges Filmmaterial sein.
x264 empfiehlt Werte zwischen **100-1000** um verrauschtes Bildmaterial aufzuwerten.
===== x264 Blu-Ray-konform =====
* {{x264_demo_blu-ray.torrent|Torrent-Datei: x264 Demo Blu-ray}}
* [[http://en.wikipedia.org/wiki/BD-ROM#Technical_specifications|BD-ROM: Technical_specifications]]
High-definition video may be stored on Blu-ray ROM discs with up to 1920×1080 pixel resolution at up to 59.94 fields per second, corresponding to 29.97 frames per second interlaced or 24 frames per second progressive. Alternatively, progressive scan at 1280x720 pixel resolution can go up to 59.94 frames per second.
* [[http://www.pro-linux.de/news/1/15597/x264-unterstuetzt-blu-ray.html|seit 2010-04-25 kann die freie x264-Bibliothek Blu-Ray-konforme Videos erzeugen]]
Die neueste Version der Bibliothek x264 kann Blu-Ray-konforme Videos erzeugen. Einem Mastering von Blu-Ray-Disks ausschließlich mit freien Programmen steht damit nichts mehr im Wege.
Von Hans-Joachim Baader
x264 ist eine freie, unter der GPL veröffentlichte Bibliothek zum Kodieren von H.264/AVC-Videos. Das bei VideoLan angesiedelte Projekt stellt keine offiziellen Versionen, aber tägliche Schnappschüsse der Bibliothek bereit.
Wie Jason Garrett-Glaser, einer der Entwickler von x264, jetzt mitteilte, kann die neueste Version von x264 Videoströme erzeugen, die zur Blu-Ray-Spezifikation konform sind. Damit können nun Blu-Ray-Disks vollständig mit freien Werkzeugen erstellt werden, so wie es mit DVDs schon seit Jahren möglich ist. Es ist nicht mehr nötig, für die Produktion kommerzielle Produkte einzusetzen, die teils über 100.000 US-Dollar kosten.
Blu-Ray-konformes Audio wurde schon zuvor unterstützt, dabei wird AC3 eingesetzt. Der Blu-Ray-Master kann, wenn stark genug komprimiert wird, laut dem Entwickler auch auf DVDs oder Dual-Layer-DVDs gebrannt werden, womit alle Blu-Ray-Abspieler klarkommen sollten. Eigentlich setzt Blu-Ray zwingend DRM voraus, das in den freien Tools aber nicht verwirklicht ist. Allerdings erzwingt kein auf dem Markt befindlicher Abspieler DRM.
Zur Demonstration der Fähigkeiten haben die Entwickler eine Blu-Ray-Disk mit vollständig freien Inhalten zusammengestellt. Auf dieser sind die Filme Big Buck Bunny und Elephant's Dream des Open-Movie-Projektes und ein Sound-Beispiel enthalten. Microsoft hat sechs Minuten verlustfreies HD-Video und Audio bereitgestellt, die unter einer freien Lizenz stehen und ebenfalls auf dem Image enthalten sind. Das 2 GB große Image, das das Dateisystem UDF 2.5 verwendet, kann über BitTorrent heruntergeladen werden.
Eventuelle Patentprobleme sieht das Projekt für die meisten europäischen Länder (noch) nicht. Software ist nach Ansicht der Entwickler im Artikel 52 der Europäischen Patentübereinkunft von der Patentierbarkeit ausgeschlossen. Hardwarehersteller, die VLC mit patentierten Codecs in ihre Geräte integrieren, könnten allerdings zu Lizenzzahlungen verpflichtet sein.
* [[http://x264dev.multimedia.cx/?p=328|Announcing the first free software Blu-ray encoder]]
* [[http://forum.doom9.org/showthread.php?t=143716|CURRENT VERSION 0.33.06 (April 24th, 2010)]]
----
[[http://x264dev.multimedia.cx/?p=328#more-328|Do keep in mind that you have to export to raw H.264 (not MKV or MP4) or else the buffering information will be slightly incorrect.]]
----
==== Blu-ray support: NAL-HRD, VFR ratecontrol, filler, pulldown ====
* [[http://git.videolan.org/?p=x264.git;a=commit;h=c6de86497cdd7b7f3cce7d8a95d723c7d0c9f505|Blu-ray support: NAL-HRD, VFR ratecontrol, filler, pulldown]]
**2010-03-27**
x264 can now generate Blu-ray-compliant streams for authoring Blu-ray Discs!
Compliance tested using Sony BD-ROM Verifier 1.21.
# x264 --crf 16 --preset veryslow --tune film --weightp 0 --bframes 3 --nal-hrd vbr --vbv-maxrate 40000 --vbv-bufsize 30000 --level 4.1 --keyint 24 --b-pyramid strict --slices 4 --aud --colorprim "bt709" --transfer "bt709" --colormatrix "bt709" --sar 1:1 -o