单片机/MCU论坛
直播中

张莉

7年用户 1162经验值
私信 关注
[问答]

在UVC固件中支持不同的FPS吗?

我的系统由两部分组成:UVC 流发送器和 UVC 流接收器。 网络摄像头产生的紫外线流以无线方式传输到接收器。 接收器通过 USB 电缆连接到电脑上,我可以监控摄像头生成的视频。
接收器必须处理多个摄像头,因此我想用一个 USB 描述符来处理它们,以简化操作。
例如,假设摄像机 A 只发送 30fps 的 MJPEG 1080p,而摄像机 B 发送相同格式但不同 FPS(如 60fps)的视频。
我不确定接收器中只有一个 USB 描述符是否可以处理这两个摄像头。 如果可以的话,我认为两台相机的 USB 描述符应该合并为一个描述符。

回帖(1)

刘芳

2024-5-15 16:58:46
在UVC(USB Video Class)固件中支持不同的帧率(FPS)是可能的,但需要对UVC流发送器和接收器进行适当的配置。UVC标准允许在单个USB设备中支持多个摄像头和不同的帧率。为了实现这一点,您需要遵循以下步骤:

1. **定义UVC类特定描述符**:在UVC设备中,类特定描述符(Class-Specific Descriptor)用于定义视频流的属性,如分辨率、帧率和压缩格式。您可以为每个摄像头定义不同的类特定描述符,以支持不同的帧率。

2. **使用多个视频控制接口**:为了支持多个摄像头,您可以在UVC设备中使用多个视频控制接口(Video Control Interface, VCI)。每个VCI可以与一个摄像头相关联,并包含该摄像头的类特定描述符。

3. **使用多个视频流接口**:与VCI类似,您可以为每个摄像头使用一个视频流接口(Video Stream Interface, VSI)。VSI负责传输视频数据,并可以配置为支持不同的帧率和格式。

4. **合并USB描述符**:为了简化操作,您可以将所有摄像头的USB描述符合并为一个描述符。这可以通过在USB配置描述符中包含所有VCI和VSI来实现。这样,接收器可以通过一个USB描述符来处理多个摄像头。

5. **在接收器中处理多个摄像头**:在接收器端,您需要编写适当的软件来处理多个摄像头和不同的帧率。这可能包括解析USB描述符、选择正确的VCI和VSI以及处理不同的视频流。

6. **考虑带宽和性能**:在设计系统时,需要考虑USB总线的带宽和性能。支持多个摄像头和不同的帧率可能会增加对带宽的需求。确保您的系统能够满足这些需求,以避免性能瓶颈。

7. **测试和验证**:在实现和配置系统后,进行彻底的测试和验证以确保所有摄像头和帧率都能正常工作。

总之,通过合理地配置UVC设备和接收器,您可以支持不同的帧率和多个摄像头。这需要定义多个类特定描述符、使用多个VCI和VSI,并在接收器中进行适当的软件处理。同时,确保您的系统能够满足带宽和性能需求,以实现最佳的视频传输效果。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分