Introduction: UVC Video Streaming

We have shown in another Instrcutables (https://www.instructables.com/id/Use-UVC-to-Send-Image/) on how to use UVC (USB Videl Class) equipment to take picture and setup Ameba Arduino board to send the picture out through wireless interface. Using the same setup with different sketch, we'll show you how to send Webcam streaming video to another video player in the network or even to cellphone.

Step 1: Needed Devices

We'll need the following devices for this video streaming project:

  • Ameba Arduino board - This Arduino compatible board has built-in wireless which is pretty suitable for wireless project like this. You can use "Ameba Arduino" and search eBay for it.
  • Logitech C170 Webcam - A simple UVC which you can get it at eBay, Amazon online store, or your local electronic store should have carrying it. Detailed spec can be found in this URL: http://www.logitech.com/en-in/product/webcam-c170

  • Micro USB OTG adapter - Ameba USB host interface is micro USB while the UVC we use have USB type A connector, we therefore need this adapter to connect the webcam to Ameba.

Step 2: Connections

Detailed wiring is as shown in the picture. Connect Micro USB OTG to Ameba, then connect the USB camera. There are three micro USB host on Ameba, the one at the back supports OTG UVC, by which the USB camera can store video data in Ameba, and Ameba converts the video to RTSP (Real Time Streaming Protocol) streaming and sends it to the network. The other USB cable will be attached to your computer/laptop as the power to Ameba and as serial output to computer.

Step 3: Code Reference

In the attached Arduino sketch, We need to modify the provided code for the following information:

  • The SSID/password for the AP connection.

The default video streaming format of Ameba is Motion JPEG 320 x 240, users can adjust the parameters according to the need using the call of UVC.begin(). After the needed AP connection modification, compile, upload the code to Ameba and press reset button to start the code. If the association between Ameba and AP is good, Ameba will start the video streaming and output the URL for your network video player as highlighted in the sample terminal output. You'll need to use this address (e.g, rtsp://192.168.1.100/test.sdp) for your video player.

Step 4: Video Player Setup

You can use any software that is capable to accept network streaming to play video. In this project, we chose VLC Media Player (http://www.videolan.org/vlc/) to play video. After VLC installation,open VLC player, click “Media” -> “Open Network Stream”, then fill in the link of the streaming, (Please make sure the computer and Ameba are connected to the same wireless AP). If everything is correctly connected and setup, you'll start to see the streaming video from the Webcam.

Step 5: Android Phone Setup

VLC player App is also available for Android smartphone. Please open Google Play and search for "VLC for Android". Once you locate it, install it and open it. Please tap "Stream", then enter the RSTP link, and make sure the smartphone and Ameba are connected to the same network. Now you can enjoy the Webcam video in your cellphone.