Discussion:
[Live-devel] SDP help
Brian Koblenz
2018-09-12 03:02:29 UTC
Permalink
I have recently starting using live555ProxyServer and think it can be the
ideal interface for my needs.

In my case, I am using the Janus gateway to link webRTC browsers to rtsp
streams that are collected by live555ProxyServer.

Things work fine under Windows 10 with Chrome and Safari.

Under comparable versions of the browsers and Windows 7 I would get a:
DOMException: Failed to set remote offer sdp: Failed to set remote video
description send parameters

I also get the same error when using Safari on IOS, but I have less tools
available there to determine what is going on.

I have done some searching on the internet and this seems to be associated
with the sdp profile-level-id. The one I am receiving from
live555ProxyServer is 4D001E. If I manually change that 42e01f before
sending it to the browser, then things can operate acceptably. However
that replacement still fails for Safari/IOS.

So does anyone have experience using live555ProxyServer sdp with windows 7
or IOS?

Can someone explain the important difference between these sdp's and is
there something I can do to make live555ProxyServer generate sdps that will
work more broadly?

I would rather make changes that are understood in live555ProxyServer than
hack the javascript processing the sdp in a way I do not understand.

thanks
-brian
Ross Finlayson
2018-09-12 03:12:07 UTC
Permalink
DOMException: Failed to set remote offer sdp: Failed to set remote video description send parameters
Sorry, but this error message has nothing to do with our software. You probably have the wrong mailing list.
I would rather make changes that are understood in live555ProxyServer
Sorry, but once you’ve modified the supplied LIVE555 code, you can’t expect any help on this mailing list.


Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
Brian Koblenz
2018-09-12 19:20:26 UTC
Permalink
Post by Brian Koblenz
Post by Brian Koblenz
DOMException: Failed to set remote offer sdp: Failed to set remote video
description send parameters
Sorry, but this error message has nothing to do with our software. You
probably have the wrong mailing list.
I understand that the exception is coming from the browser. I have traced
it back to a profile-level-id that the browser
cannot handle. I believe that value is coming from (or through) your
software.

I think it is likely coming from liveMedia/H264RTPSink.cpp. What I have
not yet figured out is are you generating the
SDP in live555ProxyServer or are you just passing something through that
the end device sent to you.


u_int32_t profileLevelId = (spsWEB[1]<<16) | (spsWEB[2]<<8) | spsWEB[3];
delete[] spsWEB;

char* sps_base64 = base64Encode((char*)sps, spsSize);
char* pps_base64 = base64Encode((char*)pps, ppsSize);

char const* fmtpFmt =
"a=fmtp:%d packetization-mode=1"
";profile-level-id=%06X"
";sprop-parameter-sets=%s,%s\r\n";
unsigned fmtpFmtSize = strlen(fmtpFmt)
+ 3 /* max char len */
+ 6 /* 3 bytes in hex */
+ strlen(sps_base64) + strlen(pps_base64);
char* fmtp = new char[fmtpFmtSize];
sprintf(fmtp, fmtpFmt,
rtpPayloadType(),
profileLevelId,
sps_base64, pps_base64);
Ross Finlayson
2018-09-12 19:41:35 UTC
Permalink
Post by Ross Finlayson
DOMException: Failed to set remote offer sdp: Failed to set remote video description send parameters
Sorry, but this error message has nothing to do with our software. You probably have the wrong mailing list.
I understand that the exception is coming from the browser. I have traced it back to a profile-level-id that the browser
cannot handle. I believe that value is coming from (or through) your software.
I think it is likely coming from liveMedia/H264RTPSink.cpp. What I have not yet figured out is are you generating the
SDP in live555ProxyServer or are you just passing something through that the end device sent to you.
That error message is definitely not coming from our software.

However, if you are referring specifically to the “profile-level-id” value that the “LIVE555 Proxy Server” (or our non-proxying RTSP server) puts in the SDP descriptor that it gives to ‘front-end’ clients, then that is generated, by “H264VideoRTPSink”, by analyzing the SPS NAL unit that it was given. (By definition, the H.264 “profile-level-id” is defined by bytes 1,2,3 of the SPS NAL unit (after removing any ‘emulation’ bytes).)

So, the “profile-level-id” that our software generates is correct; it comes from the input stream. If, however, your web browser can’t handle that, then that’s a problem for your web browser, or (perhaps) whatever gateway you are using between our RTSP server and your web browser. Again, this has nothing to do with our software, or this mailing list.


Ross Finlayson
Live Networks, Inc.
http://www.live555.com/

Continue reading on narkive:
Loading...