通过 USB 传输 MP4 文件

通过 USB 传输 MP4 文件

我有一个嵌入式系统,运行使用 Yocto 构建的自定义发行版。稍后,我将在系统中插入一个 USB 摄像头,但我想使用 .mp4 文件作为“虚拟”摄像头。

我的目标是通过 USB 将视频文件作为 USB UVC 设备传输到计算机,以便计算机将我的嵌入式 Linux 系统视为 USB 网络摄像头:

在此输入图像描述

我找不到任何有关该主题的文档,而且我是一名裸机 C 开发人员,正在涉足嵌入式 Linux 开发。我想知道要寻找什么以及实现这一目标的更广泛步骤。 (包括通过 Yocto 对发行版进行的修改。)

谢谢。

答案1

从哪儿开始?

当然是一个非常广泛的问题。所以,我只能给你一个非常粗略的概述:

鉴于您的 SoC 实际上具有硬件,Linux 可以控制 USB 外设充当设备(而不是主机)。在 Linux 环境中,这称为USB小工具

随着技术底层功能的解决,我们还必须转向提供逻辑功能,即 UVC 小工具。幸运的是,Linux 内核正是带来了这一点

有了这个,您需要考虑数据方面。我不认为 mp4 是可以通过 UVC 直接传输的东西。因此,您必须先进行转码。

那么,问题就变成了如何将转码后的数据从 Userland 获取到内核中。相对较新的 v4l2-loopback 驱动程序可能会有所帮助。

相关内容