[Live-devel] Get a buffer from a sink

bednar_r romain.bednarowicz at epitech.eu
Thu Feb 23 02:00:46 PST 2012


Hello,

I'm working on a project using an Elphel NC353L camera to feed a RTSP stream.
I would get a buffer from that stream.

I already got one using a v4l2loopback modul, but i have to use an other software (memcoder) to feed my video device and opencv to read it.

That's why i would directly get a buffer from the RTSP stream.
So i tried to understand the examples in the testProgs directory of live555.

Especially testRTSPClient.cpp, is it the good one?

I have no comprehension problem until the taskscheduler event loop.

First of all it open the rtsp url.
Then the event loop, what is it exactly doing?
Running all messages sent by the stream?

I have found this : http://comments.gmane.org/gmane.comp.multimedia.live555.devel/7642

Must i modify the DummySink to get the buffer ?

If yes, can i get the buffer from the fsource (testRTSPClient.cpp:493, don't know where he is defined) ?



Here is the output of testRTSPClient :

[------------------------------------------------------------------------------

Opening connection to 192.168.0.12, port 554...
...remote connection opened
Sending request: DESCRIBE rtsp://192.168.0.12 RTSP/1.0
CSeq: 2
User-Agent: ./testRTSPClient (LIVE555 Streaming Media v2012.01.13)
Accept: application/sdp


Received 247 new bytes of response data.
Received a complete DESCRIBE response:
RTSP/1.0 200 OK
CSeq: 2
Content-Length: 167
Content-Type: application/sdp

m=video 0 RTP/AVP 26
a=type:unicast
c=IN IP4 0.0.0.0

a=x-framerate:49.8355
a=x-width:640
a=x-height:480
a=x-dimensions:640,480
a=control:rtsp://192.168.0.12

[URL:"rtsp://192.168.0.12"]: Got a SDP description:
m=video 0 RTP/AVP 26
a=type:unicast
c=IN IP4 0.0.0.0

a=x-framerate:49.8355
a=x-width:640
a=x-height:480
a=x-dimensions:640,480
a=control:rtsp://192.168.0.12

[URL:"rtsp://192.168.0.12"]: Initiated the "video/JPEG" subsession (client ports 46636-46637)
Sending request: SETUP rtsp://192.168.0.12 RTSP/1.0
CSeq: 3
User-Agent: ./testRTSPClient (LIVE555 Streaming Media v2012.01.13)
Transport: RTP/AVP;unicast;client_port=46636-46637


Received 100 new bytes of response data.
Received a complete SETUP response:
RTSP/1.0 200 OK
CSeq: 3
Session: 47112344
Transport: RTP/AVP;unicast;destination=0;port=46636


[URL:"rtsp://192.168.0.12"]: Failed to set up the "video/JPEG" subsession: Missing or bad "Transport:" header
Sending request: PLAY rtsp://192.168.0.12 RTSP/1.0
CSeq: 4
User-Agent: ./testRTSPClient (LIVE555 Streaming Media v2012.01.13)
Session: 47112344
Range: npt=0.000-


Received 28 new bytes of response data.
Received a complete PLAY response:
RTSP/1.0 200 OK
CSeq: 4


[URL:"rtsp://192.168.0.12"]: Started playing session...

--------------------------------------------------------------------------------------]

The stream is "Started playing", and i added a cout to know if he use the afterGettingFrame or continuePlaying functions.

Unfortunaltely there is no output from these functions.

I hope you could help me.

Thanks for reading.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20120223/07a6b7c5/attachment.html>


More information about the live-devel mailing list