New AI module for UV4L. An example of real-time video tracking working “out-of-the-box”.

As announced in the previous post, a new raspicam driver that adds some AI to UV4L has been released!

Here is a tutorial about how to quickly configure UV4L to make a robot doing real-time object detection, tracking by controlling pan/tilt servos and streaming over the web with WebRTC at the same time.

Below is another example of live object detection where bounding boxes, labels and confidence scores are overlaid real-time on the  high-resolution video (tracking has been disabled in this case).

Content not available.
Please allow cookies by clicking Accept on the banner

UV4L packages for the Raspberry Pi OS (Buster) are out!

UV4L packages for the Raspberry Pi OS (Buster) are out! To know how to install them, please read the installation instructions.

Next releases will support Tensor Flow Lite models through the Google Edge TPU which will allow your Raspberry Pi to do things like real-time video tracking out of the box. See the example below. Tutorial.


Content not available.
Please allow cookies by clicking Accept on the banner

Playing RetroPie games in the browser

This is a tutorial and below is the demo which shows a new way to play RetroPie games with an headless Raspberry Pi 3B+ and an Android “terminal” in the same LAN: traditionally the Raspberry Pi is directly wired to display, speakers (where the game is rendered ) and a gamepad controller. In this case, however, the Raspberry Pi is not connected to any display (except in the first part of the demo for clarity), speakers and controller. On the contrary, the game is played from within Android Chrome on an smartphone with a gamepad controller connected to the smartphone itself. In other words, the game video and audio are rendered onto the smartphone screen and speakers. The great thing is that no special, third-party application on the smartphone is required other than the stock Chrome browser.

Content not available.
Please allow cookies by clicking Accept on the banner

New Screensharing Web App for Raspberry Pi

In this example we will see how to configure the Raspberry Pi to serve a customizable web app which allows the Raspberry Pi to share its screen and speakers (“what you hear”) to the PC browser. Additionally, thanks to a virtual keyboard running on the Raspberry Pi, it will be possible to emulate the keypresses captured and sent from within the web page in the browser.

It can be used to fully play RetroPie games in the browser as shown in this DEMO.

Content not available.
Please allow cookies by clicking Accept on the banner

File transfer via WebRTC Data Channels

WebRTC data channels can be used for an infinite number of useful things. They are ideal for sharing data between two peers in a secure and efficient way. In a past demo we showed how they could be used to control a robot in real-time. In this demo we will see how to use a WebRTC data channel to transfer a file from a browser to a Raspberry Pi. The demo can also work as a simple remote media player.

UV4L used in Computer Vision!

webrtcH4cKS has recently posted a very interesting article about a computer vision project that makes use of UV4L for real-time streaming of video and data over WebRTC from a Raspberry Pi Zero connected to a AIY Vision board. The board embeds a Vision Processing Unit (VPU) chip that runs Tensor Flow image processing graphs super efficiently.

The article is divided in two parts:

UV4L now supports the TC358743 HDMI to MIPI converter chip

The Video4Linux2 uv4l-raspicam driver for Raspberry Pi  has been extended to support the TC358743 HDMI to MIPI converter chip. This chipset is often found in the B101 capture boards made by Auvidea.

Any resolution, color space or hardware codec (like MJPEG, H264, YUVs, etc…, with or without preview) will work. All the UV4L components on the top of this driver will work as usual.

The Raspberry Pi  3 is supported by this new release of the raspicam driver, while support for other Raspberry Pi models can be activated upon request.

Upgrade the driver or read these instructions to know how to install it. Remember that the TC358743 in the driver has to be enabled via the –tc358743=yes option (e.g. in the configuration file) to use it.

How to deploy and run a custom Web App with UV4L

This is a long-awaited tutorial showing how to deploy and serve a custom web app through the UV4L Streaming Server. The example web app does very little other than embedding a live video stream from a remote camera into a standard HTML5 page and processing it in real-time to perform face detection with plain JavaScript. It’s a good starting point for more complex things that can be done in a browser (and not only!).