4 byte start code is required on sps and pps nals.  All others may be 3 or 4 bytes.  Admittedly, the spec is way too wordy but is summarized in the previous sentence.  Also, the pps and sps nals do not need to be repeated unless the future frame requires it.  I have a camera that only supplies sps and pps in the rtsp setup, and then emits idr and slice in the rtp stream<br><br>Jeff Shanab <jshanab@jfs-tech.com> wrote:<br><br><div dir="ltr"><div>Sounds like you have a good understanding of the nal units and h264 traffic in general. So It might be a decoder issue. <br></div><div>I have found descrepencies in interpretations of the standard.<br><br>
</div><div>From experience...<br></div><div>Each Nal unit needs a header before it goes to the decoder. This is the 00 00 00 01  before the nal unit. I have seen some streams only have 00 00 01 and different versions of libavcodec for example would be tolerent or not tolerent of this. <br>
<br></div><div>Assuming [x] represents the nal unit  x with the headers. and 7 is sps 8 is pps 5 is IDR slice and 1 is P-slice<br><br></div><div>[7][8][5][1][1][1]...[1][7][8][5][1][1]... is normal<br>[7][8][5][5][5][1][1][1]...[1][7][8][5][5][5][1][1]... is seen on high resolution<br>
[7][8][5][1][1][1]...[1][5][1][1]... is legal<br>[7][8][5][1][1][1]...[1][7][8][1][1]...[5][1][1].... is actually legal per standard but messes with some decoders.<br><br><br><br></div></div><div class="gmail_extra"><br><br>
<div class="gmail_quote">On Thu, Feb 13, 2014 at 9:13 AM, Eli <span dir="ltr"><<a href="mailto:eli.b@bdrgroup.com" target="_blank">eli.b@bdrgroup.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">






<div link="blue" vlink="purple" lang="EN-US">
<div>
<p class="MsoNormal">Hi everyone,<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">I have encountered a strange problem while playing an RTP H.264 stream using VLC player.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">I am developing firmware for an IP camera designed to be used with specialized software (control client).
<u></u><u></u></p>
<p class="MsoNormal">By default, the camera's RTSP streamer (based on wis-streamer with a custom video source) had a bug where in each GOP, the SPS, PPS, SEI and IDR-frame were all grouped, and the stream simply consisted of an SPS NAL unit, followed by several
 P-slices. The PPS, SEI, and IDR-frame were all hidden inside the payload of the SPS packet. This caused the target software to be unable to play the stream, yet VLC player worked just fine.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">After fixing the video source and properly splitting the various NAL units, the stream works properly on the target client, but now it works only partially with VLC - sometimes it works well, other times it freezes after showing 1-2 frames.
 Looking at the wireshark capture, the stream now looks like a proper H.264 stream: SPS, PPS, SEI, IDR, P-Slice, P-Slice, P-Slice…<u></u><u></u></p>
<p class="MsoNormal">I've uploaded wireshark logs and VLC logs for both scenarios (old stream, new stream):<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><a href="https://www.dropbox.com/s/kk4m04toudijb82/new.log" target="_blank">https://www.dropbox.com/s/kk4m04toudijb82/new.log</a><u></u><u></u></p>
<p class="MsoNormal"><a href="https://www.dropbox.com/s/gyg39osmhqi7p1r/New.pcapng" target="_blank">https://www.dropbox.com/s/gyg39osmhqi7p1r/New.pcapng</a><u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><a href="https://www.dropbox.com/s/ewank7m3itt8jcr/old.log" target="_blank">https://www.dropbox.com/s/ewank7m3itt8jcr/old.log</a><u></u><u></u></p>
<p class="MsoNormal"><a href="https://www.dropbox.com/s/jk08a4nq8cuog76/Old.pcapng" target="_blank">https://www.dropbox.com/s/jk08a4nq8cuog76/Old.pcapng</a><u></u><u></u></p>
<p class="MsoNormal"><br>
I’ve posted this question to the VLC support boards and was advised it might be a live555 problem and that I should ask about it over here.<u></u><u></u></p>
<p class="MsoNormal">Any help would be greatly appreciated.<u></u><u></u></p>
</div>
</div>

<br>_______________________________________________<br>
live-devel mailing list<br>
<a href="mailto:live-devel@lists.live555.com">live-devel@lists.live555.com</a><br>
<a href="http://lists.live555.com/mailman/listinfo/live-devel" target="_blank">http://lists.live555.com/mailman/listinfo/live-devel</a><br>
<br></blockquote></div><br></div>