<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:arial,helvetica,sans-serif;font-size:10pt"><div>I got H.264 Streaming working with Quicktime. While preparing the sprop_parameter_sets as shown below, I shouldn't have been including the NALU start code which was the problem.<br><br>Currently, quicktime is able to identify the incoming stream and is able to set it's window width and height. However, I observe a green screen and unable to view the video. Has anyone faced this issue before and solved the same? <br><br>Thanks.<br></div><div style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><br><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><font size="2" face="Tahoma"><hr size="1"><b><span style="font-weight: bold;">From:</span></b> Ganesh V <ganesh_vijayan@yahoo.com><br><b><span style="font-weight: bold;">To:</span></b>
live-devel@ns.live555.com<br><b><span style="font-weight: bold;">Sent:</span></b> Wednesday, May 6, 2009 9:28:56 PM<br><b><span style="font-weight: bold;">Subject:</span></b> [Live-devel] H.264 RTSP Streaming with QuickTime<br></font><br>
<div style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><div>Dear Experts,<br><br>Currently, I am trying to achieve generic RTSP H.264 Streaming functionality based on Livemedia. Based on the available literature, I figured that my application needs to generate sprop-parameter-sets for SDP. From livemedia sources, I observed that in H264VideoRTPSink (constructor) fFmtpSDPLine which contains the requisite information is generated. The pseudo-code of my application is as shown below:<br><br><span style="color: rgb(0, 64, 127);"> strcpy(sprop_parameter_sets,base64Encode(sps, length_of_sps);</span><br style="color: rgb(0, 64, 127);"><span style="color: rgb(0, 64, 127);"> len = strlen(sprop_parameter_sets);</span><br style="color: rgb(0, 64, 127);"><span style="color: rgb(0, 64, 127);"> sprop_parameter_sets[len] =
',';</span><br style="color: rgb(0, 64, 127);"><span style="color: rgb(0, 64, 127);"> strcpy(sprop_parameter_sets+len+1, base64Encode(pps, length_of_pps));</span><br style="color: rgb(0, 64, 127);"><br style="color: rgb(0, 64, 127);"><span style="color: rgb(0, 64, 127);"> H264VideoRTPSink::createNew(envir(), rtpGroupsock, rtpPayloadTypeIfDynamic, p_context->profile_level_id, (const char*) sprop_parameter_sets);</span><br><br><span style="color: rgb(0, 0, 0);">With these changes, I am able to stream data from my application. This RTSP stream is successfully decoded and displayed by VLC player, which works without any issues. When I try to play this stream with Quick Time</span>, the session is setup and the player reports "Negotiating, Buffering .." and finally, shows that QT is playing the stream, wherein the time counter is increment. However, there is no video displayed on the QT screen. The window is also not
resized to the actual size of the stream and remains at the default size of the window. When I check the movie info, I observe that width, height and frame rate information is missing.<br><br>I am able to get MPEG4 streaming working without any issues with QT, but facing this issue with H.264. Has anyone tried H.264 RTSP streaming with QT prior and was successfully able to display a H.264 stream? Am I doing some mistake in my logic in invoking H264VideoRTPSink or have I missed some other initialization?<br><br>Many thanks in advance for your help.<br>Ganesh<br></div></div><br>
</div></div></div><br>
</body></html>