Handbremse verwendet den x264-Encoder für die Videokonvertierung. Es gibt eine Website mit einer Übersicht aller x264-Optionen und ihrer FFmpeg-Gegenstücke . Diese sind jedoch etwas veraltet und einige dieser Optionen funktionieren nicht mehr oder wurden möglicherweise umbenannt. Sie sollten die x264-Profile für die meisten Detailoptionen verwenden - aber wir werden es schaffen.
Viele der grundlegenden Handbremsoptionen (z. B. Bildrate) sind nicht x264-spezifisch und über die FFmpeg-Online-Dokumentation verteilt .
Bevor wir beginnen, überprüfen Sie bitte, ob Sie eine aktuelle FFmpeg-Version verwenden. Ihre Download-Site verfügt über statische Builds für alle wichtigen Betriebssysteme.
Lass uns gehen:
--input "d:\input.mpg" --output "d:\output.mp4"
Die FFmpeg-Syntax lautet ffmpeg -i input.mpg … d:\output.mp4.
--rate 29.97
Geben Sie die Videobildrate mit an -r 29.97. (Handbremse stellt --cfrnur eine konstante Bildrate ein. Wird hier nicht benötigt).
--arate 44.1
Stellen Sie die Audio-Abtastrate mit -ar 44100(in Hz) ein.
--format mp4
Wird nicht benötigt, da FFmpeg weiß, dass Sie MP4 möchten.
--width 1920 --height 1080 --custom-anamorphic --display-width 1920 --keep-display-aspect --modulus 8 --crop 0:0:0:0
Dies macht nichts anderes, als die Größe auf 1920 × 1080 einzustellen. Tun Sie dies in FFmpeg mit -s:v 1920x1080oder wenn Sie die Filter verwenden möchten -filter:v "scale=1920:1080".
--encoder x264 --vb 5200
Stellen Sie den Encoder mit -c:v libx264und die Bitrate auf konstant mit -b:v 5200K. Beachten Sie, dass wir bei den Qualitätseinstellungen noch nicht da sind.
--aencoder faac --ab 128 --mixdown stereo
Ähnlich wie oben, mit -c:a libfaac -b:a 128K -ac 2. Beachten Sie, dass FAAC in FFmpeg nicht mehr unterstützt wird. Verwenden Sie stattdessen den integrierten FFmpeg-Encoder mit -c:a aac -b:a 128K.
-x bitrate=5200:vbv-bufsize=5200:vbv-maxrate=5200
Dies setzt den Codierungsmodus auf VBV, das auf ein Streaming-Szenario anstatt nur auf eine konstante Bitrate oder konstante Qualität abzielt. Konstante Qualität wird auch als CRF bezeichnet , die Standardeinstellung für x264 - in Handbrake als „Rate Factor“ bezeichnet. Während CRF normalerweise die beste Codierungsqualität bietet, erhalten Sie im VBV-Modus eine Datei, die sich besser für das Online-Streaming oder für bestimmte Geräte mit eingeschränkten Funktionen eignet.
Verwenden Sie zum Einstellen von VBV die Optionen -maxrate 5200Kund -bufsize 5200Kin ffmpeg.
Verwenden Sie -crf 23in ffmpeg, um CRF festzulegen.
level=42
Verwenden Sie -level 42. Dies ist die H.264-Stufe .
bframes=2:min-keyint=60:keyint=60:ref=4
Stellen Sie die Anzahl der B-Frames mit ein -bf 2. Das minimale Keyframe-Intervall wird mit -keyint_min 60und das maximale Intervall mit festgelegt -g 60. Die Anzahl der Referenzbilder wird mit eingestellt -refs 4.
me=umh:merange=64:subme=7:8x8dct:cabac=1
Dies sind Optionen, mit denen Sie in ffmpeg zusätzlich festlegen können -x264-params me=umh:merange=64:subme=7:8x8dct:cabac=1- wie bei jeder anderen x264-Encodereinstellung, die nicht direkt den ffmpeg-Optionen zugeordnet ist.
Hier ist die "TL; DR" -Version, wenn Sie faul sind, sich nicht um die Details kümmern oder wenn die Dinge nicht funktionieren: Verwenden Sie -preset:v medium(oder lassen Sie sie weg, da die mittlere Voreinstellung die Standardeinstellung ist). Die x264-Voreinstellungen wählen eine Reihe von Optionen aus, bei denen die Codierungsgeschwindigkeit gegen die Komprimierungseffizienz ausgetauscht wird. Sie sind bequem aus dem Namen ultrafast, superfast, veryfast, faster, fast, mediumzu slow, slowerund veryslow. Wählen Sie, mit was Sie sich wohl fühlen.
Um es zusammenzufassen, die lange Version:
ffmpeg -i input.mpg -c:v libx264 -r 29.97 -s:v 1920x1080 -b:v 5200K -maxrate 5200K -bufsize 5200K -level 42 -bf 2 -keyint_min 60 -g 60 -refs 4 -x264-params me=umh:merange=64:subme=7:8x8dct:cabac=1 -c:a aac -b:a 128K -ar 44100 d:\output.mp4
Oder die kurze, die ich verwenden würde (mit entfernter VBV-Codierung und einigen entfernten Detailoptionen):
ffmpeg -i input.mpg -c:v libx264 -r 29.97 -s:v 1920x1080 -b:v 5200K -maxrate 5200K -bufsize 5200K -c:a aac -b:a 128K -ar 44100 d:\output.mp4
Wenn Sie für eine Allzweckkonvertierung zu einer Codierung mit konstanter Qualität wechseln, verwenden Sie diese Option und ändern Sie den -crfParameter von 18 auf 28, wobei niedriger eine bessere Qualität bedeutet und 23 Standard ist:
ffmpeg -i input.mpg -c:v libx264 -r 29.97 -s:v 1920x1080 -crf 23 -c:a aac -b:a 128K -ar 44100 d:\output.mp4