[Live-devel] waiting for SPS/PPS

Matthew Czarnek mczarnek at edge360.com
Wed Jul 8 12:02:33 PDT 2020


Thanks Ross, whoops, it was indeed my variable.. that's what I get for
naming it similar to how you name your variables :)

I didn't make any changes to that part of the code that parses the sprop,
then passes it into H264VideoRTPSink, so I'm not sure why that was
happening and it's weird that it stopped working. In fact, I remember that
"gM" as being the value that kept being passed in for SPS. However,
switching to directly passing in the sprop-parameter-sets string did fix
it. Thanks.

I made two changes:
1) Switch it to read from test files so I can test this
component individually, which shouldn't affect this bug at all.
2) Updated from Live555 to the newest version from being a few versions
behind.. might want to make sure nothing changed that could introduce a
bug. Though considering that in your code you break down the string and
pass it in as SPS and PPS which works fine.. seems like it's working.  Idk,
weird. Not sure what happened. Oh well.

It does seem like a good idea to be setting "profile-level-id" I could
definitely see us using it.. is there an easy way to set that?

Thanks again,
Matt

On Tue, Jul 7, 2020 at 7:31 PM Ross Finlayson <finlayson at live555.com> wrote:

>
>
> > 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/
>
>
> _______________________________________________
> live-devel mailing list
> live-devel at lists.live555.com
> http://lists.live555.com/mailman/listinfo/live-devel
>


-- 
Matthew Czarnek
(814) 421-6770
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20200708/4c44530c/attachment.htm>


More information about the live-devel mailing list