gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:38:24 26 4
gpt4 key购买 nike

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

我正在关注 these instructions测试它。不幸的是,当我连接主机并运行应用程序时,出现以下错误:

v4l2_core: (jpeg decoder) error while decoding frame

我想测试 application that I'm using在我的主机上。这有几个问题。

在我使用的 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 将它绑定(bind)到 UVC 小工具? ?
  2. 假设我们想出了第 1 步。在我执行 uvc-gadget -u /dev/video<uvc video node #> -v /dev/video<vivid video node #> 之后,我将如何从小工具读取数据?

感谢任何帮助。

最佳答案

When I execute it [modprobe g_webcam] on my host, 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, nothing happens

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

So how do I create a video device on linux and bind it to UVC gadget with g_webcam?

你的 modprobe g_webcam命令创建了输出视频设备。当你运行 uvc-gadget它知道绑定(bind)到 /dev/video0从源代码中可以看出。

After I execute uvc-gadget -u /dev/video<uvc video node #> -v /dev/video<vivid video node #>, how would I read data from the gadget?

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

Unfortunately when I connect my host and run the application, I get the following error: v4l2_core: (jpeg decoder) error while decoding frame

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

关于linux - 创建 uvc 设备并测试应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45806381/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com