<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>