Kurento / bugtracker

[ARCHIVED] Contents migrated to monorepo: https://github.com/Kurento/kurento

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Surely not a bug - but a problem

neilyoung opened this issue · comments

Hi guys,

trying to get some help on this problem:

  • Having a publisher session from a browser, sending either VP8 or H.264
  • Ending up in KMS, negotiation fine, video flows
  • Once the WebRTCEndpoint reaches MediaConnectionState CONNECTED I'm creating an RTPEndpoint and offering an H.264 Baseline session. Once the answer is there, I connect the RTPEndpoint with the WebRTC endpoint and spawning an ffmpeg process, providing it with the SDP offer used for the RTPEndpoint and some other parameters, so that FFMEPG takes the RTP packets on a local IP port and streams it out as RTSP to a local RTSP server
  • From there clients can consume the WebRTC stream (publisher) as RTSP, RTMP or HLS

Works absolutely brilliant if the browser sends VP8 and KMS is doing the transcoding. I can consume the video with ffplay, gstreamer or vlc and it rocks. It also kind of works, if the H.264 from the browser is just forwarded, but I'm facing the problem, that I'm missing the intra frames...

Think about: The publisher session runs already for a long time, there is no resolution change anymore, it is stable at 1280x720, no errors. Now I come with an RTSP client and I'm getting the video as it comes. I can observe that on the client: Gray soup on the screen. I can wipe over the camera and all is fine, but I'm not always having the camera in front of my nose.

For a while, for a long while no intra frame appears. Sometimes more than a minute. Whenever the browser thinks it is time to send an intra frame...

Is there any way, that I can make KMS send a PLI or FIR or whatever RTCP packet to the upstream WebRTC publisher source, whenever a new RTSP client joins (not sure if I will be able to detect that, but at least that would be a way).

Or even a regular FIR/PLI request upstream?

Anything?

Again: It works, if KMS does the transcoding

I have seen another post here, where Juan stated:

You can use Wireshark and see the packets flying in and out of Kurento. KMS forwards PLI and FIR requests to the encoder of the video (e.g. a web browser), so the sender can decide if a new keyframe should be generated. Sometimes Kurento itself acts as encoder when transcoding is enabled, in this case it is Kurento itself the one generating keyframes.

This confirms IMHO why it works with transcoding, but for other reasons I would like to get rid of that

Hello @neilyoung! 👋 we're sorry you found a bug... so first of all, thank you very much for reporting it.

However, your report doesn't follow the issue template, so it is being automatically closed. We are really sorry for that, but we need all reports to follow the template, or else it won't be possible to understand and help with all issues.

Please, create a new issue following the template, or reopen this same issue to edit and provide all required information.