<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman, new york, times, serif, 新細明體;font-size:18pt"><DIV><FONT size=3>Hi all,</FONT></DIV>
<DIV><FONT size=3></FONT>&nbsp;</DIV>
<DIV><FONT size=3>I want to get remote RTP packets which send from IPcam and then streaming them to the client player. For this, I wrote a new subsession called MPEG4VideoServerMediaSubsession. </FONT></DIV>
<DIV><FONT size=3></FONT><FONT size=3></FONT>&nbsp;</DIV>
<DIV><FONT size=3>This is my subsession</FONT></DIV>
<DIV><FONT size=3></FONT>&nbsp;</DIV>
<DIV><FONT size=3>&nbsp;FramedSource* MPEG4VideoServerMediaSubsession<BR>&nbsp;::createNewStreamSource(unsigned /*clientSessionId*/, unsigned&amp; estBitrate) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;estBitrate = 90000; // kbps, estimate</FONT></DIV>
<DIV><FONT size=3><BR>&nbsp;&nbsp;&nbsp;&nbsp; struct in_addr serverAddress;<BR>&nbsp;&nbsp;&nbsp;&nbsp; serverAddress.s_addr = our_inet_addr("192.168.13.145");</FONT></DIV>
<DIV><FONT size=3>&nbsp;&nbsp;&nbsp;&nbsp; const Port recvPort(8888); <BR>&nbsp;&nbsp;&nbsp;&nbsp; const unsigned char ttl = 255; <BR>&nbsp;&nbsp;&nbsp;&nbsp; Groupsock rtpGroupsockVideo(envir(), serverAddress, recvPort, ttl);</FONT></DIV>
<DIV><FONT size=3>&nbsp;&nbsp;&nbsp;&nbsp; FramedSource* videoES = MPEG4ESVideoRTPSource::createNew(envir(),<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &amp;rtpGroupsockVideo, 96, 90000);</FONT></DIV>
<DIV><FONT size=3></FONT>&nbsp;</DIV>
<DIV><FONT size=3>&nbsp;&nbsp;&nbsp; return MPEG4VideoStreamDiscreteFramer::createNew(envir(), videoES);</FONT><FONT size=3><BR>}</FONT></DIV>
<DIV><FONT size=3></FONT>&nbsp;</DIV>
<DIV><FONT size=3>createNewRTPSink() is the same with MPEG4VideoFileServerMediaSubsession.cpp.</FONT></DIV>
<DIV><FONT size=3></FONT>&nbsp;</DIV>
<DIV><FONT size=3>char const* MPEG4VideoServerMediaSubsession<BR>::getAuxSDPLine(RTPSink* rtpSink, FramedSource* inputSource) {<BR>&nbsp;&nbsp;&nbsp; char const* auxSDPLine = "a=fmtp:96 streamtype=4; profile-level-id=1;</FONT></DIV>
<DIV><FONT size=3>&nbsp;&nbsp;&nbsp; config=000001000000012000C8088002D14043C14183;\n";</FONT></DIV>
<DIV><FONT size=3>&nbsp;&nbsp;&nbsp;&nbsp;return auxSDPLine;<BR>}</FONT></DIV>
<DIV><FONT size=3></FONT>&nbsp;</DIV>
<DIV><FONT size=3>The SDP line I got from the IPcam SDP file.</FONT></DIV>
<DIV><FONT size=3></FONT>&nbsp;</DIV>
<DIV><FONT size=3>The main program is the same like testOnDemandRTSPServer.cpp. The only different is using my subsession to replace the FileSubsession.</FONT></DIV>
<DIV><FONT size=3></FONT>&nbsp;</DIV>
<DIV><FONT size=3>But I got&nbsp;a crash and have no idea how to solve it. Have anyone can give some hint?</FONT></DIV>
<DIV><FONT size=3>Thanks a lot.</FONT></DIV></div><br>___________________________________________________ <br> 您的生活即時通 - 溝通、娛樂、生活、工作一次搞定! <br> http://messenger.yahoo.com.tw/</body></html>