当前位置: 首页 > news >正文

cuda 配置未使用问题排查

cuda 配置未使用问题排查

CUDA 检查

确认 NVDEC 支持:在部署机运行 ffmpeg -decoders | grep -i nvdec 或 ./scripts/check_nvdec_support.sh。没有任何 NVDEC 编码器就说明 FFmpeg 没编译进 CUDA/NVDEC,Light 只能退回 CPU。

配置启用:在 /etc/light/light.ini 的 [hardware] 段把 hw_accel_enabled = true,hw_accel_device 为空或填 0/cuda (line 0),然后重启(systemd/PM2)。未设置就不会尝试 GPU。

查看日志:journalctl -u light -f 或 PM2 日志中搜索:

成功时会有 [Stream …] Initialized CUDA hwdevice...。
无 CUDA 时会出现 hw_accel_enabled=true but this build of FFmpeg lacks CUDA/NVDEC support。
初始化失败会有具体错误(Failed to create CUDA hwdevice: ...),按提示检查驱动/权限。
确认 FFmpeg/驱动:nvidia-smi 看驱动是否加载,Light 使用的 FFmpeg 库路径是否指向包含 CUDA 的版本(LD_LIBRARY_PATH/FFMPEG_DIR 设置正确)。

运行态验证:可用 nvidia-smi 观察进程是否占用 GPU,或在日志里看每个 stream 是否记录 NVDEC hardware decode requested/active。

逐条排查(FFmpeg 编译选项 → 配置开关 → 驱动 → 日志诊断)即可找出 CUDA 未启用的原因。

Light 使用的 FFmpeg 库路径是否指向包含 CUDA 的版本(LD_LIBRARY_PATH/FFMPEG_DIR 设置正确)。 怎么看

确认运行时链接的 FFmpeg 库:在部署机运行:

ldd /usr/local/bin/light | grep -E "avcodec|avformat|avutil|swscale"
看输出里的路径是否指向你编译的带 CUDA/NVDEC 的 FFmpeg(比如 /usr/local/ffmpeg-cuda/lib/libavcodec.so);如果显示的是系统默认 /usr/lib/x86_64-linux-gnu/libavcodec.so,就代表还在用不带 CUDA 的版本。

如果你使用了自定义 FFmpeg 路径,确保在运行 Light 的进程前设置 LD_LIBRARY_PATH=/path/to/ffmpeg/lib:$LD_LIBRARY_PATH,或在 systemd/PM2 的环境配置里加上这项。CMake 构建时也要指定 FFMPEG_DIR,可以在构建目录里 grep FFMPEG 确认 FFMPEG_INCLUDE_DIRS/FFMPEG_LIBRARIES 指向正确目录。

运行 env | grep LD_LIBRARY_PATH / env | grep FFMPEG 查看当前进程环境变量。如果 light 是由 systemd 启动,unit 文件里已经有 Environment="LD_LIBRARY_PATH=...";若你用 PM2,则在启动命令前设置 LD_LIBRARY_PATH,比如:

LD_LIBRARY_PATH=/opt/ffmpeg-cuda/lib:$LD_LIBRARY_PATH pm2 start /usr/local/bin/light ...
只要 ldd 结果指向你带 CUDA 的库,Light 就会真正加载那套 FFmpeg。若还是系统默认库,就需要调整环境变量或把自定义库安装到系统标准路径。

http://www.jsqmd.com/news/99120/

相关文章:

  • Java数组的初始化与实例化:从概念到实战,拆解核心逻辑与避坑指南
  • 10 个课堂汇报 AI 工具,本科生降AI率推荐
  • 【AI应用场景】ChatGPT医疗应用全解析:从潜力到风险,程序员必学的大模型实践指南!
  • FLUX.1-dev-Controlnet-Union模型对比解析
  • Kotaemon:开源RAG文档问答工具深度解析
  • WSL2下本地部署Langchain-Chatchat指南
  • 使用华为云Flexus X实例部署LobeChat
  • 10 个专科生课堂汇报工具,降AI率AIGC查重推荐
  • 基于springboot + vue 12306购票管理系统(源码+数据库+文档)
  • 防火墙实验 防火墙综合实验
  • USB设备厂商与产品ID大全(2017版)
  • 雷达抗干扰黑科技!用CNN破解DRFM虚假目标, Johns Hopkins团队新方案来了
  • 高校宿舍管理|基于springboot + vue高校宿舍管理系统(源码+数据库+文档)
  • 免费斯诺克手游来袭,这 3 大亮点让你玩到停不下来!
  • 界面控件DevExpress JS ASP.NET Core v25.1 - 全新的Stepper组件
  • 海洋微生物显微图像分类与检测:Yolo13-Seg-Faster模型实现14种物种自动识别
  • Dify智能体平台融合GPT-SoVITS打造拟人客服系统
  • 通过图片获取商品信息,item_search_img调用指南
  • TensorFlow-GPU环境配置全流程指南
  • 为什么哈希函数能快速定位元素位置?从案例、原理到应用
  • 2025年12月成都全屋定制品牌最新推荐 - 朴素的承诺
  • YOLO-V5快速上手指南:从环境搭建到检测
  • 收藏必读!大模型行业应用全攻略:从通用到垂直的技术落地指南
  • Yolo-v5安装与检测框缺失问题解决
  • Excalidraw拖拽与缩放技术深度解析
  • 巴菲特的现金管理策略:在低利率环境中的调整
  • Ubuntu22.04部署VLLM集成Qwen3系列模型并接入Dify
  • 实测3款论文降ai神器,手动+工具一键搞定降AIGC率!
  • GPT-SoVITS模型架构与核心模块解析
  • animation loading