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