[Live-devel] a single application with RTSP client and server

srimugunthan dhandapani srimugunthan.dhandapani at gmail.com
Fri Aug 23 08:48:47 PDT 2013


On Thu, Aug 22, 2013 at 2:53 PM, srimugunthan dhandapani
<srimugunthan.dhandapani at gmail.com> wrote:
> Hi,
> I want to develop a application that receives multiple streams from  cameras
> and
> transcode it and re-export the transcoded streams to to different URLs .
>
> The transcode operation happens asynchronously. So the client and server run
> in different threads
> Before starting the RTSP client and server i need to initialise my
> transcoder.
>
>
> I think i will just make it work for single stream first by combining code
> from testRTSPClient.cpp and testOnDemandRTSPServer.cpp.
>
> The rough skeleton for what i need to accomplish is below:
>
> main()
> {
> InitialiseTxcoder();
> startRTSPClient(URL1,URL2....);
> startRTSPServer();
>
> }
>
> RTSPClient
> {
> afterGettingFrame()
> {
> InputTranscode(channelNum,fReceiveBuffer);
>
> }
> }
>
> RTSPServer
> {
>
> ReceiveSingleTranscodedFrame(&TxFrame, &channelNUM)
> ExportStream(TxFrame, channelNum)
>
> }
>
> 1. How do i run the Client and server as different threads from one single
> application?
> 2. Are there any example programs for this?
>
> Thanks in advance for the help,
> mugunthan

After some more reading of the Live555 FAQs and archives, I
think  the ProxyServer implementation will be useful for my scenario.
(Am i right about this?)

I am thinking of making the following changes in ProxyServerMediaSubsession.cpp:

. change afterGettingFrame() to input the frames to the transcoder
. change createNewStreamSource() to a new FramedSource class that gets
the Frames from the transcoder  output.
For this, I need to get the next frame from the transcoder output and
give these frames as input source?
How do I make this change?

The proxiedURL stream has to wait till the (proxyURL stream +
Transcoder) has started.
How do i do this synchronisation?

In the ProxyServer implementation are the clients and server running
as different threads?

Thanks,
mugunthan


More information about the live-devel mailing list