On Fri, Apr 30, 2010 at 9:21 AM, Charlie X. Liu <span dir="ltr"><<a href="mailto:charlie@sensoray.com">charlie@sensoray.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div link="blue" vlink="purple" lang="EN-US">
<div>
<p class="MsoNormal"><span style="font-size: 10.5pt; font-family: "Courier New"; color: black;"><a href="http://www.fileden.com/files/2008/12/4/2210768/live555_H.264_tutorial.tar.gz" target="_blank"><span>http://www.fileden.com/files/2008/12/4/2210768/live555_H.264_tutorial.tar.gz</span></a></span></p>
<br></div></div></blockquote><div><br>That tutorial is wrong in so many ways, and personally cost me a good month or two of banging my head against the wall. <br><br>Worst of all:<br><br> // Create an 'H264 Video RTP' sink from the RTP 'groupsock':<br>
mVideoSenderSink = H264VideoRTPSink::createNew(*mEnv, mRtpGroupsock, 96, 0, "h264");<br><br>...that last parameter? It's supposed to be SPS/PPS, base-64 encoded and comma delimited. "h264" is _completely_ wrong. This is probably fine code if your target is VLC, but any standards-based player will probably puke trying to read this stream (as it should, it's totally bogus). <br>
<br>Also, the code doesn't check to make sure the NALU start codes (i.e. 0x000001 or 0x00000001) are stripped off before being sent--also invalid. Lastly, SPS/PPS info should not be sent in-stream; it is better to explicitly strip it out--I check NALU header info and simply discard those entirely (it's already in the SDP exchange, no need to send it in-stream).<br>
</div></div>