Hochwertige Komprimierung mit cuda

Hochwertige Komprimierung mit cuda

Ich möchte konvertieren

ffmpeg -i input.mp4 -maxrate 63317762 -bufsize 63317762 -map_metadata -1 -vcodec libx265 -c:a copy -crf 28 -color_range 2 output.mp4

in einen Befehl, der cuda verwendet, um den Konvertierungsprozess zu beschleunigen.

Ich habe es versucht

ffmpeg.exe -hwaccel cuvid -i input.mp4 -pix_fmt p010le -c:v hevc_nvenc -preset slow -rc vbr_hq -b:v 6M -maxrate:v 63317762 -bufsize:v 63317762 -c:a aac output.mp4

Und es hat nicht funktioniert.

Ich habe es versucht

ffmpeg.exe -hwaccel cuvid -i input.mp4 -c:v hevc_nvenc -preset slow -rc vbr_hq -b:v 6M -maxrate:v 63317762 -bufsize:v 63317762 -c:a aac output.mp4

und es hat funktioniert, allerdings wurde die Bitrate für Video auf 6 M eingestellt.

Ich möchte, dass ffmpeg es anhand von Inhalten bis zu 63317762 Bytes errät. Wie ein guter Kompromiss zwischen Qualität und Bitrate, aber unter 63317762 Bytes, aber auch ohne sichtbare Blockbildung und Unschärfe.

Und mit Cuda.

Welcher Befehl macht das?

Antwort1

FFMpeg führt keine Ratenkontrolle durch. Jede Codec-Implementierung hat ihre eigene Ratenkontrolle. Ffmpeg übergibt einfach die Parameter von der Befehlszeile an den von Ihnen gewählten Encoder. x264 unterstützt den begrenzten CRF-Modus. Nvenc nicht. Sie müssen die Bitrate oder den konstanten Ratenfaktor auswählen.

verwandte Informationen