You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FFmpeg h264_nvenc报错:无法获取预设配置(无效版本15)求助

解决FFmpeg h264_nvenc "Cannot get the preset configuration: invalid version (15)" 错误

这个报错我之前处理过好几次,核心原因是你的FFmpeg版本、NV Headers、CUDA Toolkit和NVIDIA驱动之间存在兼容性不匹配——尤其是旧版FFmpeg无法识别新版NV Headers里的预设版本编号。下面是针对性的解决步骤:

1. 先确认驱动与CUDA的兼容性

首先得保证你的NVIDIA驱动版本能支撑当前使用的CUDA版本:

  • 打开终端执行 nvidia-smi 查看当前驱动版本号
  • 对照NVIDIA的CUDA-驱动对应要求(比如CUDA 11.x需要驱动≥450.80.02,CUDA 12.x需要≥525.60.13),如果驱动版本太低,直接升级到对应CUDA要求的稳定版驱动

2. 匹配FFmpeg与NV Headers的版本

你的FFmpeg是2018年的开发版本(N-90807-g00099ef0d0),但用了最新的NV Headers,这就会出现「新头文件的预设定义旧FFmpeg不认识」的问题:

  • 要么降级NV Headers到和你FFmpeg版本同期的稳定版(比如找2018年底发布的NV Headers版本)
  • 要么升级FFmpeg到最新稳定版,新版FFmpeg已经适配了更新的NV Headers和CUDA特性,兼容性会好很多

3. 调整FFmpeg编译参数

如果不想动版本,可以尝试在编译时明确指定兼容的NV Headers路径:

./configure --enable-libnpp --enable-cuda --enable-cuvid --enable-nvenc \
--extra-cflags=-I/usr/local/cuda/include \
--extra-ldflags=-L/usr/local/cuda/lib64 \
--enable-gpl --enable-libx264 --disable-x86asm \
--enable-nvenc-sdk-path=/path/to/compatible/nv-headers

确保--enable-nvenc-sdk-path指向的是和你FFmpeg版本匹配的NV Headers目录,而不是最新的那个

4. 用基础命令排除参数问题

先排除是你编码命令里的预设参数导致的问题,用最基础的NVENC命令测试:

ffmpeg -i input.mp4 -c:v h264_nvenc -preset fast output.mp4

如果这个命令能正常运行,那说明你原来的命令里用了旧FFmpeg不支持的预设名称(比如某些新版才有的preset),换成fast/medium这类通用预设即可


内容的提问来源于stack exchange,提问作者Netheme

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:46:17