[Live-devel] H264DiscreteFramer from custom source

James Norris norris.j at gmail.com
Thu Nov 17 02:27:26 PST 2011


Hey Ross,

I've duplicated some code from H264VideoFileServerMediaSubsession
which streams into a 'dummy' RTP sink to get the SPS/PPS.  Now the SDP
contains the SDP description:

a=fmtp:96 packetization-mode=1;profile-level-id=42C00B;sprop-parameter-sets=Z0LA
C9oECaEAAAMAAQAAAwA8jxQqoA==,aM4fIA==

The entire log including the full SDP is inside the same location:

http://www.cs.nott.ac.uk/~jzn/live/log.txt

Unfortunately I'm getting the same symptoms, the h264 file created is
in-readable and VLC buffers twice, produces no errors and cannot
display anything.  I also checked that the discrete framer is
interpreting the SPS/PPS via a couple of println's alongside
'saveCopyOfPPS'.  Seems fine!

I'm at a complete loss here, as far as I can see the stream is
correct, but still nothing is able to interpret it.  I've put another
.h264 file in the same place:

http://www.cs.nott.ac.uk/~jzn/live/test.h264

Thanks again,
James




On Thu, Nov 17, 2011 at 12:25 AM, Ross Finlayson <finlayson at live555.com> wrote:
> Am I correct in saying that there should be an extra line in this SDP
> which translates to an interpreted SPS/PPS NAL via the discrete
> framer?  Even without this line in the SDP, VLC should still be able
> to understand the stream as the SPS/PPS are inline though?
>
> Not necessarily - depending upon how smart VLC's H.264 decoder is (or
> isn't).
> But the problem here is that the SPS and PPS NAL units are *not* appearing
> in the stream, because the "H264VideoStreamDiscreteFramer" is not
> recognizing them.  That's why there isn't a separate "a=fmtp:" line in the
> SDP description.
> You can verify this yourself by reviewing the code for
> "H264VideoStreamDiscreteFramer::afterGettingFrame1()" (in
> "liveMedia/H264VideoStreamDiscreteFramer.cpp").  Note the "if" statement
> beginning at line 67, where the code checks the "nal_unit_type".  In your
> case, it is apparently never seeing a SPS or PPS NAL unit.  That's the
> problem (with your input data) that you need to address.
>
> 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
>
>



More information about the live-devel mailing list