<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><base href="x-msg://586/"><style><!--
/* Font Definitions */
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:PMingLiU;
        panose-1:2 2 5 0 0 0 0 0 0 0;}
@font-face
        {font-family:PMingLiU;
        panose-1:2 2 5 0 0 0 0 0 0 0;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:PMingLiU;
        panose-1:2 2 5 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.apple-tab-span
        {mso-style-name:apple-tab-span;}
span.apple-style-span
        {mso-style-name:apple-style-span;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=ZH-TW link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span class=apple-tab-span><span lang=EN-US>Yes Sir.,<o:p></o:p></span></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span class=apple-tab-span><span lang=EN-US>I change </span></span><span class=apple-tab-span><span lang=EN-US>OutPacketBuffer::maxSize</span><span lang=EN-US> to be 300000. The display of local RTSP client is correct. Unfortunately, the remote client’s display is still incorrect. Do you have any idea about this situation?<o:p></o:p></span></span></p><p class=MsoNormal><span class=apple-tab-span><span lang=EN-US><o:p> </o:p></span></span></p><p class=MsoNormal><span class=apple-tab-span><span lang=EN-US>Expect your response. Thank you.<o:p></o:p></span></span></p><p class=MsoNormal><span class=apple-tab-span><span lang=EN-US><o:p> </o:p></span></span></p><p class=MsoNormal><span class=apple-tab-span><span lang=EN-US>Best regards,<o:p></o:p></span></span></p><p class=MsoNormal><span class=apple-tab-span><span lang=EN-US><o:p> </o:p></span></span></p><p class=MsoNormal><span class=apple-tab-span><span lang=EN-US>Eden </span></span><span lang=EN-US style='font-family:"Calibri","sans-serif";color:#1F497D'><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> live-devel-bounces@ns.live555.com [mailto:live-devel-bounces@ns.live555.com] <b>On Behalf Of </b>Ross Finlayson<br><b>Sent:</b> Monday, August 13, 2012 12:51 PM<br><b>To:</b> LIVE555 Streaming Media - development & use<br><b>Subject:</b> Re: [Live-devel] A Problem of RTSP Server<o:p></o:p></span></p></div></div><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>The problem with your file can be seen clearly if you look at the warning messages that are clearly being output on your console.   For example:<o:p></o:p></span></p><div><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><div><p class=MsoNormal><span class=apple-tab-span><span lang=EN-US>        </span></span><span lang=EN-US>MultiFramedRTPSink::afterGettingFrame1(): The input frame data was too large for our buffer size (101348). 35198 bytes of trailing data was dropped! Correct this by increasing "OutPacketBuffer::maxSize" to at least 135198, *before* creating this 'RTPSink'. (Current value is 100000.)<o:p></o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US>(Did you not notice these messages in your console output??)<o:p></o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US>I.e., the problem is that your file contains several extremely large (I might say ridiculously large - see below[*]) NAL unit.  By default, the "LIVE555 Media Server" code uses a buffer that is not large enough to handle such huge NAL units.  However, you can fix it by changing line 117 of "mediaServer/DynamicRTSPServer.cpp" from<o:p></o:p></span></p></div></div><div><p class=MsoNormal><span class=apple-tab-span><span lang=EN-US>        OutPacketBuffer::maxSize = </span></span><span lang=EN-US>1<span class=apple-tab-span>00000; // allow for some possibly large H.264 frames</span><o:p></o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US>to<o:p></o:p></span></p></div><div><p class=MsoNormal><span class=apple-tab-span><span lang=EN-US>        OutPacketBuffer::maxSize = 200000; // allow for some possibly large H.264 frames</span></span><span lang=EN-US><o:p></o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US>and recompiling the LIVE555 Media Server.<o:p></o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US>If you do this, you will eliminate the problem at the server end.  However, your client - VLC - will still have a problem when it receives the first of these extremely large NAL units.  It also uses a buffer that is, by default, too small to receive these large NAL units.  The first time it notices that its buffer is too small, it will increase the buffer size, and then that will prevent the problem reoccurring for subsequent NAL units.<o:p></o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US>[*]The only way to overcome this (other than by modifying and recompiling VLC, but that's not our software) is to not send such ridiculously large NAL units.  You should reconfigure your encoder to encode each IDR picture (i.e., 'I-frame') into multiple 'slice' NAL units.  This is a good idea, because if packets forming a 'slice' NAL unit get lost, then that will cause only that slice to be non-renderable.  On the other hand, if the IDR picture is a complete NAL unit, then the loss of *any* packet will cause the whole picture to be non-renderable.<o:p></o:p></span></p></div><p class=MsoNormal style='margin-bottom:12.0pt'><span lang=EN-US><o:p> </o:p></span></p><div><p class=MsoNormal><span class=apple-style-span><span lang=EN-US style='font-size:13.5pt;font-family:"Helvetica","sans-serif";color:black'>Ross Finlayson</span></span><span lang=EN-US style='font-size:13.5pt;font-family:"Helvetica","sans-serif";color:black'><br><span class=apple-style-span>Live Networks, Inc.</span><br><span class=apple-style-span><a href="http://www.live555.com/">http://www.live555.com/</a></span></span><span lang=EN-US> <o:p></o:p></span></p></div><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p></div></body></html>