5

使 Linux 设备 (Raspberry Pi) 的行为类似于另一台计算机的 UVC 设备需要什么?本质上,我想使用 ffmpeg 的输出来表现得像另一台计算机的网络摄像头输入。

4

2 回答 2

3

使 Linux 设备 (Raspberry Pi) 的行为类似于另一台计算机的 UVC 设备需要什么?

这实际上可以在没有自定义内核的 Pi Zero 上完成。在dtoverlay=dwc2config.txt 中设置 OTG 支持后,重新启动并运行:

sudo modprobe g_webcam
./uvc-gadget -d

这些是通过流式传输合成数据使您的 Pi 充当网络摄像头的第一步,您可以在 Skype、FaceTime 或其他网络摄像头查看器中进行测试。是 uvc-gadget 用户空间程序的源代码及其常用的推荐补丁。

本质上,我想使用 ffmpeg 的输出来表现得像另一台计算机的网络摄像头输入。

这部分可能涉及更多。现有的 uvc-gadget 程序据说可以播放通过 GStreamer 捕获的网络摄像头记录,本文对此进行了更多讨论。对于 FFmpeg 的任意输入,您可能必须将您自己的输出插件代码与 uvc-gadget 集成。

如果您使用压缩:请注意 FFmpeg 已经可以以各种容器格式输出 mjpeg,但该数据仍必须转换为 UVC 有效负载 mjpeg 格式。

于 2017-11-05T06:04:45.987 回答
-1

您将大致需要一个支持 USB OTG 的 RPi,而 RPi 3 则不具备此能力。然后您将需要一个自定义内核驱动程序来模拟真实设备的 UVC 驱动程序,我不知道有任何项目直接执行此操作。

我能想到的最简单的方法是通过 RTMP 流式传输录制的图像,而不是尝试模拟 UVC,因为这不是一个小壮举。

于 2017-06-08T14:48:43.190 回答