-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
H264 keyframe detection fail with correct RTSP stream from SharpRTSP #1482
Comments
Whether Janus detects a keyframe or not is not important: it's the browser that needs to detect something to decode, and if that's not happening it's a stream issue. Bringing VLC in the discussion is irrelevant, browsers have a different media stack and different constraints with respect to H264. Closing as not a bug. |
I do think it is a bug since retrieving the camera directly without going through SharpRTSP actually works, and since SharpRTSP doesn't decode/reencode anything and just throw the frames untouched, why would this not work ? (also while I retrieve the camera directly without having to go through SharpRTSP, Janus actually detect key I-frames) |
Janus just relays media as well, without transcoding. |
If it works without SharpRTSP in the middle, I'd say the problem is in SharpRTSP then. |
That's what i would've said also, but the RTSP link provided by SharpRTSP is actually valid since it is playable by VLC and even webrtc-streamer, which is a similar solution to Janus |
We can also see that the received SDP in our browser is definitely not the one we send with SharpRTSP, I believe Janus is indeed overriding some values, you spoke about a "videofmtp" attribute, is this maybe linked? @lminiero |
Tracking down the problem, it seems like the difference at browser side is that the fmtp end up beeing overriden, when we send the proxied stream from SharpRTSP to Janus the fmtp video is: 42e01f when using directly the camera Janus do not override the ftmp and leave 4d002a |
As I've said you can override the fmtp, check the videofmtp property which is explained in the configuration file. |
@lminiero We've discussed a bit with the person behind SharpRTSP here: Maybe something is relevant for you in the thread discussion to track down the problem ? |
Hi,
this seems to be the problem for me. here is my sdp:
|
Just adding into this thread. So it is possible the problem is the very basic H264 encoder in the example. Proper users of SharpRTSP would use a proper H264 encoder. |
I tried with h264 frames coming from an IPCamera and sending them into the rtsp stream (no TinyH264 in the loop), here is the result: The problem is different in this case:
the rtsp stream works in VLC |
moved from: https://groups.google.com/forum/#!topic/meetecho-janus/ZTFWDyLvU6g
as this seems to be a bug
As stated in the google group discussion, receiving h264 streaming from a SharpRTSP generated RTSP stream doesn't work:
utils.c: line 643
the
return TRUE
of this function is never called and therefore no keyframe is ever found, the stream however works correctly in VLC and other streaming solutions, which make me think that the Sharp RTSP stream is indeed correctly formatted but the header is wrongly parsed in this method ?I'm trying to wrap my head around the specific part that parse the header but I do not manage to understand how the magic operations & numbers work
The text was updated successfully, but these errors were encountered: