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 --cfr
nur 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 1920x1080
oder wenn Sie die Filter verwenden möchten -filter:v "scale=1920:1080"
.
--encoder x264 --vb 5200
Stellen Sie den Encoder mit -c:v libx264
und 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 5200K
und -bufsize 5200K
in ffmpeg.
Verwenden Sie -crf 23
in 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 60
und 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
, medium
zu slow
, slower
und 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 -crf
Parameter 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