Tutorials for Raspberry Pi
First of all, if you have never installed UV4L on a Raspbian Linux distribution (e.g. Wheezy, Jessie, Stretch…), do it by following these instructions, otherwise upgrade UV4L to the latest version:
raspberrypi ~ $ sudo apt-get update raspberrypi ~ $ sudo apt-get upgrade
Below is a list of some examples of how to use the UV4L suite of modules in combination with third-party applications and/or with the integrated components (such as the UV4L Streaming Server). Although each example makes use of a specific UV4L input driver for demo purposes, all of the examples should work with any input driver in most cases.
To show you the examples from the top to the bottom, in some cases we will assume that you have not installed the uv4l-raspicam-extras optional package, which provides a system service that automatically loads all the installed UV4L modules at boot.
In general, you can start uv4l as many times as you want (each one creating a its own device node and streaming server instance). Since uv4l runs in user space, remember that, in all the cases, to “unload” uv4l, it’s enough to kill the corresponding system process. Almost all the examples have been originally tested on the (old) Raspberry Pi 1 and Compute Module 1, but will work with every Raspberry Pi model.
- Record an H264 video at full 1920×1080 resolution, 30 fps
- Motion
- Capture and display with OpenCV
- Use the Camera Board on the Rpi as a (virtual) camera plugged into another PC
- Set up a real-time Streaming Server (RTSP)
- FFmpeg Server & avconv
- Setup an RTMP Server (in H264 full res, 30fps) with crtmpserver and FFMpeg
- Full fps, Live Text Overlay (over video)
- Real-time Object Detection and Object Tracking
- Real-time HTTP/HTTPS Streaming Server with the native uv4l-server module
- Compute Module: stereoscopic vision
- Compute Module: use Dual Cameras separately
- A robot for real-time object detection with accelerated Tensor Flow models, tracking and optional streaming with WebRTC
- Object Detection with Depth Estimation
Specific to WebRTC:
- Start or Join a Multi Peer-to-Peer Audio/Video Conference with WebRTC
- Live Desktop & Audio Streaming to the browser with WebRTC
- How to broadcast or have bidirectional live audio and video conferences to/in a Jitsi Meet Room over the Web
- Webinars and Video Conferences in Full HD with the Janus WebRTC Gateway
- UV4L for the Internet of Things with WebRTC Data Channels
- Turn any MJPEG stream (e.g. from an IP camera) into a virtual camera
- Example of custom web app in HTML5 and plain JavaScript: face detection on a video stream from a camera in the network
- Screen and audio mirroring to the Raspberry Pi
- File transfer via WebRTC data channels, simple web application
- Web app for screen and audio sharing & virtual keyboard on Raspberry Pi
- How to play RetroPie in the browser
- A robot for real-time object detection with accelerated Tensor Flow models, tracking and streaming with WebRTC
- Object Detection with Depth Estimation