ESD Asked: 2023-10-05 08:55:10 +0800 CST2023-10-05 08:55:10 +0800 CST 2023-10-05 08:55:10 +0800 CST 通过 USB 传输 MP4 文件 772 我有一个嵌入式系统,运行使用 Yocto 构建的自定义发行版。稍后,我将在系统中插入一个 USB 摄像头,但我想使用 .mp4 文件作为“虚拟”摄像头。 我的目标是通过 USB 将视频文件作为 USB UVC 设备传输到计算机,以便计算机将我的嵌入式 Linux 系统视为 USB 网络摄像头: 我找不到任何有关该主题的文档,而且我是一名裸机 C 开发人员,正在涉足嵌入式 Linux 开发。我想知道要寻找什么以及实现这一目标的更广泛步骤。(包括通过 Yocto 对发行版进行的修改。) 谢谢。 usb 1 个回答 Voted Best Answer Marcus Müller 2023-10-05T09:22:27+08:002023-10-05T09:22:27+08:00 从哪儿开始? 当然是一个非常广泛的问题。所以,我只能给你一个非常粗略的概述: 鉴于您的 SoC 实际上具有硬件,Linux 可以控制 USB 外设充当设备(而不是主机)。在 Linux 环境中,这称为USB 小工具。 随着技术底层功能的解决,我们还必须转向提供逻辑功能,即 UVC 小工具。幸运的是,Linux 内核恰恰带来了这一点。 有了这个,您需要考虑数据方面。我不认为 mp4 是可以通过 UVC 直接传输的东西。因此,您必须先进行转码。 那么,问题就变成了如何将转码后的数据从 Userland 获取到内核中。相对较新的 v4l2-loopback 驱动程序可能会有所帮助。
当然是一个非常广泛的问题。所以,我只能给你一个非常粗略的概述:
鉴于您的 SoC 实际上具有硬件,Linux 可以控制 USB 外设充当设备(而不是主机)。在 Linux 环境中,这称为USB 小工具。
随着技术底层功能的解决,我们还必须转向提供逻辑功能,即 UVC 小工具。幸运的是,Linux 内核恰恰带来了这一点。
有了这个,您需要考虑数据方面。我不认为 mp4 是可以通过 UVC 直接传输的东西。因此,您必须先进行转码。
那么,问题就变成了如何将转码后的数据从 Userland 获取到内核中。相对较新的 v4l2-loopback 驱动程序可能会有所帮助。