首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建uvc设备并测试应用程序

创建uvc设备并测试应用程序
EN

Stack Overflow用户
提问于 2017-08-21 22:26:49
回答 1查看 2.3K关注 1票数 1

我正在使用一个安装了Linux的板。最终,它将被用作USB摄像头。我构建了内核并在其中添加了一个UVC驱动程序。

我正在跟踪这些指示来测试它。不幸的是,当我连接我的主机并运行应用程序时,我得到以下错误:

v4l2_core: (jpeg decoder) error while decoding frame

我想在我的主机上测试我正在使用的应用程序。这有几个问题。

在我使用的linux板上,当我执行modrobe g_webcam时,/dev/dev/video0中出现了一个新的视频设备。当我在我的主机Linux ubuntu 4.10.0-32-generic #36~16.04.1-Ubuntu SMP Wed Aug 9 09:19:02 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux上执行它时,什么都不会发生。我到处搜索,但我无法找到为什么会发生这种情况的答案。

  1. 那么,如何在linux上创建一个视频设备,并将其与g_webcam绑定到UVC小工具上呢?
  2. 假设我们知道了第一步,在我执行uvc-gadget -u /dev/video<uvc video node #> -v /dev/video<vivid video node #>之后,我将如何从这个小工具读取数据?

任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

发布于 2017-10-19 18:45:35

当我在我的主机Linux ubuntu 4.10.0-32-generic #36~16.04.1-Ubuntu SMP Wed Aug 9 09:19:02 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux上执行它时,什么都不会发生。

这是意料之中的。您的x86_64主机可能没有OTG,因此无法在其上启用一个小工具。您可以在主机上检查dmesg以确认这一点,但无论如何,您不应该在主机上运行modprobe g_webcam

那么,如何在linux上创建一个视频设备,并将其与g_webcam绑定到UVC小工具上呢?

您的modprobe g_webcam命令创建了输出视频设备。运行uvc-gadget时,它知道如何绑定到/dev/video0,从源代码中可以看出这一点。

执行uvc-gadget -u /dev/video<uvc video node #> -v /dev/video<vivid video node #>后,如何从小工具中读取数据?

在主机上,首先确认/dev/videoX正确枚举(运行dmesg)。接下来,使用UVC摄像机查看器,例如guvcview:sudo apt install guvcview

不幸的是,当我连接我的主机并运行应用程序时,我得到了以下错误:v4l2_core: (jpeg decoder) error while decoding frame

在设备上,而不是在主机上,您是否收到了该错误?我并没有使用生动的自己,但不幸的是,UVC在两端都有很多问题。我建议您首先使用合成数据(./uvc-gadget -d) (而不是生动的)以及未压缩的YUYV (而不是JPEG (-f 0) )来隔离问题。您可以提前进行许多调试步骤,但这至少可以将您带到一个起点,在这里,主机可以看到图像流。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45806381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档