<div>As an H.264 source, I'm using a DirectShow filter implementation of x264 which can be found here:</div>
<div> </div>
<div><a href="http://blog.monogram.sk/janos/2008/12/29/monogram-x264-encoder-1020/">http://blog.monogram.sk/janos/2008/12/29/monogram-x264-encoder-1020/</a></div>
<div> </div>
<div>...and here are some comments by the author of that x264 filter regarding the output:</div>
<div> </div>
<div><< This filter delivers NAL units in the form as they are described in ISO/IEC 14496-15 (AVC File Format). That means each NAL unit is superceeded by 4-byte length and then the NAL unit follows (without the Annex B start code). Most filters supporting H.264 do this the same way (Haali splitter, ffdshow, …)
<p>e.g.<br>00 00 00 37 | 45 … (another 0×36 bytes of IDR nal unit)</p>
<p>If more NAL units are delivered they look like this</p>
<p><4byte SIZE>NAL<4byte SIZE>NAL</p>
<p>2) “00 00 00 01″ is not in there</p>
<p>3) When you skip the first 4 bytes you get the exact start of the NAL unit</p>
<p>4) PPS and SPS are encoded in the mediatype format structure AFTER the VideoInfo or MPEG_VIDEO_INFO structures. They are encoded in this form</p>
<p><2byte size>NAL<2byte size>NAL</p>
<p>This might look like this :</p>
<p>00 1B 67 42 C0 33 AB 40 5A 09 37 FE 00 20 00 1E 20 00 00 03 00 20 00 00 06 51 E3 06 54 00 04 68 CE 3C 80 >></p></div>
<div>What I want to do is stream this video using Live555. I've created a framer that inherits from <font size="2">H264VideoStreamFramer. I see that it does "stream" something out over the network, but I can't get VLC to render it correctly. I see that my NAL units come with a 4-byte header specifying the length of the NAL unit. Each of my NAL units appears to roughly correspond with a single frame of video (i.e. one frame = one NAL unit, so the buffers are sort of big). </font></div>
<div> </div>
<div>My question is: do I need to package this according to RFC 3984? Also, do I need to break it up (my NAL units are decidedly larger than 1400 bytes...), or can I count on the <font size="2">H264FUAFragmenter to do that for me? I'm definitely confused on how I need to format the output of my decoder. If it helps, I can definitely post some code snippets.</font></div>
<div> </div>
<div>One final (unrelated) question: I'm confused about fPresentationTime. What are the units of this value? Is it an absolute time or a relative time, and do I need to set any "base" times or anything like that? I get timestamps from my encoder, but I'm not sure how they relate to fPresentationTime.</div>
<div> </div>
<div>Any advice is much appreciated; thank you in advance!</div>