1

I have an application which utilizes the janus-gateway to forward a gstreamer generated RTP stream to a vuejs client running in google chrome. Sometimes on page refresh the video is not displayed within the video element. The frequency with which this problem occurs varies depending on the method used to refresh the page. For instance ctrl-r works ~20 times without failing, while pressing the browser refresh button works only 2 times and then fails on every subsequent attempt. The "hard reload", and "empty cache and hard reload" options of the refresh button do not affect the frequency of the failure.

When looking at the chome://webrtc-internals I see bandwidth coming into the browser. The janus-gateway admin api also indicated that it is sending the correct bandwidth. This leads me to think that the problem is related to resource binding within chrome.

What is the difference between the ctrl-r, F5 and refresh button? Do they clear different resources?

This behavior started in chrome version 71 and is not reproducible in chrome version 70 and earlier.

2 Answers2

2

Video will only be displayed if, when the PeerConnection is created, a keyframe is received soon enough, otherwise packets received by the viewer won't make much sense (they'll be differences to something that was sent before the user opened the stream). Since in your case the source is external, in Gstreamer, you'll only see something when gstreamer decides to send a keyframe, which can be done on a regular basis but not often enough. As such, it's up to you to ensure you configure the gstreamer pipeline to send keyframes regularly, so that new viewers can catch up. Of course, they shouldn't be too frequent either, as that would be a bad idea bandwidth-wise. You can find more info on the Janus forum, where this is a commonly asked question: https://groups.google.com/forum/#!forum/meetecho-janus

1

https://support.google.com/chrome/answer/157179?visit_id=636958394956843056-154323967&hl=en&rd=2

Reload the current page F5 or Ctrl + R

Reload the current page, ignoring cached content Shift + F5 or Ctrl + Shift + R

dbrumann
  • 16,803
  • 2
  • 42
  • 58
kang
  • 19
  • 2