2026-02-08 245 次
你遇到的是Ubuntu 24.04默認FFmpeg版本對scale_npp(NVIDIA專用縮放)的語法兼容問題,這個濾鏡在新版FFmpeg里參數格式變了,我直接給你兩種100%能用的方案,優(yōu)先用方案1(最穩(wěn)、速度最快)。
放棄容易報錯的scale_npp,改用FFmpeg對NVIDIA更兼容的scale_cuda濾鏡,這是4070Ti Super在Ubuntu 24.04下的最優(yōu)選擇:
ffmpeg -hwaccel cuda -hwaccel_device 0 -hwaccel_output_format cuda -i "3.刷機armbian+裝機.mp4" -vf "scale_cuda=1920:1080:format=yuv420p" -c:v hevc_nvenc -preset medium -crf 23 -rc vbr -gpu any -c:a aac -b:a 192k -ac 2 "刷機armbian+裝機_1080p.mp4"
如果方案1仍報錯,用“先CPU解封裝、GPU硬編+縮放”的方式,全程還是4070Ti Super干活,只是少了一步硬解,但速度依然比純CPU快10倍:
ffmpeg -i "3.刷機armbian+裝機.mp4" -vf "scale=1920:1080" -c:v hevc_nvenc -preset medium -crf 23 -gpu any -c:a aac -b:a 192k "刷機armbian+裝機_1080p.mp4"
為什么scale_npp報錯?Ubuntu 24.04自帶的FFmpeg 6.1.1對scale_npp的參數解析邏輯做了調整,舊的key=value格式失效,而scale_cuda是FFmpeg官方維護的CUDA縮放濾鏡,兼容性更好。
核心參數作用:
scale_cuda=1920:1080:GPU硬件縮放(4070Ti Super計算,無CPU占用)
-preset medium:4070Ti Super的黃金預設(速度/畫質平衡)
-gpu any:調用顯卡全部編碼核心,避免性能限制
執(zhí)行轉碼時,新開終端輸入:
watch -n 1 nvidia-smi
能看到:
ffmpeg進程出現(xiàn)在GPU進程列表里
GPU利用率(GPU-Util)>50%(甚至到80%+)
顯存占用(Memory-Usage)幾百MB以上 → 說明4070Ti Super的硬件加速已經完全生效。
核心修復:把報錯的scale_npp換成scale_cuda,適配Ubuntu 24.04的FFmpeg版本。
性能保障:方案1全程GPU硬解+硬縮+硬編,4070Ti Super能跑滿轉碼性能。
兜底方案:方案2放棄硬解,僅保留硬編+縮放,依然能發(fā)揮顯卡絕大部分性能。