2

I have a resin.io project and I'm trying to get WebRTC streaming to work.
I used instructions from here to modify my Dockerfile.

What I'm doing:

  1. Install UV4L software:

    RUN apt-get update && apt-get install -y \
    uv4l \
    uv4l-raspicam \
    uv4l-raspicam-extras \
    uv4l-webrtc \
    uv4l-server \
    uv4l-xscreen \
    uv4l-mjpegstream \
    uv4l-dummy \
    uv4l-uvc \
    uv4l-raspidisp \
    uv4l-xmpp-bridge \
    && rm -rf /var/lib/apt/lists/*
    
  2. Run it with:

    systemctl start uv4l_raspicam
    

When I go to http://192.168.0.103/stream I see the mjpeg stream and it's working fine.

The next thing I try to do is to go to http://192.168.0.103/stream/webrtc and see a WebRTC stream.

When I load the page I see no video, just this page:

enter image description here

When I press Call nothing happens and the server dies - I can no longer see any streams and the web page doesn't load.

This is the output of uv4l command with parameters:

<notice> [core] Trying driver 'raspicam' from built-in drivers...
<warning> [core] Driver 'raspicam' not found
<notice> [core] Trying driver 'raspicam' from external plug-in's...
<notice> [driver] Dual Raspicam Video4Linux2 Driver v1.9.48 built Mar 19 2017
<notice> [driver] Detected camera imx219, 3280x2464
<notice> [driver] Selected format: 640x480, encoding: h264, H264 Video Compression
<notice> [driver] Framerate max. 20 fps
<notice> [driver] ROI: 0, 0, 1, 1
<notice> [driver] H264 costant bitrate: 8000000
<notice> [core] Device detected!
<notice> [core] Registering device node /dev/video0

How do I debug this? Does uv4l have any error logs? If so, what is the location of them?

2

How do I debug this? Does uv4l have any error logs? If so, what is the location of them?

Yes, by inspection of /etc/uv4l/uv4l-uvc.conf you have some options for this.

To enable logging via port 514 for syslog, edit /etc/rsyslog.conf and uncomment these lines:

module(load="imudp")
input(type="imudp" port="514")

Then run sudo systemctl restart rsyslog. Next edit /etc/uv4l/uv4l-raspicam.conf and uncomment these lines:

verbosity = 6
syslog-host = localhost
syslog = 514

You could try turning the verbosity up to level 9, not sure if that makes a difference. After running systemctl start uv4l_raspicam you should see messages going into /var/log/syslog. I don't have an RPi camera module to confirm with, but this procedure worked with UVC.

However, logs may or may not help you resolve this crash. uv4l can be especially difficult to troubleshoot being closed-source. As Raspbian has a kernel-mode V4L2 driver and other tools available, I have suggested users in your boat try webrtc-streamer which is open-source and was updated as recently as last week.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.