Video class
Easily transmit video via USB. Send video data to the host.
Simple and driverless! Plug-and-play on any operating system.
![SEGGER emUSB-Device SEGGER emUSB-Device](https://c.a.segger.com/fileadmin/_processed_/5/e/csm_Produkt-Icon_emUSB-Device_783d347f1c.png)
Overview
Using emUSB-Device Video, an embedded device can transmit video data to a host, be it from a dedicated camera peripheral, from a storage medium or generated by the application. emUSB-Device Video allows the device to handle video data irrespective of the available hardware, for example pre-recorded instruction videos can be played from a hardware without a camera.
Key features
- USB Video Device class (UVC) V1.1 implementation.
- Send video to the host
- Multi-platform, no drivers needed on Linux, macOS or Windows
- High performance
- Small footprint
Application Samples emUSB-Device Video
![camera 2](https://c.a.segger.com/fileadmin/_processed_/8/d/csm_camera-2-500x_74b6a22589.png)
Camera
![webcam](https://c.a.segger.com/fileadmin/_processed_/9/f/csm_webcam-500x_ebe7845b6a.png)
Webcam
Technical details
SEGGER’s implementation of the USB Video Class V1.1 is designed with minimal resource usage in mind, especially targeted to embedded devices. The implementation supports the usage of a “camera” (output video terminal).
The Video class supports the uncompressed frame format (YUV422), multiple resolutions and still image capture.
![SEGGER UVC Windows](https://c.a.segger.com/fileadmin/_processed_/a/9/csm_SEGGER_UVC_windows_1e043d6bff.png)
![SEGGER UVC Screenshot](https://c.a.segger.com/fileadmin/images/products/emUSB/emUSB-Device/video/Screenshot_SEGGER_UVC.png)
![webcam macOS](https://c.a.segger.com/fileadmin/_processed_/e/6/csm_webcam_macOS_29fbe2051d.png)
Try it now
Download the emUSB-Device Video demo for the emPower board:
- Take the pre-converted sample video
../Doc/video.yuv
OR
Convert any video using ffmpeg:ffmpeg -i SeggerDemo_sample_app_project_v3.mp4 -pix_fmt yuyv422 -c:v rawvideo -an -s 640x480 -r 15 video.yuv
You can add-t 5
before-i
to reduce the duration to 5 seconds. - Copy the file
video.yuv
onto a SD card - Program the emPower with the video application using Embedded Studio
- Insert the SD card into the emPower board
- Connect the HS USB connector to your PC
- Use a webcam viewing program to see your video
Components
Components required to use the Video class:
- emUSB-Device Video
- emUSB-Device core
- emUSB-Device target driver