Umrechnen von Filmen - welche Bauteile sind wichtig ?

ich wollte dich nicht anpampen. Sorry wenn das so rüber kommt. Ich habe nur nach vielen Postings hier im Forum zu diesem Thema keine Lust mehr, jedesmal wieder zu lesen, das Hardware-Encoding so schlecht sei
DAS kann ich verstehen.

und mich jedesmal rechtfertigen zu müssen,
Aber nicht, warum du dich in Erklärungsnot siehst.

warum ich Hardware-Encoding empfehle.
Da sollte man stets nur die Sachlage für sich sprechen lassen. :)

Also nochmal: Wenn du interessiert bist mit ffmpeg, dann schreibe ich gerne mehr dazu.
Ich fürchte, ich bin schon zu lange raus aus dem Thema, hab daher nicht mehr so viel Detailwissen… Aber Versuch macht kluch… zumindest ein paar Encoder-Parameter können sicher nicht schaden :) Hat Handbrake auch die entsprechenden Code erhalten?
 
In dem Zusammenhang möchte ich mal ein Lob an meinen guten alten G4/450 von damals loswerden. Das hatte etliche Wochen gedauert, bis der alle 5 Staffeln Babylon5 durchgeackert hatte – without any downtime. Und dabei war der stets fluffig und agil. Ich konnte sogar KDEonMac parallel durchkompilieren und konnte entspannt meinen Kram machen. Was ein geiler Rechner. Und wie geil war den bitte SCSI. :)
 
Hat Handbrake auch die entsprechenden Code erhalten?

ja, codecs ja.

Aber das letzte Mal, als ich HandBrake gleaden habe, war die Geschwindigkeit deutlich schlechter als ffmpeg, was darauf hindeutet, dass die irgendwo im Code was anders machen. 1 Jahr vorher waren ffmpeg und HandBrake faktisch gleich schnell.

Zudem war bei meinem letzten Versuch mit Handbrake der constant quality Slider falsch programmiert. So wird bei umschalten von Software-Encoding (x265) auf Hardware-Encoding die Quality falsch, nämlich zu niedirg berechnet. Folge davon: Ein User der erst mit x265 codiert und dann nur den encoder umschaltet wird immer ein drastisch schlechteres Ergebnis haben. Aber eben nur wegen der fehlerhaften Umrechnung:

Handbrake macht (machte?) aus cq 20 bei x265 (was eine echt gute Qualität liefert) eine cq von 38 (0der wars 40), für hevc_videotoolbox. Was sehr schlecht ist. Korrekt wäre eher 60.

x265 läuft von 0 (sehr gut) bis 51 (grottenschlecht). xxxx_videotoolbox läuft von 0 (grottenschlecht) bis 100 (sehr gut).
 
  • Gefällt mir
Reaktionen: agrajag
Ich fürchte, ich bin schon zu lange raus aus dem Thema, hab daher nicht mehr so viel Detailwissen… Aber Versuch macht kluch… zumindest ein paar Encoder-Parameter können sicher nicht schaden :)

Hier die wichtigen Parameter:

-q int Das ist "quality scale". Laut Apple Doku ist bis 25 niedrig, bis 50 normal, bis 75 gut und bis 100 nahezu lossless. Ein sehr gutes Ergebnis liefert 60

-bf 1nutzt pyramid b-frames. Unbedingt verwenden. Immer.

-prio_speed 1 prioritize speed. Erhöht die enocder Geschwindigkeit deutlich, also richtig deutlich. Die Größe nimmt je nach Quellmaterial nur wenig zu, ab und an gar fast gar nicht.

-g int setz die GOP size. Standardmäßig ist auto aktiv. Wenn du das setzt, ist eine Größe von 10 mal fps zu empfehlen, also bei BluRays mit 24fps -g 240. Das ergibt ca. 3%-5% weniger Dateigröße

-vtag hvc1 unbedingt verwenden bei hevc/h265. Apple Geräte / Software erwartet das, besonders das AppleTV. Das standardmäßige hevc von ffmpeg kann zu Inkompatibilitäten besonders in mp4-Containern führen.

Also: Umkodieren einer BluRay, FullHD, croppen auf 1920x800, Audio passtrough:

Code:
ffmpeg -i input.mkv -c:v hevc_videotoolbox -bf 1 -vtag hvc1 -q:v 60 -prio_speed 1 -g 240 -vf crop=1920:800:0:140 -c:a copy output.mp4

Geschwindigkeit: mit prio_speed 1 bei obiger Befehlszeile auf einem M1 Mini rd. 420 fps, ohne prio_speed ca. 250 fps. Auf einem Mac Studio Max mit prio_speed 1 ca. 560 fps.

Eine DVD (also 720x576) ohne crop nach hevc zu codieren und Audio auf Dolby ProLogic II downmixen und in AAC codieren, läuft auf meinem mac Studio mit prio_speed 1 bei ca. 1020 fps. Der Studio wird auch nach Stunden nicht warm, geschweige denn der Lüfter dreht auf.

Edit:

Ach ja, nimm unbedingt eine native Apple-Silicon-Version von ffmpeg. Intel-binaries verwenden nicht alle hardware-encoder-Funktionen. Findest du keines, musst du ffmpeg selbst kompilieren. Natürlich auf einem M1. Ist aber recht einfach.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Difool, Bozol, Neeve und 2 andere
@lisanet: Danke für die Infos. An ein paar Sachen hab ich sogar noch eine schwache Erinnerung (die pyramid b-frames z.B.) Ich hab mir das gleich mal in meine MD-Notizen gepackt. :)

Beim nächsten Gang mit den Kiddies in die Bücherhalle werde ich mal eine DVD mitnehmen. (für BluRay hab ich kein Laufwerk)
 
Funktioniert das mittlweweile auf GPUs? Das letzte mal, was schon ein weilchen her ist, waren die Ergebnise aus der GPU immer merklich schlechter.
Natürlich muss die Software CUDA unterstützen. Der Unterschied mit und ohne CUDA ist aber signifikant.
Auf meinem Intel i7 und AMD Ryzen 7 werden bis zu 6 Movies gleichzeitig konvertiert (beides 8-Kerner).
Für einfachere Sachen kannst auch QuickSync nutzen - was Apple z.B. überhaupt nicht unterstützt.
 
Zurück
Oben Unten