我想轉換
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 沒有。您必須選擇位元率或恆定速率因子。