<div dir="ltr">Dear Ross, all,<br>&nbsp; I&#39;m new to live555. I have a video server that it can stream out video data and the stream&#39;s format is use mpeg4. I can receive stream from that device using openRTSP. And I also can see mpeg4 video in VLC using testOnDemandRTSPServer. Now, I want to receive stream from the video server using live555. And I also want to have a software video server. The software video server&#39;s income stream is come from receive process. I already read FAQ, but I still haven&#39;t any idea to do this. So, I try to find the answer at the live-devel mail list and find some information. But I still have some problem as follow:<br>
&nbsp; 1. When I try to use the command as follow:openRTSP -s 0 -v rtsp://<a href="http://admin:12345678@192.0.0.10:6000/udpstream">admin:12345678@192.0.0.10:6000/udpstream</a> | testOnDemandRTSPServer<br>&nbsp;&nbsp;&nbsp;&nbsp; I can saw the video using VLC at other computer. But the video quality is so bad enough(lots of mosaic, lose lots of frame, delay etc.). <br>
&nbsp;&nbsp;&nbsp;&nbsp; How should I improve the problem?<br>&nbsp; 2. I try to modified testMPEG4VideoStreamer and merge it into openRTSP. Modifed place as follow:<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; void play(void* clientData) {<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; MediaSubsessionIterator MSIterator(*ClientMediaSession);<br>
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; MediaSubsession *ClientMediaSubsession = NULL;<br><br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; ClientMediaSubsession = MSIterator.next();<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; FramedSource* videoES = ClientMediaSubsession-&gt;readSource();<br><br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; // Create a framer for the Video Elementary Stream:<br>
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; videoSource = MPEG4VideoStreamFramer::createNew(*env, videoES);<br><br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; // Finally, start playing:<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; *env &lt;&lt; &quot;Beginning to read from file...\n&quot;;<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; videoSink-&gt;startPlaying(*videoSource, afterPlaying, videoSink);<br>
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; } <br clear="all">&nbsp;&nbsp;&nbsp;&nbsp; When I executed it. It had show lots of error message as follow:<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; MPEG4VideoStreamParser::parseVideoObjectPlane(): Saw unexpected code 000001E0<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; MPEG4VideoStreamParser::analyzeVOLHeader(): marker_bit not set!<br>
&nbsp;&nbsp;&nbsp;&nbsp; And Sometime had error message as follow:<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; MPEG4VideoStreamParser::parseVideoObjectPlane(): This appears to be a &#39;short video header&#39;, which we current don&#39;t support<br>&nbsp;&nbsp;&nbsp;&nbsp; Or<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; MultiFramedRTPSource::doGetNextFrame1(): The total received frame size exceeds the client&#39;s buffer size (152).&nbsp; 464 bytes of trailing data will be dropped!<br>
&nbsp;&nbsp;&nbsp;&nbsp; I also used VLC debug mode to connect my modified program at other computer. I can saw the first picture, but I can&#39;t saw any more on the next. VLC&#39;s log message as follow:<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; avcodec warning: cannot decode one frame (283 bytes)<br>
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; main warning: late picture skipped (138772)<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; avcodec warning: cannot decode one frame (283 bytes)<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; main warning: late picture skipped (231508)<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; avcodec warning: cannot decode one frame (282 bytes)<br>
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; main warning: late picture skipped (371951)<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; main warning: late picture skipped (462513)<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; main warning: late picture skipped (917404)<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; main warning: late picture skipped (97524)<br>
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; avcodec warning: cannot decode one frame (288 bytes)<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; avcodec warning: cannot decode one frame (98 bytes)<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; avcodec warning: cannot decode one frame (250 bytes)<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; avcodec warning: cannot decode one frame (98 bytes)<br>
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; avcodec warning: cannot decode one frame (282 bytes)<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; main warning: late picture skipped (1095917)<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; avcodec warning: cannot decode one frame (283 bytes)<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; main warning: late picture skipped (136277)<br>
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; main warning: late picture skipped (127051)<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; avcodec warning: cannot decode one frame (283 bytes)<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; avcodec warning: cannot decode one frame (282 bytes)<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; live555 debug: tk-&gt;rtpSource-&gt;hasBeenSynchronizedUsingRTCP()<br>
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; avcodec warning: cannot decode one frame (98 bytes)<br>&nbsp;&nbsp;&nbsp;&nbsp; What&#39;s problem in the process? And how should I fix the problem?<br><br>&nbsp;&nbsp;&nbsp;&nbsp; Thanks for your help.<br>-- <br>Best regards,<br><br>Always Chen<br><br>

</div>