<div dir="ltr">Dear Ross, all,<br> I'm new to live555. I have a video server that it can stream out video data and the stream'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's income stream is come from receive process. I already read FAQ, but I still haven'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>
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> 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>
How should I improve the problem?<br> 2. I try to modified testMPEG4VideoStreamer and merge it into openRTSP. Modifed place as follow:<br> void play(void* clientData) {<br> MediaSubsessionIterator MSIterator(*ClientMediaSession);<br>
MediaSubsession *ClientMediaSubsession = NULL;<br><br> ClientMediaSubsession = MSIterator.next();<br> FramedSource* videoES = ClientMediaSubsession->readSource();<br><br> // Create a framer for the Video Elementary Stream:<br>
videoSource = MPEG4VideoStreamFramer::createNew(*env, videoES);<br><br> // Finally, start playing:<br> *env << "Beginning to read from file...\n";<br> videoSink->startPlaying(*videoSource, afterPlaying, videoSink);<br>
} <br clear="all"> When I executed it. It had show lots of error message as follow:<br> MPEG4VideoStreamParser::parseVideoObjectPlane(): Saw unexpected code 000001E0<br> MPEG4VideoStreamParser::analyzeVOLHeader(): marker_bit not set!<br>
And Sometime had error message as follow:<br> MPEG4VideoStreamParser::parseVideoObjectPlane(): This appears to be a 'short video header', which we current don't support<br> Or<br> MultiFramedRTPSource::doGetNextFrame1(): The total received frame size exceeds the client's buffer size (152). 464 bytes of trailing data will be dropped!<br>
I also used VLC debug mode to connect my modified program at other computer. I can saw the first picture, but I can't saw any more on the next. VLC's log message as follow:<br> avcodec warning: cannot decode one frame (283 bytes)<br>
main warning: late picture skipped (138772)<br> avcodec warning: cannot decode one frame (283 bytes)<br> main warning: late picture skipped (231508)<br> avcodec warning: cannot decode one frame (282 bytes)<br>
main warning: late picture skipped (371951)<br> main warning: late picture skipped (462513)<br> main warning: late picture skipped (917404)<br> main warning: late picture skipped (97524)<br>
avcodec warning: cannot decode one frame (288 bytes)<br> avcodec warning: cannot decode one frame (98 bytes)<br> avcodec warning: cannot decode one frame (250 bytes)<br> avcodec warning: cannot decode one frame (98 bytes)<br>
avcodec warning: cannot decode one frame (282 bytes)<br> main warning: late picture skipped (1095917)<br> avcodec warning: cannot decode one frame (283 bytes)<br> main warning: late picture skipped (136277)<br>
main warning: late picture skipped (127051)<br> avcodec warning: cannot decode one frame (283 bytes)<br> avcodec warning: cannot decode one frame (282 bytes)<br> live555 debug: tk->rtpSource->hasBeenSynchronizedUsingRTCP()<br>
avcodec warning: cannot decode one frame (98 bytes)<br> What's problem in the process? And how should I fix the problem?<br><br> Thanks for your help.<br>-- <br>Best regards,<br><br>Always Chen<br><br>
</div>