Quick installation instructions of UV4L for Ubuntu Bionic Beaver 18.04 and Ubuntu Xenial 16.04 ( amd64)
The following instructions are valid for the following platforms:
- Ubuntu Bionic Beaver 18.04 (amd 64-bit)
- Ubuntu Xenial 16.04 (amd 64-bit)
Add the following line to the file /etc/apt/sources.list:
deb [arch=amd64] https://www.linux-projects.org/listing/uv4l_repo/xenial xenial main
Open a terminal, type the following commands and reboot:
$ wget -q -O - https://www.linux-projects.org/listing/uv4l_repo/lpkey.asc | sudo apt-key add - $ sudo apt-get update $ sudo apt-get install uv4l uv4l-uvc uv4l-mjpegstream uv4l-dummy uv4l-xscreen uv4l-server uv4l-webrtc uv4l-x11-renderer uv4l-demos
Not all the packages in the above list are mandatory. Depending on what you want to do, you can choose just one driver between the uv4l-uvc uv4l-mjpegstream, uv4l-dummy uv4l-xscreen. uv4l-server, uv4l-webrtc, uv4l-x11-renderer are optional, but uv4l-webrtc depends on uv4l-server and uv4l-x11-renderer depends on uv4l-webrtc (and gets installed by default when you install uv4l-webrtc).
You can confirm that the installation went well by using the xscreen driver (which captures a specified portion of the screen) with the following command:
$ uv4l --framerate 15 -f --auto-video_nr --driver xscreen --xorigin 0 --yorigin 0 --width 640 --height 480
which should output something like:
<notice> [core] Trying to loading driver 'xscreen' from built-in drivers... <notice> [core] Loading driver 'xscreen' from external plug-in's... <notice> [driver] Opening display: <notice> [driver] Display open, screen 0: 1366x768, depth: 24, bpp: 32, big endian: false <notice> [driver] Specified capturing rectangle: (xorigin 0, yorigin 0, width 640, height 480) <notice> [core] Device detected! <notice> [core] Trying to load the the Streaming Server plug-in... <notice> [server] HTTP/HTTPS Streaming & WebRTC Signalling Server v1.1.108 built on Jan 20 2018 <warning> [server] SSL is not enabled for the Streaming Server. Using unsecure HTTP. <notice> [core] Streaming Server loaded! <notice> [core] Registering device node /dev/video0 <notice> [server] Web Streaming Server listening on port 8080
At this point the Streaming Server should be listening at port 8080. Open the browser and start a WebRTC session on localhost to confirm that you can get the video stream: http://localhost:8080/stream/webrtc .