我的系统由两部分组成:UVC 流发送器和 UVC 流接收器。 网络摄像头产生的紫外线流以无线方式传输到接收器。 接收器通过 USB 电缆连接到电脑上,我可以监控摄像头生成的视频。
接收器必须处理多个摄像头,因此我想用一个 USB 描述符来处理它们,以简化操作。
例如,假设摄像机 A 只发送 30fps 的 MJPEG 1080p,而摄像机 B 发送相同格式但不同 FPS(如 60fps)的视频。
我不确定接收器中只有一个 USB 描述符是否可以处理这两个摄像头。 如果可以的话,我认为两台相机的 USB 描述符应该合并为一个描述符。
在UVC固件中支持不同的FPS吗?
在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,并在接收器中进行适当的软件处理。同时,确保您的系统能够满足带宽和性能需求,以实现最佳的视频传输效果。
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 | |
【分享评测,赢取加热台】使用8051单片机驱动WS2812被打赏40分 |