我想使用 STM32F4 微控制器接收视频流,然后使用 rtsp 协议通过以太网进行流式传输。
我需要你们告诉我哪种电路最适合与 STM32 接口。
我可以通过 USB OTG 将网络摄像头与 STM32 连接吗? (我对usb协议有基本的想法,但问题是我的网络摄像头不受linux支持,所以没有驱动程序的代码源,所以没有端点引用...)
是否可以定义端点和特定于供应商的命令,通过调试 USB 流量来触发视频批量传输(流式传输)?
或者,您会推荐另一种提供视频流且易于与 STM32 连接的电路吗?
我知道这是一件疯狂的事情,但我想问这有多难?
让我知道你对这个项目的看法?
PS: 项目的rtsp部分不是本主题的目的。
提前致谢。
您无法轻松地在 STM32F4 上运行 Linux,在其上运行 USB 堆栈以及编写自己的网络摄像头驱动程序也不是小事。我建议使用某种嵌入式摄像头,或者升级到可以支持在其上运行的完整 Linux 发行版的处理器。
正如 stbtrax 提到的,STM32F4 处理器无法真正处理视频处理,因此最好迁移到嵌入式操作系统,例如 Odroid。
另一种选择是使用 DCMI 将相机直接连接到 STM32F4,然后使用 UVC 通过 USB 传输图像,就像这个人所做的那样。您的分辨率将受到限制。 https://github.com/iliasam/STM32F4_UVC_Camera
一些 RTOS 具有主机端 USB 堆栈,例如 Zephyr,但截至今天(2023 年),不支持 UVC(USB 网络摄像头协议)。
使用原始相机传感器来代替 USB 这种复杂的协议怎么样?
STM32F405 有一个用于摄像头的并行端口、一个以太网接口以及用于传输数据的 DMA。
还有其他具有类似功能的 MCU,您可以将其用于此目的,并且这可能会随着时间的推移而发展。