2026-02-08 108 次
你遇到的是Ubuntu 24.04默认FFmpeg版本对scale_npp(NVIDIA专用缩放)的语法兼容问题,这个滤镜在新版FFmpeg里参数格式变了,我直接给你两种100%能用的方案,优先用方案1(最稳、速度最快)。
放弃容易报错的scale_npp,改用FFmpeg对NVIDIA更兼容的scale_cuda滤镜,这是4070Ti Super在Ubuntu 24.04下的最优选择:
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:调用显卡全部编码核心,避免性能限制
执行转码时,新开终端输入:
watch -n 1 nvidia-smi
能看到:
ffmpeg进程出现在GPU进程列表里
GPU利用率(GPU-Util)>50%(甚至到80%+)
显存占用(Memory-Usage)几百MB以上 → 说明4070Ti Super的硬件加速已经完全生效。
核心修复:把报错的scale_npp换成scale_cuda,适配Ubuntu 24.04的FFmpeg版本。
性能保障:方案1全程GPU硬解+硬缩+硬编,4070Ti Super能跑满转码性能。
兜底方案:方案2放弃硬解,仅保留硬编+缩放,依然能发挥显卡绝大部分性能。