<html><head><style type='text/css'> P {padding:0px; margin:2px; border:0px;font-size:13px;font-family:'arial';}  body {padding:5px; margin:0px; border:0px;font-size:13px;font-family:'arial';}  td {font-size:12px;font-family:'gulim';} </style></head><body><table width=99% align=center height='100'><tr valign=top><td><font size=2><P>Hi Ross,</P>
<P> </P>
<P>I just found out what's going on here.</P>
<P>I feed the Live H.264 directly to the MPEG2TransportStreamFromESSource to make the TS. But right here I have two cases:</P>
<P>+ If I keep the startcode of the H.264 stream then the broken part at the right bottom corner appears but instead I can play back with multiples VLC clients.</P>
<P>+ If I skip the startcode of the H.264 stream then there's no broken part at the right bottom corner but instead I just can play it back with only one VLC client.</P>
<P> </P>
<P>Do you have any ideas? </P>
<P><BR> </P>
<BLOCKQUOTE style="BORDER-LEFT: #000000 2px solid; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px">----------¿øº»¸Þ¼¼Áö---------- <BR>º¸³½»ç¶÷: daniel<phuocpham@ssu.ac.kr><BR>¹Þ´Â»ç¶÷: Ross Finlayson <finlayson@live555.com>,LIVE555 Streaming Media - development & use <live-devel@ns.live555.com><BR>º¸³½³¯Â¥: 2014-01-20 21:39:18<BR>Á¦ ¸ñ: Re: [Live-devel]Problem_with_mpegts_muxer<BR><BR>
<STYLE type=text/css> P {padding:0px; margin:2px; border:0px;font-size:13px;font-family:'arial';}  body {padding:5px; margin:0px; border:0px;font-size:13px;font-family:'arial';}  td {font-size:12px;font-family:'gulim';} </STYLE>

<TABLE width="99%" align=center height=100>
<TBODY>
<TR vAlign=top>
<TD><FONT size=2>
<P>Hi Ross,</P>
<P>Thank you so much for your response!</P>
<P>I already updated the lasted version of Live555. Now I got another problem. I use this kind of chain to make the transport stream: InputVideo(Live H.264)-> H264VideoStreamFramer->MPEG2TransportStreamFromESSource. </P>
<P>With that chain I got the :Frame truncated -> would you tell me where I can increase the buffer ?</P>
<P>The second problem is that after I use VLC to request data and play back. For the first VLC client It found the SPS and PPS and it plays back ok. But for the second VLC client, it cannot play back the stream because it doesnot receive the SPS and PPS and keeps waiting for those parameters. (<SPAN style="FONT-STYLE: italic; COLOR: #00008b">packetizer_h264</SPAN><SPAN style="FONT-STYLE: italic; COLOR: #008000"> warning: </SPAN>waiting for SPS/PPS)</P>
<P style="TEXT-INDENT: 0px; MARGIN: 0px; -qt-block-indent: 0"> </P>
<BLOCKQUOTE style="BORDER-LEFT: #000000 2px solid; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px">----------¿øº»¸Þ¼¼Áö---------- <BR>º¸³½»ç¶÷: ÆʹÝǪ<phuocpham@ssu.ac.kr><BR>¹Þ´Â»ç¶÷: Ross Finlayson <finlayson@live555.com>,LIVE555 Streaming Media - development & use <live-devel@ns.live555.com><BR>º¸³½³¯Â¥: 2014-01-16 14:20:14<BR>Á¦ ¸ñ: Re: [Live-devel]Problem_with_mpegts_muxer<BR><BR>
<STYLE type=text/css> P {padding:0px; margin:2px; border:0px;font-size:13px;font-family:'arial';}  body {padding:5px; margin:0px; border:0px;font-size:13px;font-family:'arial';}  td {font-size:12px;font-family:'gulim';} </STYLE>

<TABLE width="99%" align=center height=100>
<TBODY>
<TR vAlign=top>
<TD><FONT size=2>FYI, the version of Live555 used on my IP camera is the version (1986-2010).<BR>
<BLOCKQUOTE style="BORDER-LEFT: #000000 2px solid; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px">----------¿øº»¸Þ¼¼Áö---------- <BR>º¸³½»ç¶÷: Ross Finlayson <finlayson@live555.com><BR>¹Þ´Â»ç¶÷: LIVE555 Streaming Media - development & use <live-devel@ns.live555.com><BR>º¸³½³¯Â¥: 2014-01-15 00:08:42<BR>Á¦ ¸ñ: Re: [Live-devel] Problem with mpegts muxer<BR><BR><X-BODY style="WORD-WRAP: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space">
<DIV>
<BLOCKQUOTE type="cite">
<DIV style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 5px; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; MARGIN: 0px; PADDING-LEFT: 5px; LETTER-SPACING: normal; PADDING-RIGHT: 5px; FONT: 13px arial; WHITE-SPACE: normal; BORDER-TOP: 0px; BORDER-RIGHT: 0px; WORD-SPACING: 0px; PADDING-TOP: 5px; -webkit-text-stroke-width: 0px">
<TABLE style="Z-INDEX: auto; POSITION: static" width="99%" align=center height=100>
<TBODY>
<TR vAlign=top>
<TD style="FONT-FAMILY: gulim; FONT-SIZE: 12px"><FONT size=2>
<P style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 2px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: arial; FONT-SIZE: 13px; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px">I'm working on an embedded device, the IP network camera. I am using <FONT face=Consolas><FONT size=2 face=Consolas>MPEG2TransportStreamFromESSource to mux H.264 and AAC into transport stream. I succedded the muxing. But at the client side, the bottom right corner always has some broken part as shown in the image of the link below. The broken part is shown in the red square of the image.</FONT></FONT></P>
<P style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 2px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: arial; FONT-SIZE: 13px; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px"><FONT size=2 face=Consolas><FONT size=2 face=Consolas><A href="http://s1208.photobucket.com/user/phuocpham09t/media/mpegts.png.html">http://s1208.photobucket.com/user/phuocpham09t/media/mpegts.png.html</A></FONT></FONT></P>
<DIV style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 2px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: arial; FONT-SIZE: 13px; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px"><FONT size=2 face=Consolas><FONT size=2 face=Consolas></FONT></FONT><BR class=webkit-block-placeholder> </DIV>
<P style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 2px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: arial; FONT-SIZE: 13px; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px"><FONT size=2 face=Consolas><FONT size=2 face=Consolas>Do you have any ideas why?</FONT></FONT></P></FONT></TD></TR></TBODY></TABLE></DIV></BLOCKQUOTE><BR></DIV>
<DIV>No, unfortunately I don't.  However, why are you multiplexing your video and audio into a Transport Stream, and then transmitting the Transport Stream?  It is *much* more efficient (and robust) to stream the H.264 video and AAC audio separately, i.e., as separate RTP streams - without dealing with Transport Streams at all.</DIV>
<DIV><BR></DIV>
<DIV>The way to do this is to create two different "ServerMediaSubsession"s (each one a subclass of "OnDemandServerMediaSubsession", assuming that your server is streaming unicast), and add each one to your server's "ServerMediaSession" (using two calls to "RTSPServer::addSubsession()").</DIV>
<DIV><BR></DIV>
<DIV>One of your "ServerMediaSubsession" subclasses (for video) would create (in its "createNewRTPSink()" virtual function implementation) a "H264VideoRTPSink", fed from a "H264VideoStreamDiscreteFramer".  Your second "ServerMediaSubsession" subclass (for audio) would create (in its "createNewRTPSink()" virtual function implementation) a "MPEG4GenericRTPSink".  (See "ADTSAudioFileServerMediaSubsession.cpp" for an example of how to create a "MPEG4GenericRTPSink" for streaming AAC audio.)</DIV><BR><BR>
<DIV apple-content-edited="true"><SPAN style="LINE-HEIGHT: normal; WIDOWS: 2; TEXT-TRANSFORM: none; FONT-VARIANT: normal; FONT-STYLE: normal; TEXT-INDENT: 0px; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; FONT-FAMILY: Helvetica; WHITE-SPACE: normal; ORPHANS: 2; COLOR: rgb(0,0,0); FONT-WEIGHT: normal; WORD-SPACING: 0px; -webkit-text-stroke-width: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto" class=Apple-style-span><SPAN style="LINE-HEIGHT: normal; WIDOWS: 2; TEXT-TRANSFORM: none; FONT-VARIANT: normal; FONT-STYLE: normal; TEXT-INDENT: 0px; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; FONT-FAMILY: Helvetica; WHITE-SPACE: normal; ORPHANS: 2; COLOR: rgb(0,0,0); FONT-WEIGHT: normal; WORD-SPACING: 0px; -webkit-text-stroke-width: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto" class=Apple-style-span>Ross Finlayson<BR>Live Networks, Inc.<BR><A href="http://www.live555.com/">http://www.live555.com/</A></SPAN></SPAN> </DIV><BR></BLOCKQUOTE></FONT></TD></TR></TBODY></TABLE><BR>
<IMG id=mailexp border=0 src="http://mail.ssu.ac.kr/mail/mail_receipt_check.jsp?ukey=52d76dc53febaa1d638b47a0&userid=phuocpham&mhost=ssu.ac.kr&ahost=d0001" width=0 heigh="0"></BLOCKQUOTE></FONT></TD></TR></TBODY></TABLE><BR>
<IMG id=mailexp border=0 src="http://mail.ssu.ac.kr/mail/mail_receipt_check.jsp?ukey=52dd1c763fede96804a6d297&userid=phuocpham&mhost=ssu.ac.kr&ahost=d0001" width=0 heigh="0"></BLOCKQUOTE></font></td></tr></table><br>
<img id='mailexp' width=0 heigh=0 border=0 src='http://mail.ssu.ac.kr/mail/mail_receipt_check.jsp?ukey=52dd29513fda6f3c72c7677c&userid=phuocpham&mhost=ssu.ac.kr&ahost=d0001'></body></html>