raspiko
Posts: 31
Joined: Sun Nov 01, 2020 11:42 am

uv4l and UVC (usb webcam)

Sun Nov 01, 2020 11:58 am

Hi All,

After days of searching across web and hours wasted, need to ask you for help - I've reached end of my debugging capabilities.

Setup is:
- pi 4 (8GB)
- Raspbian OS (armhf -> Debian Buster)
- USB webcam Logitech C920 (046d:0892) - HW Pro Webcam C920
- packages updated
- uv4l installed, following install instructions using Stretch binaries (deb http://www.linux-projects.org/listing/u ... an/stretch stretch main), as no Buster one exists.

Problem is that can't get video via uv4l, even for vlc tests, and culprit seems to be in no functionality discovered? (empty "" element).

Code: Select all

Video functionality '' recognized at 046d:0892
Full dump below.

The whole reasoning behind uv4l exercise is that browser based connection to Jitsi results in super high CPU load even if H264 is forced, simulcast disabled and some other optimizations implemented together with all GPU acceleration is enabled within browser. FullHD gets at max 6FPS if not lower. Hence after long search got to uv4l and can't get this working either.

What drives me insane is that seems like pi 3 can get real-time stream at FullHD and pi 4 beast can't get it (my fault - for sure - hence ask for help).

Code: Select all

# uv4l --driver uvc --device-id 046d:0892 --usb-debug 3 --server-option --port=8090 --auto-video_nr -v 5 --log-color --sched-rr --mem-lock  -f
<notice> [core] Trying to loading driver 'uvc' from built-in drivers...
<notice> [core] Loading driver 'uvc' from external plug-in's...
<notice> [driver] Video functionality '' recognized at 046d:0892
<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.125 built on Sep  5 2019
<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 8090
How to troubleshoot it further? What's missing?

Webcam details:

Code: Select all

ID 046d:0892 Logitech, Inc. OrbiCam
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          239 Miscellaneous Device
  bDeviceSubClass         2 
  bDeviceProtocol         1 Interface Association
  bMaxPacketSize0        64
  idVendor           0x046d Logitech, Inc.
  idProduct          0x0892 OrbiCam
  bcdDevice            0.19
  iManufacturer           0 
  iProduct                2 HD Pro Webcam C920
Thanks in advance.

raspiko
Posts: 31
Joined: Sun Nov 01, 2020 11:42 am

Re: uv4l and UVC (usb webcam)

Sun Nov 01, 2020 2:45 pm

Replying to myself - as obviously once question has been asked it partially started to work miraculously.
The uv4l /stream/webrtc had to be run without any setting - just "Call", no resolution selection and then it works with 640x480 - can't get it with better resolution yet - but at least it is good step forward.

Will keep digging to get better resolution.

raspiko
Posts: 31
Joined: Sun Nov 01, 2020 11:42 am

Re: uv4l and UVC (usb webcam)

Sun Nov 01, 2020 6:02 pm

Update#2

Got video portion working - just can't force the uv4l to higher res.

At the same got stuck with uv4l jitsi-xmpp portion joining Jitsi room.
Communication wise something is happening but the use is not joining the room (doesn't appear on the list):


Problem am asking for help with is related to Jitsi meet and XMPP bridge, as I can't get that portion working.
Have xmpp bridge running and what it looks like connecting to remote endpoint, but uv4l-jitsi-xmpp client doesn't show in the room where two other clients are connected already for tests - no password involved.

XMPP bridge side shows this:

Code: Select all

New request
Data bytes available: 16392
Frame received (length=16384, flags=0x82)
Executing message...
Starting session...
connecting...
Message executed

presence sent
presence sent
presence sent
presence sent
presence sent
presence sent
disconnected: User Disconnected
disconnected: User Disconnected
Request completed
Shut down websocket
New request
Data bytes available: 16392
Frame received (length=16384, flags=0x82)
Executing message...
Starting session...
connecting...
Message executed
presence sent
presence sent
presence sent
presence sent
presence sent
presence sent
disconnected: User Disconnected
disconnected: User Disconnected
Request completed
Shut down websocket
New request
Data bytes available: 16392
Frame received (length=16384, flags=0x82)
Executing message...
Starting session...
connecting...
Message executed
presence sent

The call to start call was:

http://pi4:8090/xmpp?server=meet.jit.si ... tion=Start

What could be wrong with above? Is it expected to work?

Thanks for any hints. I'm happy to dig more but am clueless for the moment.

p.s. emailed same questions via contact form on uv4l - will post updates if will get this working.

If anyone has ideas how to further troubleshoot it - please share.

raspiko
Posts: 31
Joined: Sun Nov 01, 2020 11:42 am

Re: uv4l and UVC (usb webcam)

Mon Nov 02, 2020 9:29 pm

Update#3
Got nice and very swift response from person behind uv4l (thank you!).

Unfortunately as per feedback the uv4l integration with Jitsi is unstable and recommendation was to use Janus, which unfortunately is not that end-user friendly :(

Return to “Beginners”