________________________________
From: live-devel [live-devel-boun...@ns.live555.com] on behalf of Jasleen Kaur 
[jasl...@beesys.com]
Sent: Wednesday, October 01, 2014 2:32 PM
To: LIVE555 Streaming Media - development & use
Subject: Re: [Live-devel] Writing RTSP server


From: live-devel [live-devel-boun...@ns.live555.com] on behalf of Ross 
Finlayson [finlay...@live555.com]
Sent: Wednesday, October 01, 2014 11:42 AM
To: LIVE555 Streaming Media - development & use
Subject: Re: [Live-devel] Writing RTSP server


Our requirement is to using Live555 libraries to stream real time data ( data 
generated by our software) , using RTSP.

Is it possible using Live555 libraries

Yes, of course.  See
http://www.live555.com/liveMedia/faq.html#liveInput-unicast



Thanks for the prompt reply.
Just want to confirm the following:

1) We have to create our own source class derived from FramedSource
2) Another class derived from 
OnDemandServerMediaSubsession<http://www.live555.com/liveMedia/doxygen/html/classOnDemandServerMediaSubsession.html>
3) We have to implement  "createNewStreamSource()" and "createNewRTPSink()" 
methods in the
    custom mediasession class.
    In  "createNewStreamSource()" we have create our own source.
    Do we have to create a custom sink class also for "createNewRTPSink()"
    Also what is the role of a sink ? Does Sink do the actual streaming ?


Best Regards
Jasleen



> Just want to confirm the following:
>
> 1) We have to create our own source class derived from FramedSource

Yes, but only if your encoded video (or audio) stream is not accessible as a 
file in the file system (e.g., under /dev/).


> 2) Another class derived from OnDemandServerMediaSubsession

Yes,  if you needed to define your own source class for your encoded data.


> 3) We have to implement  "createNewStreamSource()" and "createNewRTPSink()" 
> methods in the
>     custom mediasession class.
>     In  "createNewStreamSource()" we have create our own source.

Yes.


>     Do we have to create a custom sink class also for "createNewRTPSink()"

No; an existing "RTPSink" subclass should already be defined (use the one 
that's appropriate for the kind of media that you're streaming).


>     Also what is the role of a sink ? Does Sink do the actual streaming ?

See http://www.live555.com/liveMedia/faq.html#control-flow




Thanks Ross for the explanation.

I tried testRTSPclient to receive the streamed data , instead of VLC 
player.What I could find out it that the response for 'DESCRIBE" request is not 
received at the client end.

While debugging the server application I could see that, when my Subsession's 
getAuxSDPLine is called , it gets stuck in the last statement before return i.e 
at envir().taskScheduler().doEventLoop(&fDoneFlag);
So it is not able to return from this method.What could be the reason for this? 
Also,

Currently uncompressed ARGB data is given out from our custom source and 
following is the code written in createNewRTPSink  of our MedisSubSession 
class.(which we wish to compress into H.264 and then stream )


OutPacketBuffer::maxSize = 720*576*4; // by default

MultiFramedRTPSink* pSink = SimpleRTPSink::createNew(envir(), rtpGroupsock,

rtpPayloadTypeIfDynamic, 90000, "video", "WASP",

1, True, False /*no 'M' bit*/);

return pSink;



I wonder what should be the payloadType, and payload frequency and rest of the 
paramaters for SimpleRTPSink::createNew.



Regards

Jasleen

_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to