Links
Firefox-Tips 11.2024
empfohlene Plugins
Plugin istallieren:
- Im Menü "Add-ons und Themes" anwählen (Strg-Shift-A).
- Name des Plugins im Suchfeld eingeben
- Plugin in den Ergebnissen anwählen
- "Installieren" anwählen, Dialoge mit "ja" beantworten
- Werbeblocker: uBlock Origin
- Speichersparen: Auto Tab Discard (deaktiviert ungenutzte Tabs; diese Tabs müssen nach Anwählen komplett neu geladen werden)
Handbrake-Tips 1.2025 / v1.9.0
Ziel: Archivieren. Also bei guter Qualität kleine Dateien.
Meine aktuellen Einstellungen
Normal: SVT-AV1/10bit, 34RF, Preset 3 oder 2 oder 1 (je kleiner desto mehr Rechenzeit aber besseres Ergebnis), zus.Parameter: aq-mode=0
(adaptiver Rauschfilter im AV1-Encoder bereits eingebaut.)
starkes Rauschen: Filter: NLMeans/High/Film (zusätzlich zum AV1-Rauschfilter)
(ansonsten alle nicht benötigten Filter aus)
Animation: X265(8 oder 10Bit), 34RF, tune:Animation, preset:VerySlow
Audio: Vorbis(nur mit mkv-Container kompatibel), quality:+0.5, Kanäle:alle(also bis 5.1)
RateFactor(RF)- bzw. CRF- bzw. ConstantQuality(CQ)-Wert
Das ist die fest eingestellte Quantisierung.
größer: kleinere Datei/schlechtere Qualität. Das Video wird stärker durch die Mangel gedreht.
kleiner: größere Datei/bessere Qualität.
Encoder Preset
größer/links: weniger Rechenzeit, aber dafür schlechtere Qualität (und bei AV1 größere Datei)
kleiner/rechts: mehr Rechenzeit, bessere Qualität
Es gilt das Gesetz der schwindenden Erträge. Also immer mehr Rechenzeit draufschmeißen führt zu immer kleineren Verbesserungen. Denn je höher das Niveau ohnehin schon ist, an desto weniger Stellen wird durch noch längeres Suchen ein besseres Optimum gefunden.
modernerer Encoder oder höheres Preset?
Besser den moderneren Encoder nehmen als beim älteren Encoder ein höheres Preset einstellen.
Ausnahme: Das Ergebnis soll auf einem Gerät abgespielt werden, das nur die ältere Videokodierung verarbeiten kann.
Der modernste Encoder in Handbrake ist aktuell SVT-AV1.
Adaptive Quantisierung
Die adaptive Quantisierung geht von der Annahme aus, daß Kompressionsartefakte in dunklen Szenen weniger auffallen, und schraubt dementspr. in dunklen Szenen die Kompression hoch.
Meiner Wahrnehmung nach ist die Annahme falsch. Deswegen am besten aq deaktivieren mit aq-mode=0. (Klappt auch mit aomenc in Hybrid)
Rauschen
Das Rauschen sollte immer rausgefiltert werden, damit die Zieldatei so klein wie möglich wird. Moderne Rauschfilter wie NLMeans schaffen das ohne Details oder Bewegungen zu stark zu verwischen.
Ausnahme: Das Rauschen wird als Stilmittel eingesetzt. In dem Fall mit großer Zieldatei leben. RF-Wert absenken. Falls vorhanden: Tune:Noise.
Software-Encoder oder Hardware-Encoder (z.B. QSV)?
Hardware-Encoder sind wahnsinnig schnell aber liefern schlechte Ergebnisse. Also bei guter Qualität riesige Dateien. Super für Streaming/Videokonferenz oder um schnell ein Video in einer einfacheren Kodierung zu haben. Aber zum Archivieren/Komprimieren ungeeignet.
Was ist die größte Schwäche von SVT-AV1?
Die häufigsten Kodierungs-Artefakte treten in dunklen Szenen auf: Bewegungsunschärfe und Banding-Artefakte (also aus sanften Farbverläufen werden harte Farbränder).
Deswegen: Unbedingt 10bit statt 8bit nehmen (für kleinere Rundungsfehler bei Farbwerten)
ffmpeg 4.2025
Bei Programmen wie Handbrake läuft unter der Motorhaube meist ffmpeg. Handbrake & Co. stellen nur die grafische Benutzeroberfläche zur Verfügung und machen die Bedienung einfacher. Z.B. durch Verstecken der meisten Funktionen und strukturierte Repräsentation der restlichen Funktionen. Darüberhinaus hat das Handbrake-Team eigene Optimierungen und Zusatzfunktionen entwickelt. Und bietet diese Arbeit kostenlos an.
Alternative: Direkt ffmpeg benutzen. Also über die Hürde der textbasierten Bedienung springen. Vorteile: aktuellere Version vom SVT-AV1-Encoder; weniger Ressourcenbedarf; überwältigende Menge an Funktionen und Möglichkeiten.
https://www.youtube.com/watch?v=MPV7JXTWPWI - How to use FFMPEG
Aktuelle Builds
Tagesaktuelle Builds gibt's hier: https://github.com/BtbN/FFmpeg-Builds/releases/ (auch für Windows)
"Build" bedeutet, daß aus den vielen Programm-Quelltexten (für Filter, Encoder, ffmpeg selber, etc.) ein lauffähiges Computerprogramm gebaut wurde.
"Static build" (also auf der oben verlinkten Seite das Gegenteil von "shared") bedeutet, daß alle Funktionen fest eingebaut sind und keine weiteren Dateien gebraucht werden. Deswegen sind die Programmdateien relativ groß.
Installation
Linux: Archiv " ffmpeg-master-latest-linux64-gpl.tar.xz " runterladen und entpacken; Dateien in "bin/" nach "/usr/bin/" oder "/usr/local/bin" kopieren (mit SuperUser-Rechten, also z.B. Dateimanager mit vorangestelltem "sudo " im Terminal starten).
(Mit "normaler" Installation gibt's bei den meisten Linux-Distros aus Sicherheitsgründen nur ne uralte Version.)
Win10: Die "Win64" zip-Datei runterladen und entpacken. Anschließend das komplette Verzeichnis nach C:\Programme (falls C: das Systemlaufwerk ist) kopieren. (Hinweis auf Admin-Rechte bestätigen)
Path-Variable: Den Pfad zum Unterverzeichnis "bin" im Clipboard speichern, z.B. im Explorer in der Adressleiste markieren und dann die beiden Tasten Strg-C gleichzeitig drücken. (Beispiel: C:\Program Files\ffmpeg-master-latest-win64-gpl-shared\bin).
Dann in die Einstellungen gehen. In den Einstellungen: "System"; dann links unten "Info"; dann rechts (oder unten wenn das Fenster zu klein ist) "Erweiterte Systemeinstellungen".
Schließlich "Umgebungsvariablen" anwählen; dann die Variable "Path" doppelklicken; dann eine neue Zeile anlegen und den Pfad reinkopieren (Strg-V).
Jetzt kann der Befehl "ffmpeg" immer aufgerufen werden - auch wenn "ffmpeg.exe" nicht im aktuellen Verzeichnis liegt.
Bedienung
Linux: Terminal öffnen; ins Arbeitsverzeichnis gehen. (Oft geht auch: Im Dateimanager im Arbeitsverzeichnis rechte Maustaste drücken und "Terminal öffnen" anwählen)
Windows: Im Explorer ins Arbeitsverzeichnis (also da, wo die Videos liegen) gehen, "cmd" in der Adressleiste eingeben (ohne Anführungszeichen). Dann sollte sich die Eingabeaufforderung öffnen.
Der kursive Text in den Beispielen unten hat Platzhalter-Funktion.
Automatische Dateinamenvervollständigung: Tabulator-Taste.
Stop-Signal an laufenden Prozess senden: Strg-C. (Und dann warten, bis alle Unterprozesse das Signal bekommen und geordnet ihre Operationen beendet und Speicherbereiche wieder freigegeben haben.)
Linux: Text im Terminal kopieren/einfügen: Shift-Strg-C / Shift-Strg-V
Video
Codec für Video wählen (SVT-AV1):
ffmpeg -i in.mkv -c:v libsvtav1 out.mp4
Anstelle eines Codecs kann auch "copy" gewählt werden
10bit-Encode erzwingen:
ffmpeg -i in.mp4 -pix_fmt yuv420p10le -c:v libsvtav1 out.mkv
Parameter an Encoder übergeben:
ffmpeg -i in.mkv -pix_fmt yuv420p10le -c:v libsvtav1 -svtav1-params preset=1:crf=34:aq-mode=0 out.mkv
Video-Filter:
ffmpeg -i in.mkv -vf filter1=param1:param2,filter2=param1:param2:param3 out.mkv
Bild beschneiden:
ffmpeg -i in.mkv -vf crop=width:height:from_left:from_top out.mkv
Statt Zahlen können auch mathematische Ausdrücke eingetragen werden. Die werden dann automatisch ausgerechnet.
Beispiel: Oben und unten jeweils 20 Pixel weg:
ffmpeg -i in.mkv -vf crop=in_w:in_h-40 out.mkv
Parameter können auch namentlich (statt nach Reihenfolge) geändert werden:
ffmpeg -i in.mkv -vf crop=w=in_w:h=in_h-40 out.mkv
(in_w wäre allerdings sowieso der voreingestellte Wert von w)
Zum Erkennen der Ränder ist dann wiederum Handbrake hilfreich. In den Voreinstellungen die Anzahl der Vorschaubilder erhöhen um Erkennungsfehler unwahrscheinlicher zu machen.
NLMeans Rauschfilter:
ffmpeg -i in.mkv -vf nlmeans out.mkv
Parameter: https://ffmpeg.org/ffmpeg-filters.html#nlmeans-1
https://www.youtube.com/watch?v=I9-VEUs1ZsE
Die Werte aus den Handbrake-Logs würde ich mal ungefähr so übersetzen: Patchgröße 7; Range 3; Stärke 1.5(ultra light), 4(light), 7(medium), 10(strong). Also für Light:
ffmpeg -i in.mkv -vf nlmeans=4.0:7:7:3:3 out.mkv
Allerdings würde ich nur den 1. Wert (Stärke) eingeben und die restlichen Werte weglassen - also die Voreinstellungen nehmen. Dann verbraucht NLMeans zwar vieeeeeeeeeeel mehr Rechenzeit, aber das Resultat ist auch viel besser. Ein sinnvoller Wertebereich ist dann aber eher 1-3 statt 1-10. (Voreinstellung für s: 1.0)
ffmpeg -i in.mkv -vf nlmeans=2 out.mkv
NLMeans kann wohl nur 8 bit, daher erst nach den Videofiltern das Pixelformat auf 10 bit ändern.
Vorschau-Funktion / Player:
ffplay in.mkv -vf stereo3d=tb2l:arcd,scale=1920:1080,crop=in_w:in_h-32
Q Beenden F Vollbild P, Leertaste Pause
A Tonspur umschalten V Bildspur umschalten T Untertitel umschalten W Ton-Wellenform anzeigen
⇄ 10 Sekunden vor/zurück ⇅ 1 Minute vor/zurück
rechte Maustaste Springe zur Stelle, die der Position des Mauszeigers in der Bildbreite entspricht
nur Video-Tracks aus Quelle 0 (die erste Quelle) anwählen:
ffmpeg -i in.mkv -map 0:v out.mkv
Audio
alle Tracks aus Quelle 0 (die erste Quelle) anwählen:
ffmpeg -i in.mkv -map 0 out.mkv
Vorbis-Encoder mit Qualität 0.5:
ffmpeg -i in.mkv -c:a libvorbis -q:a 0.5 out.mkv
Stapelverarbeitung etc.
Linux:
mkdir out
for FILE in *.mkv ; do ffmpeg -i "$FILE" -map 0 -vf nlmeans -pix_fmt yuv420p10le -c:v libsvtav1 -svtav1-params preset=1:crf=34:aq-mode=0 -c:a libvorbis -q:a 0.5 "out/$FILE" ; done
Enkodiert alle Dateien im aktuellen Verzeichnis, die auf .mkv enden. Resultate liegen dann im Unterverzeichnis out/.
Windows:
mkdir out
FOR %%i in (*.mkv) DO (ffmpeg -i "%%i" -map 0 -vf nlmeans -pix_fmt yuv420p10le -c:v libsvtav1 -svtav1-params preset=1:crf=34:aq-mode=0 -c:a libvorbis -q:a 0.5 "out\%%i")
Alles außer die erste Videospur (Nummer 0) kopieren, also 1. Videospur entfernen:
ffmpeg -i infile -map 0 -map -0:v:0 -c copy outfile
Das Minus-Zeichen schließt das angegebene aus.
(Voreinstellung für -c:v ist h264)
Untertitel nach .srt konvertieren:
#!/bin/bash
for file in *.mkv
do
mv "$file" tmp.mkv
ffmpeg -i tmp.mkv -map 0 -c copy -c:s srt "$file"
rm tmp.mkv
done
Welcher Computer für Video-Encoding? 2.2025
Kurze Antwort: Falls nur 1 Encode laufen soll 2 Cores, 8GB(1080p) bzw. 16GB(4K). (Also wenn's was günstiges gebrauchtes sein soll z.B. ein ProDesk 600 G3 DM mit i3-7100T.)
Um diese eigenartige Antwort zu verstehen, muss man 2 Eigenheiten von Video-Encodern verstehen:
- Der Flaschenhals ist der Arbeitsspeicher.
- Ein guter Encoder nutzt nur 2 Cores.
Der Flaschenhals ist der Arbeitsspeicher
Wenn die Bewegungserkennung effizient sein soll, müssen riesige Mengen Videodaten im Rohformat im schnellstmöglichen Speicher liegen. Und selbst dann ist es immer noch langsam genug. Mein Rekord bisher: Die Linux-Variante von Handbrake hat sich 25GB für einen 4K-Encode geschnappt.
Hängt auch vom Preset ab. Preset 2 enkodiert mehr Video-Teile gleichzeitig und braucht mehr Speicher als Preset 1.
Ein guter Encoder nutzt nur 2 Cores
Der Zielcode ist um so effizienter, je mehr grafische und zeitliche Zusammenhänge beim Encoden erkannt und genutzt wurden. Aber je mehr Teile des Videos parallel encodet werden, desto weniger Zusammenhänge können erkannt werden.
Ich nehme mal an, daß die Bewegungssuche einen Core braucht, und die restlichen Prozesse den 2. Kern nutzen. Wenn man einen komplexen Rauschfilter aktiviert kann's sein daß 3 Kerne genutzt werden.
2 Kerne / 4 Threads (also ein Prozessor mit Multithreading) scheint im Allgemeinen optimal zu sein.
Warum ist bei bestimmten Generationen der i3 "schneller" als der i5?
Beim i5 und höher ging die Entwicklung zu mehr Kernen. Aber weil mehr Kerne mehr Hitze produzieren, wurde die Taktfrequenz gesenkt. Beim i3 hingegen können die 2 Kerne den Kühlkörper für sich ganz alleine haben; und sind dementspr. höher getaktet. Der i3 hat dann mehr Single-Core-Leistung aber weniger Multi-Core-Leistung. Für Video-Encoding ist die Single-Core-Leistung entscheidend.
(Bei "normaler" Computernutzung ist natürlich der teurere Prozessor besser, weil der besser darin ist, sich dynamisch an die Anforderungen anzupassen.)
Speed vs. Energieeffizienz
Beim Hochschrauben der Taktfrequenz gilt das Gesetz der schwindenden Erträge. Also bei jeder Verdopplung des Stromverbrauchs kommt ein immer kleiner werdender Zuwachs an Rechenleistung raus.
Oder umgekehrt: Die Laptop-Variante vom Prozessor hat vielleicht 70% weniger Stromverbrauch aber nur 25% weniger Rechenleistung. Also wäre eigentlich ein alter Laptop (Akku aus Sicherheitsgründen entsorgen) ein effizienter Encoding-Rechner - aber diese Rechner-Kategorie hat i.d.R. zu wenig Arbeitsspeicher.
Außerdem sind jüngere Prozessor-Generationen generell energieeffizienter als ältere.
Die Arm-Architektur ist leider nicht so gut für Video-Encoding geeignet weil dort die Entwicklung eher zu mehr Kernen statt mehr Single-Core-Leistung geht; und wenig Arbeitsspeicher unterstützt wird.
Tip: Prozessor-Tuning in Linux
Update: Scheint keinen Unterschied zu machen. Jedenfalls nicht bei dieser speziellen Aufgabe. Siehe Messungen unten: Unterschied kleiner als Messungenauigkeit.
In den 2010er Jahren wurden Sicherheitslücken in Prozessoren entdeckt. Es wurde nachgewiesen daß Schadsoftware den Prozessor "abhören" und sich dadurch Zugriffsrechte ergaunern kann. Daraufhin haben Windows, Linux & Co. die Sicherheitslücken geschlossen, indem die betroffenen Prozessorfunktionen ausgeschaltet oder verlangsamt wurden.
Je nach CPU-Modell bedeutet das aber bis zu ca. 30% weniger Rechenleistung.
Linux bietet die Möglichkeit, die entspr. Sicherheitsupdates auszuschalten (Kernel-Option mitigations=off). Dann hat die CPU nach dem nächsten Neustart dementspr. mehr Leistung. Überprüfen mit dem Terminal-Befehl lscpu. Bei den Schwachstellen steht dann "Vulnerable" statt "Mitigation".
Aber auf so einem Rechner sollte man dann aus Sicherheitsgründen keine Webseiten mehr besuchen. Am besten den Webbrowser deinstallieren. Auf einem Rechner der nur für Videoencoding benutzt wird kann das sinnvoll sein.
Test Encode Comparison
(Handbrake 1.9.0; 5min37sec(8080frames),1080p ⇒ AV1, 10bit, crf35, preset 1, vorbis(stereo)+vorbis(5.1))
| PCsize RAM PSU | OS | mitigations=off (speed increase) | speed fps | wattage (estim., ±3) | time h | energy used Wh | fps/kWh higher=better ▾ | PCidle W | PCoff W |
i7-6700T 35W 14nm 4C<8T 2,8-3,6GHz | Mini 16GB 65W | MX Linux | ✔ (0%) | 0,86 | 56 | 2,60 | 146 | 5,89 | 5,6 | 0,8 |
|
i5-6500T 35W 14nm 4C 4T 2,5-3,1GHz | Mini 16GB 65W 2.5"-HDD | Win10 | | 0,50 | 35 | 4,52 | 158 | 3,16 | 11,5 | 0,8 |
i5-6500 65W 14nm 4C 4T 3,2-3,6GHz | Mini 16GB 95W | Win10 | | 0,58 | 52 | 3,90 | 203 | 2,86 | 11 | 0,6 |
i3-7100T 35W 14nm 2C<4T 3,4GHz | Mini 8GB 135W 2.5"-HDD | Lubuntu | ✔ (0,38%) | 0,43 | 32 | 5,25 | 168 | 2,56 | 6,5 | 0,6 |
| 5,27 | 169 | 2,54 |
i3-6100T 35W 14nm 2C<4T 3,2GHz | Mini 12GB 65W | Lubuntu | | 0,40 | 33 | 5,55 | 183 | 2,19 | 7,5 | 0,9 |
Ryzen 3 Pro 2200GE 35W 14nm 4C 4T 3,2-3,6GHz | Mini 32GB 65W | MX Linux | ✔ (-0,42%) | 0,47 | 46 | 4,82 | 222 | 2,12 | 12,5 | 0,6 |
| 4,80 | 221 | 2,13 |
i5-5200U 15W 14nm 2C<4T 2,2-2,7GHz | Notebook 8GB 65W | Lubuntu | ✔ (0,37%) | 0,28 | 22 | 8,05 | 177 | 1,58 | 7,6 (display on) | 0,2 (no battery) |
| 8,08 | 178 | 1,57 |
Athlon 200GE 35W 14nm 2C<4T 3,2GHz | Mini 8GB 120W | Win10 | | 0,31 | 40 | 7,37 | 295 | 1,05 | 13 | 1,1 |
Lubuntu | ✔ (-1,8%) | 7,28 | 291 | 1,07 | 12,5 |
| 7,15 | 286 | 1,08 |
i5-3470 77W 22nm 4C 4T 3,2-3,6GHz | SFF 16GB 240W 3.5"-HDD | Win10 | | 0,35 | 62 | 6,43 | 399 | 0,88 | 23,5 | 0,4 |
fps/kWh reflects most efficient use of energy AND time. Gives you a different ranking than "speed" AND a different ranking than "energy used".
VLC-Tips 1.2025
Rauschen hinzufügen
Moderne Codecs haben ein Riesenproblem: Banding-Artefakte. Also aus sanften Farbverläufen werden scharfe Farbränder, die in dunklen Szenen auch gerne mal entlang von Blöckchengrenzen "herumwabern".
Obwohl VLC einen "Bänderung entfernen"-Filter hat, ist der "Filmkörnung"-Filter besser darin, Banding-Artefakte zu entfernen. Darüber hinaus verbessert das Zusatzrauschen oft die subjektive Bildqualität. Beim Encoden wird nicht nur Rauschen entfernt, sondern das Bild wird quasi in mathematische Formeln umgewandelt, und beim Abspielen komplett neu "gemalt". Daher wirkt das Bild dann oft synthetisch - z.B. wirken Gesichter so als wären sie aus dem Wachsfigurenkabinett. Durch Hinzufügen von Rauschen (also Zufall) wirkt das Bild natürlicher.
Also: "Werkzeuge"/"Effekte und Filter" - Reiter "Videoeffekte" - (1. Reiter "Genauigkeit") - Filmkörnung.
Falls die neue Einstellung permanent sein soll, auf "Speichern" klicken. Sonst nur "Schließen".
SDR vs. HDR
SDR- (Standard Dynamic Range) Videos haben eine kleinere Helligkeits-Bandbreite. Bei HDR (High Dynamic Range) sind dunkle Szenen dunkler, und beim Schnitt auf eine Tageslicht-Szene müssen sich die Augen erstmal an die hohe Helligkeit umgewöhnen — wie im echten Leben.
Beim Ton gibt's das Prinzip schon länger: Dialog und Explosion haben nicht mehr ein- und dieselbe Lautstärke.
Auf einem SDR-Bildschirm sieht SDR besser aus als HDR, obwohl VLC die Anpassung automatisch vornimmt. Das liegt vermutlich daran, daß die automatische Umrechnung "Sicherheitsränder" übrig lässt um Übersteuerungen zu vermeiden; während die echte SDR-Variante von der Kamera selber erzeugt wurde und über die von Szene zu Szene wechselnden Kameraeinstellungen informiert ist.
Untertitel-Problem bei HDR
VLC hat seit Ewigkeiten einen Fehler: Beim Abspielen von HDR-Videos sind bestimmte Untertitel-Formate schwarz statt weiß. Lösung: Untertitel in's SRT-Format konvertieren.
Problem: VLC startet nicht mehr
Wahrscheinlich ist noch ein VLC-Task aktiv.
- Task-Manager öffnen (Strg-Alt-Entf (Tasten zusammen drücken), dann Task-Manager auswählen. Oder Win-X, dann Task-Manager auswählen.)
- "Mehr Details" anwählen, dann im 1. Reiter ("Prozesse") nach unten scrollen und nach dem VLC-Prozess suchen.
- Den VLC-Prozess anwählen, mit der rechten Maustaste das Kontextmenü öffnen, "Task beenden" anklicken.
Problem: VLC instabil, Bild hängt
Mögliche Ursache: Treiber für Hardware-Decoding. Lösung: Hardwarebeschleunigung ausschalten (Werkzeuge, Einstellungen, Eingang/Codecs, Hardware-beschleunigte Dekodierung: Deaktivieren).
Hybrid-Tips 7.2024
Was ist Hybrid?
Handbrake und Hybrid sind GUIs (graphische Benutzeroberflächen) für FFmpeg. Aber während Handbrake sich an Anfänger richtet, bietet Hybrid viel mehr Einstellmöglichkeiten und zusätzliche AV1-Encoder. So kann z.B. aomenc in 12bit-Farbgenauigkeit enkodieren, während Handbrake mit dem SVT-AV1-Encoder nur 10bit kann.
Was ist 12bit?
Für klassische Cumputergrafik gilt: Mehr Bits pro Farbe = mehr Farben, aber mehr Speicherplatzbedarf. Bei Video-Encodern gilt: je mehr interne Farb-Bits, desto mehr Rechenleistungsbedarf (auch beim Abspielen) — die Größe der Zieldatei bleibt jedoch gleich.
Also: Je mehr Bits, desto effizienter die Videokodierung (bei gleicher Kompression näher am Original).
Warum 12bit?
Bei 10bit sind die Banding-Artefakte stärker ausgeprägt als Kanten-Artefakte. D.h., die Banding-Artefakte verhindern daß die Kompressionsrate weiter hochgeschraubt werden kann obwohl von der Kantenschärfe her gesehen noch genug Redundanz zum "Hochschrauben" der Kompressionsrate vorhanden wäre.
In 12bit sind die Artefakt-Typen auf gleicherem Niveau.
Problem: falscher Farbwertebereich
Viele Videos sind in TV-Range: Die 8bit-Helligkeitswerte nutzen nur den Bereich von 16-235. Dieser Standard stammt aus der Zeit der analogen Fernsehtechnik.
Technisch besser ist eigentlich PC-Range oder full range, also 0-255.
Aomenc enkodiert in full range, aber das AV1-Format hat offenbar keine Kennzeichnung dafür. Deswegen geht z.B. VLC beim Abspielen fälschlicherweise davon aus, daß TV-Range vorliegt. Resultat: Die dunklen Farbtöne sind schwarz, die hellen Farbtöne sind weiß.
Lösung: Entspr. Konverter in Hybrid aktivieren. Z.B. Filtering/Vapoursynth/Color/Basic: Levels(In: 0/255; Out: 16/235).
aomenc und CPU-Auslastung
Je mehr Teile des Videos gleichzeitig enkodiert werden, desto mehr (grafische und zeitliche) Zusammenhänge im Video bleiben unberücksichtigt - also desto schlechter wird die Kodierungs-Effizienz. Für das beste Resultat sollten also alle Multithreading-Optimierungen ausgeschaltet werden. Dann nutzt der Encoder nur noch 1 Prozessorkern. Falls z.B. ein 4-Kerner komplett ausgenutzt werden soll, müssen dann 4 Encodes gleichzeitig laufen.
(Gegenbeispiel Handbrake: Viel schneller als Hybrid, für die Allermeisten die bessere Wahl)
aomenc-Settings
Link: https://www.reddit.com/r/AV1/comments/t59j32/encoder_tuning_part_4_a_2nd_generation_guide_to/