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

argus/nvarguscamerasrc 远程显示报错

argus/nvarguscamerasrc(NVIDIA Jetson 平台的 CSI 摄像头采集驱动和 GStreamer 插件)确实依赖本地物理 X11 环境,在远程 X11 转发(如 ssh -X)、虚拟 X11(如 xvfb、xdummy)等环境下经常会出错,常见报错如下:

GST_ARGUS: Creating output stream
(Argus) Error BadParameter:  (propagating from src/eglstream/FrameConsumerImpl.cpp, function initialize(), line 93)
(Argus) Error BadParameter:  (propagating from src/eglstream/FrameConsumerImpl.cpp, function create(), line 44)
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadInitialize:318 Failed to create FrameConsumer
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadFunction:239 (propagating)
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, waitRunning:201 Invalid thread state 3
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, execute:849 (propagating)
[ WARN:0] global ./modules/videoio/src/cap_gstreamer.cpp (1100) open OpenCV | GStreamer warning: Cannot query video position: status=0, value=-1, duration=-1
cv2.error: OpenCV(4.5.4) ./modules/highgui/src/window_gtk.cpp:635: error: (-2:Unspecified error) Can't initialize GTK backend in function 'cvInitSystem'

原因分析

  • Argus 和 nvarguscamerasrc 需要直接访问本地 GPU 资源和物理显示设备,而远程 X11 或虚拟 X11 环境无法提供完整的硬件加速和显卡直通能力。
  • Jetson 的硬件加速显示(如 nveglglessink、nvoverlaysink)也依赖本地 X server 和物理显卡。

典型场景

  • 本地物理显示器:一切正常,硬件加速、摄像头采集和显示都没问题。
  • ssh -X/X11 forwarding:大概率出错,无法正常采集或显示。
  • xvfb/xdummy:虽然能启动 X server,但没有物理 GPU 支持,Argus/nvarguscamerasrc 相关功能不可用。

解决建议

  1. 建议在本地物理显示环境下运行摄像头采集和显示程序
  2. 如果必须远程操作,可以用 VNC(直连物理桌面)、NoMachine 等方案,但依然可能有兼容性问题。
  3. 只做数据采集不显示时,可以用 headless 方式采集并保存为文件,避免用到显示相关插件。
  4. Jetson 上做 AI 推理、图像处理时,建议本地开发调试,远程仅做数据传输和管理。

http://www.dtcms.com/a/278799.html

相关文章:

  • 项目一第一天
  • 纯数学专业VS应用数学专业:这两个哪个就业面更广?
  • C++后端面试八股文
  • Linux 基础命令详解:从入门到实践(1)
  • JAVA 并发 ThreadLocal
  • RestAssured(Java)使用详解
  • 19.数据增强技术
  • 管程! 解决互斥,同步问题的现代化手段(操作系统os)
  • Java行为型模式---模板方法模式
  • Imx6ull用网线与电脑连接
  • SpringBoot JAR 反编译替换文件
  • 【嵌入式汇编基础】-操作系统基础(三)
  • 【每日刷题】移动零
  • LabVIEW-Origin 船模数据处理系统
  • 【爬虫】Python实现爬取京东商品信息(超详细)
  • 期权和期货的区别主要是什么?
  • [论文阅读] 人工智能 | 用大型语言模型玩转多语言主观性检测:CheckThat! 2025赛事中的亮眼表现
  • Unity3D + VS2022连接雷电模拟器调试
  • 【PTA数据结构 | C语言版】字符串连接操作(不限长)
  • 分布式一致性协议
  • Android动画:属性动画以及实现点击图标缩放的动画效果
  • Relocations in generic ELF (EM: 40)
  • “国乙黑月光”指的是谁?
  • YOLOv11调参指南
  • Maven 依赖原则和依赖冲突
  • Docker入门指南(超详细)
  • Jetpack Compose 重组陷阱:一个“乌龙”带来的启示
  • yolo8+声纹识别(实时字幕)
  • 从“炼丹”到“流水线”——如何用Prompt Engineering把LLM微调成本打下来?
  • 前端缓存优化全景指南:从HTTP到应用层的性能加速实践