Skip navigation

emUSB-Device Video

Easily transmit video via USB. Send video data to the host.
Simple and driverless! Plug-and-play on any operating system.

  • USB Video Device class (UVC) V1.1 implementation.
  • Send video to the host
  • Cross-platform, no drivers needed on Linux, macOS or Windows
  • High performance
  • Small footprint

Enhance your device with video capabilities

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.

webcam_camera.png

Typical Applications

The video class is the foundation for any embedded device handling video data. 

Typical applications include webcams, professional cameras or video processing equipment.

Application Samples emUSB-Device Video

Camera
camera-2-500x.png
Webcam
webcam-500x.png

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.png
emUSB-Device Video class on Windows 10 in "Camera".
Screenshot_SEGGER_UVC.png
emUSB-Device Video class on Ubuntu 19.04 in "Guvcview".
webcam_macOS.png
emUSB-Device Video class on macOS 10.13.2 in "Quick Camera"

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 filevideo.yuv onto a SD card
  • Program the emPower with the default 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
emPower_500.png

Components

Components required to use the Video class:

  • emUSB-Device Video
  • emUSB-Device core
  • emUSB-Device target driver