[Live-devel] waiting for SPS/PPS

Ross Finlayson finlayson at live555.com
Tue Jul 7 16:29:50 PDT 2020



> On Jul 8, 2020, at 6:38 AM, Matthew Czarnek <mczarnek at edge360.com> wrote:
> 
> Good catch, you're right about those looking strange.. I don't think I have been setting profile-level-id, I can't remember doing that anyway, how would I set that one?

Don’t worry about that; it comes automatically from the SPS NAL unit.  So, the SPS and PPS NAL units are all that you need to worry about here.


> Regarding sprop-parameter-sets, I'm still exploring but I believe that one is created from fSPSNAL and fPPSNAL, which appear to be set correctly, am I right?
> fPPSNALSize = 4 
> fPPSNAL = "hî<€ýýýýd™Nõ"
> 
> fSPSNAL = "gM"
> fSPSNALSize = 20

What are these variables?  They don’t appear anywhere in our code; therefore they must instead be somewhere in your code - most likely in your implementation of “createNewRTPSink”, in the “OnDemandServerMediaSubsession” subclass that you’ve written, as described here:
	http://live555.com/liveMedia/faq.html#liveInput-unicast
I’m guessing that you’re using these variable as parameters to your call to
	H264VideoRTPSink::createNew()
In which case there’s a much easier way for you to be doing this; see below.


> I know what it's supposed to be as I'm using ffmpeg to pull both sprop-parameter-sets and profile-level-id out of the file: a=fmtp:96 packetization-mode=1; sprop-parameter-sets=Z00AKeKQDwBE/LgLcBAQHh4kRUA=,aO48gA==; profile-level-id=4D0029
> But I then parse it and turn it into the PPS and SPS, so Live555 can turn it back.

In this case, you know the "sprop-parameter-sets” string in advance.  You don’t need to convert this to binary yourself; instead you can just use the third variant of “H264VideoRTPSink::createNew()” (see “liveMedia/include/H264VideoRTPSink.hh”), and just call
	H264VideoRTPSink::createNew(env, RTPgs, rtpPayloadFormat, "Z00AKeKQDwBE/LgLcBAQHh4kRUA=,aO48gA==“)


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




More information about the live-devel mailing list