On Fri, Apr 30, 2010 at 9:21 AM, Charlie X. Liu <span dir="ltr">&lt;<a href="mailto:charlie@sensoray.com">charlie@sensoray.com</a>&gt;</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: &quot;Courier New&quot;; 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 &#39;H264 Video RTP&#39; sink from the RTP &#39;groupsock&#39;:<br>
    mVideoSenderSink = H264VideoRTPSink::createNew(*mEnv, mRtpGroupsock, 96, 0, &quot;h264&quot;);<br><br>...that last parameter?  It&#39;s supposed to be SPS/PPS, base-64 encoded and comma delimited.  &quot;h264&quot; 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&#39;s totally bogus).  <br>
<br>Also, the code doesn&#39;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&#39;s already in the SDP exchange, no need to send it in-stream).<br>
</div></div>