Main Menu
Make donations with PayPal!
Donat-o-Meter Stats
May's Goal: $150.00
Due Date: May 31
Gross Amount: $0.00
Net Balance: $0.00
Surplus: $-150.00

Welcome! Here are some of my projects:
UV4L, an User space Video4Linux framework:

UV4L is a simple framework aiming to provide Video4Linux2-compliant transparent, user space drivers (as plugins) for real or virtual video input devices, and other modules:
Additional informations:

Some projects in C++:

A wide collection of personal solutions to the exercises proposed by Bjarne Stroustrup in his well-known book The C++ Programming Language. Click here to browse the source code or here to download the archive.

Open source drivers, also present in the official Linux kernel:

See on-line documentations for a list of features and supported hardware.


Device Debugger (screenshot)

Trademarks are property of their respective owner. The software present on this site has not been funded, sponsored or developed by Winbond, SONiX, Microdia, Etoms, Z-Star, Vimicro, Syntek, Ali, RaspberryPi Foundation.
Posted by luca on 2015/4/27 1:07:11 (45 reads)

It's clear that embedded computers like the Raspberry Pi 1 or the Raspberry Pi 2 do not have the necessary power to perform all the funny media processing stuff such as motion detection, speech recognition, recording, mixing, broadcasting, etc... that we would expect from a modern PC or workstation. Yes, UV4L already natively implements things like on-the-fly Text Overlay and Face Detection at full fps and resolution, but what if we also wanted to do a little bit more magic than that, like processing an additional audio stream and recording the resulting output at the same time, for example? The answer is that the RPi should not be doing any processing at all, really. What we need is a way to simple define the media processing pipeline we prefer and delegate all the job to an external media server such as Kurento. So interfacing with Kurento or even with the Nubomedia cloud built on the top of it will be the objective of the next (major) releases of UV4L.

What's Kurento?

"Kurento is a WebRTC media server and a set of client APIs making simple the development of advanced video applications for WWW and smartphone platforms. Kurento features include group communications, transcoding, recording, mixing, broadcasting and routing of audiovisual flows.

Kurento also provides advanced media processing capabilities involving computer vision, video indexing, augmented reality and speech analysis. Kurento modular architecture makes simple the integration of third party media processing algorithms (i.e. speech recognition, sentiment analysis, face recognition, etc.), which can be transparently used by application developers as the rest of Kurento built-in features."

Stay tuned!

Posted by luca on 2015/4/23 0:24:01 (42 reads)

A new release of the UV4L Streaming Server is out! From now on it will be possible to create Multi Peer-to-Peer WebRTC Conferences with a single mouse click! No configuration, no external plug-in's required!

To get the latest release, please upgrade the packages for Raspbian. Packages for x86 will be out soon.

Posted by luca on 2015/4/19 18:44:43 (170 reads)

An interesting application of the recent addition of the WebRTC extension for the UV4L Streaming Server is Audio/Video Conferencing in pure HTML5 (NO configuration required).

If you want to try it out, just install UV4L and visit this Web Page with any browser (in the future this page will be part of the UV4L Streaming Server as well).

Not only you will be able to stream your local media to all the participants of the conference, but from the same page you will be also able to add any Remote UV4L Peers (i.e. a RaspberryPi2 with a Camera and Microphone attached) to the same conference.

Happy Conferencing!

Posted by luca on 2015/4/6 17:59:52 (380 reads)

Shortly after the announcement of the first release of the WebRTC extension for the UV4L Streaming Server, here's another update! As promised, Audio from an input device (i.e. microphone) can now be optionally added to the live stream!

A pure HTML5 test page is here.

Please read the documentation for all the available options.

Video & Audio streams have been successfully tested on Chrome, Opera, Firefox and Android. Due to a bug in Firefox prior to version 37.0, when audio is enabled, Firefox does not display the Video track. The problem has been fixed since v.37.

Have fun!

Posted by luca on 2015/3/25 3:01:19 (618 reads)

Yes, it's true! The native WebRTC extension for the UV4L Streaming Server is now ready!

At the moment, this extension is available for Raspberry Pi 2 only. Packages for x86 will be provided soon. The Raspberry Pi 1 will not be supported. Again, do NOT install the WebRTC extension on the Rasperry Pi 1.

To know how to install UV4L and the WebRTC extension please refer to the appropriate documentation section. Here are the instructions for Raspbian.

Support for audio is work-in-progress. Among the nice things which are now possible there are NAT traversal, VP8 encoding, efficient adaptive streaming, echo cancellation, encryption, very short delays, etc...

Once installed, to quickly try it, go to the Streaming Server page, navigate to the WebRTC Page and press "Start" to get a live stream. You can take the source of that HTML5 page and modify/use it as you prefer.

Tested on recent versions of Firefox, Chrome, Opera, Android. Safari does not seem to support WebRTC (deliberately).

A first screenshot (~200ms delay example) is here.

Have fun!

(1) 2 3 4 ... 32 »


Lost Password?

Register now!
Recent News