【发布时间】:2018-05-21 21:46:26
【问题描述】:
我正在使用使用 Buildroot 为 SoC Allwinner A20 构建的定制 Linux。这个 SoC 有 4 个我需要使用的模拟视频输入。问题是这个视频输入没有合适的驱动程序,所以我正在修复我能够通过互联网找到的单个驱动程序。这是此设备的 V4L2 驱动程序。
此设备可以同时从多个视频输入中捕获视频,并将它们组合成一个图像,将图像分成 2 或 4 个部分,在不同的部分显示来自每个摄像头的视频。
但是,驱动程序非常基础,还没有准备好配置它。它仅从视频输入#1 捕获。我想要做的是修改这个驱动程序,以便它允许配置您不能启用多少输入(1、2 或 4 个输入)以及哪些输入(例如:启用输入 #2 和 #4 并将它们组合成一个视频分成两部分)。
我认为的第一件事是使用 VIDIOC_S_INPUT ioctl 执行此操作,因为这是它应该做的:从具有多个输入的设备中选择要使用的输入。但是,如果我只需要选择 4 个输入中的一个,这会很好用,但我不知道如何使用它来启用 2 个或 4 个输入,更不用说在这种情况下必须启用哪些输入,以及以什么顺序启用.
如何以符合 4vl2 的方式实现这一点?我想将它与 ffmpeg 和 gstreamer 等标准软件一起使用。
【问题讨论】: