使用 cuda 進行高品質壓縮

使用 cuda 進行高品質壓縮

我想轉換

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

轉換為使用 cuda 來加速轉換過程的指令。

我試過

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

但它不起作用。

我試過

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

它有效,但它將視訊的位元率設定為 6M。

我希望 ffmpeg 根據最多 63317762 位元組的內容來猜測它。就像質量和比特率之間的良好權衡,但低於 63317762 字節,但也沒有可見的區塊構建和模糊。

還有cuda。

哪個命令可以做到這一點?

答案1

FFMpeg 不進行速率控制。每個編解碼器實作都有自己的速率控制。 Ffmpeg 只是將參數從命令列傳遞到您選擇的編碼器。 x264 支援上限 CRF 模式。 Nvenc 沒有。您必須選擇位元率或恆定速率因子。

相關內容