[Live-devel] Help me please, "testRTSPClient"

Ross Finlayson finlayson at live555.com
Thu Sep 5 13:17:39 PDT 2013


> I looked at the code openRTSP.
> I changed the code of testRTSPClient adding QuickTimeFileSink :: createnew.
> But the video does not play generated.
> 
> Code
>         
>         //scs.subsession->sink = DummySink::createNew(env, *scs.subsession, rtspClient->url());        
>         qtOut = QuickTimeFileSink::createNew(env, *scs.session, "video.mp4", fileSinkBufferSize, 1280, 720, 25, false, true, true, true);
>         qtOut->startPlaying(subsessionAfterPlaying, NULL);
> 
>         env << *rtspClient << "Created a data sink for the \"" << *scs.subsession << "\" subsession\n";
> 
>         /*scs.subsession->miscPtr = rtspClient; 
>         scs.subsession->sink->startPlaying(*(scs.subsession->readSource()),
>                 subsessionAfterPlaying, scs.subsession);*/
> 
>         if (scs.subsession->rtcpInstance() != NULL) {
>             scs.subsession->rtcpInstance()->setByeHandler(subsessionByeHandler, scs.subsession);
>         }
> 
> 
> What am I doing wrong?

First, because you have already called "qtOut<-startPlaying(...);", you must not also call "scs.subsession->sink->startPlaying(...);".

Also, one important thing to understand about the "QuickTimeFileSink" class is that - to properly write the output file (including data 'trailers') - your application *must* close it properly - by calling "Medium::close(qtOut);" - when you're done.  You cannot just '<control>-c' your application.
	See the "Important note" here: http://www.live555.com/openRTSP/#quicktime

If the sender sends RTCP "BYE" packets (for each subsession) when the stream ends, then your application's 'bye handler' should do this automatically. Otherwise, you have to set up a signal handler in your application (as "openRTSP" does), or set up a timer, to close "qtOut" after a certain period of time has elapsed.

I suggest that you first figure out how to get the "openRTSP" application to read your stream - so it will write a proper MP4-format file - and then (and only then) start writing your own application that does the same.


Ross Finlayson
Live Networks, Inc.
http://www.live555.com/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20130905/8905ead9/attachment-0001.html>


More information about the live-devel mailing list