The USB class protocol for Video is defined for devices or functions embedded in composite devices that record or stream video data.
- Compatibility with USB Video V1.00 devices
- Ability to receive video from input devices (e.g. webcams)
- Control processing, selector and extension units
- Notifications about insertion and removal of video devices
- Support for common video formats (Uncompressed, MJPEG and H.264)
- Support for all resolutions and frame rates
- Small footprint
The example can print out the supported formats, resolutions and frame rates of the connected USB video device and is able to save received frame data onto a storage medium. Additionally the sample demonstrates setting the video sharpness control of the video device and is able to print out any status changes reported by the video device.
emUSB-Host Video provides an interface between a video streaming device and the receiving host. With the specific requirements of video, not all controllers can handle video support. Below are the host controllers SEGGER has tested and passed so far. Others can be tested upon request.
- Without restrictions: EHCI controllers such as included with Xilinx Zynq, NXP Kinetis HiSpeed, i.MX6, i.MX-RT
- With reduced resolution: STM32, LPC5xx
The primary use case of the video class is to connect a webcam to an embedded system. We have tested a number of webcams so far (see list below). Other devices can be added upon request.
- Aukey PC-LM1E
- Hama 00053950 Spy Protect
- Conceptronic AMDIS03B
- Logitech C930e
- Logitech V-U0006
- Logitech V-U0011
- Logitech V-U0018
- Logitech V-U0031
- Microsoft Lifecam HD 3000
- Trust 16428
- Trust 17003-02
- Razer Kiyo Pro RZ19-0364
- Xiaomi Imilab CMSXJ22A