Video Breakup and Delay Issues with UVC Device and WebRTC

Hello Janus Community,

I hope this message finds you well. I’m currently facing some challenges with my setup involving a UVC device, UV4L, WebRTC, and Janus videoroom. I would greatly appreciate any insights or advice from the community to help troubleshoot and resolve these issues.

Setup Overview
I’m using a UVC device to capture an HDMI video stream. The UV4L framework is employed to send this stream to WebRTC, and from there, it’s routed to Janus videoroom for further processing.

On webrtc the video takes time to start up (5s to 30s) for high resolution (>SD), there is no video breakup observed.

Issues Encountered:
When I force the hardware encoder in the WebRTC HTTP call and set the videoroom plugin configuration file to use the H.264 codec, I’m experiencing some video breakup when I access my stream app via Google Chrome. Interestingly, this issue doesn’t manifest has bad or often when I use Microsoft Edge.

Moreover, I’ve noticed that the stream takes a considerable amount of time to start when I’m streaming at higher resolutions. In addition to this, more video breakup occurs, where I hear the audio first, but the video takes anywhere from 30 seconds to 5 minutes to begin displaying.

Attempted Solutions
I’ve attempted to mitigate these issues by reducing the resolution and frame rate of the stream. Unfortunately, this approach hasn’t yielded the desired results.

Community Help Request
I am aware of another encoder like vp8 which works perfectly, however, I want to use the hardware acceleration on my raspberry pi, and use the h264 encoder.

I’m reaching out to the Janus community in the hope of finding solutions or insights that might shed light on the root causes of these problems. If anyone has encountered similar issues or has expertise in dealing with WebRTC, UV4L, and Janus, your guidance would be immensely valuable.

Specifically, I would appreciate advice on the following:

  1. Possible reasons for the video breakup on Chrome but not on Edge.
  2. Strategies to address the delay in video start-up when streaming at higher resolutions.
  3. Suggestions to further optimize the configuration to ensure smooth video streaming.

Any input, recommendations, or experiences you can share would be incredibly helpful in troubleshooting and resolving these challenges. Thank you in advance for your time and assistance.

Best regards,
Joshua kalima


this is the stream quality after 10 minutes of streaming on chrome.

Please ask UV4L questions on the UV4L group, not here. It’s not our product.

Hello,

I appreciate your previous response and understand that UV4L isn’t your product. However, I’m facing a video breakage issue in my current setup that involves UV4L, Janus, WebRTC, React app, and different browsers.

Setup details:

  • Streaming from UV4L (h264) to WebRTC
  • Connecting to Janus videoroom plugin
  • Utilizing a React app to display the stream
  • Testing in both Chrome and Edge browsers

The issue I’m encountering:

  • Streaming: UV4L (h264) → WebRTC → Janus → React app → Chrome: Video breakage observed.
  • Streaming: UV4L (h264) → WebRTC → Janus → React app → Edge: No video breakage.
  • Streaming: UV4L (h264) → WebRTC → React app → Chrome: No video breakage.
  • Streaming: UV4L (h264) → WebRTC → React app → Edge: No video breakage.

I’ve tested these variations to pinpoint the issue, and it seems to be related to the combination of Janus and Chrome. Could you kindly provide any insights or suggestions to address this video breakage problem?

Thank you once again for your assistance.

Best regards,
Joshua kalima