2017-03-16 237 views
2

使Linux设备(Raspberry Pi)的行为与另一台计算机的UVC设备一样需要什么?从本质上讲,我想使用ffmpeg的输出表现为另一台计算机的网络摄像头输入。将Linux作为USB UVC设备

回答

1

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

这实际上可以在没有定制内核的情况下在Pi Zero上完成。在你的config.txt这个OTG支持,重新启动设置dtoverlay=dwc2并运行后:

sudo modprobe g_webcam 
./uvc-gadget -d 

这是第一个步骤,让您的皮表现为一个摄像头通过流合成数据,你可以在Skype和FaceTime的测试出来,或其他摄像头观众。 Here是uvc-gadget用户空间程序的源代码及其通常推荐的补丁程序。

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

这部分可能是更多地参与。现有的uvc-gadget程序可以播放通过GStreamer捕获的网络摄像机录像,更多关于this post的讨论。对于任意输入到FFmpeg,您可能必须将您自己的输出插件代码与uvc-gadget集成。

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

0

你大致会需要一个USB OTG能够RPI,该RPI 3不能够说。 然后,您将需要一个模拟真实设备的UVC驱动程序的定制内核驱动程序,我不知道任何直接执行此操作的项目。

我能想到的最简单的方法是将流,而不是试图仿效UVC因为这是一个不小的壮举通过RTMP录制的图像。