[Live-devel] Unable to proxy mjpeg with live555ProxyServer
Roman Gaufman
hackeron at gmail.com
Sat Mar 30 06:30:57 PDT 2013
No change :(
After recompiling with OutPacketBuffer::maxSize = 200000; at the start of
main(), I get this:
$ live555ProxyServer -V rtsp://192.168.0.221/live2.sdp
LIVE555 Proxy Server
(LIVE555 Streaming Media library version 2013.03.23)
Opening connection to 192.168.0.221, port 554...
RTSP stream, proxying the stream "rtsp://192.168.0.221/live2.sdp"
Play this stream using the URL: rtsp://192.168.0.2:8554/proxyStream
(We use port 8000 for optional RTSP-over-HTTP tunneling.)
...remote connection opened
Sending request: DESCRIBE rtsp://192.168.0.221/live2.sdp RTSP/1.0
CSeq: 2
User-Agent: ProxyRTSPClient (LIVE555 Streaming Media v2013.03.23)
Accept: application/sdp
Received 420 new bytes of response data.
Received a complete DESCRIBE response:
RTSP/1.0 200 OK
CSeq: 2
Date: Wed, 21 Jun 1970 21:15:13 GMT
Content-Base: rtsp://192.168.0.221/live2.sdp/
Content-Type: application/sdp
Content-Length: 256
v=0
o=RTSP 1804513 653 IN IP4 0.0.0.0
s=RTSP server
c=IN IP4 0.0.0.0
t=0 0
a=charset:Shift_JIS
a=range:npt=0-
a=control:*
a=etag:1234567890
m=video 0 RTP/AVP 26
a=control:trackID=2
m=audio 0 RTP/AVP 0
a=control:trackID=3
a=rtpmap:0 pcmu/8000
ProxyServerMediaSession["rtsp://192.168.0.221/live2.sdp/"] added new
"ProxyServerMediaSubsession" for RTP/video/JPEG track
ProxyServerMediaSession["rtsp://192.168.0.221/live2.sdp/"] added new
"ProxyServerMediaSubsession" for RTP/audio/PCMU track
ProxyServerMediaSubsession["JPEG"]::createNewStreamSource(session id 0)
Initiated: ProxyServerMediaSubsession["JPEG"]
ProxyServerMediaSubsession["JPEG"]::createNewRTPSink()
ProxyServerMediaSubsession["JPEG"]::closeStreamSource()
ProxyServerMediaSubsession["PCMU"]::createNewStreamSource(session id 0)
Initiated: ProxyServerMediaSubsession["PCMU"]
ProxyServerMediaSubsession["PCMU"]::createNewRTPSink()
ProxyServerMediaSubsession["PCMU"]::closeStreamSource()
ProxyServerMediaSubsession["JPEG"]::createNewStreamSource(session id
2935397515)
Sending request: SETUP rtsp://192.168.0.221/live2.sdp/trackID=2 RTSP/1.0
CSeq: 3
User-Agent: ProxyRTSPClient (LIVE555 Streaming Media v2013.03.23)
Transport: RTP/AVP;unicast;client_port=59232-59233
ProxyServerMediaSubsession["JPEG"]::createNewRTPSink()
ProxyServerMediaSubsession["PCMU"]::createNewStreamSource(session id
2935397515)
ProxyServerMediaSubsession["PCMU"]::createNewRTPSink()
Received 170 new bytes of response data.
Received a complete SETUP response:
RTSP/1.0 200 OK
CSeq: 3
Date: Wed, 21 Jun 1970 21:15:15 GMT
Session: 180452337;timeout=80
Transport: RTP/AVP;unicast;client_port=59232-59233;server_port=5556-5557
ProxyRTSPClient["rtsp://192.168.0.221/live2.sdp/"]::continueAfterSETUP():
head codec: JPEG; numSubsessions 2
queue: JPEG PCMU
Sending request: SETUP rtsp://192.168.0.221/live2.sdp/trackID=3 RTSP/1.0
CSeq: 4
User-Agent: ProxyRTSPClient (LIVE555 Streaming Media v2013.03.23)
Transport: RTP/AVP;unicast;client_port=52400-52401
Session: 180452337
Received 170 new bytes of response data.
Received a complete SETUP response:
RTSP/1.0 200 OK
CSeq: 4
Date: Wed, 21 Jun 1970 21:15:15 GMT
Session: 180452337;timeout=80
Transport: RTP/AVP;unicast;client_port=52400-52401;server_port=5558-5559
ProxyRTSPClient["rtsp://192.168.0.221/live2.sdp/"]::continueAfterSETUP():
head codec: PCMU; numSubsessions 2
queue: PCMU
Sending request: PLAY rtsp://192.168.0.221/live2.sdp/ RTSP/1.0
CSeq: 5
User-Agent: ProxyRTSPClient (LIVE555 Streaming Media v2013.03.23)
Session: 180452337
Received 264 new bytes of response data.
Received a complete PLAY response:
RTSP/1.0 200 OK
CSeq: 5
Date: Wed, 21 Jun 1970 21:15:15 GMT
Session: 180452337;timeout=80
RTP-Info: url=rtsp://
192.168.0.221/live2.sdp/trackID=2;seq=0;rtptime=0,url=rtsp://192.168.0.221/live2.sdp/trackID=3;seq=0;rtptime=0
Range: npt=0-
RTCP-Interval: 250
Sending request: OPTIONS rtsp://192.168.0.221/live2.sdp/ RTSP/1.0
CSeq: 6
User-Agent: ProxyRTSPClient (LIVE555 Streaming Media v2013.03.23)
Received 145 new bytes of response data.
Received a complete OPTIONS response:
RTSP/1.0 200 OK
CSeq: 6
Date: Wed, 21 Jun 1970 21:15:43 GMT
Public: OPTIONS, DESCRIBE, PLAY, SETUP, GET_PARAMETER, SET_PARAMETER,
TEARDOWN
```
>From client:
```
$ ./openRTSP rtsp://192.168.0.2:8554/proxyStream
Opening connection to 192.168.0.2, port 8554...
...remote connection opened
Sending request: OPTIONS rtsp://192.168.0.2:8554/proxyStream RTSP/1.0
CSeq: 2
User-Agent: ./openRTSP (LIVE555 Streaming Media v2013.03.23)
Received 152 new bytes of response data.
Received a complete OPTIONS response:
RTSP/1.0 200 OK
CSeq: 2
Date: Sat, Mar 30 2013 13:25:47 GMT
Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER,
SET_PARAMETER
Sending request: DESCRIBE rtsp://192.168.0.2:8554/proxyStream RTSP/1.0
CSeq: 3
User-Agent: ./openRTSP (LIVE555 Streaming Media v2013.03.23)
Accept: application/sdp
Received 680 new bytes of response data.
Received a complete DESCRIBE response:
RTSP/1.0 200 OK
CSeq: 3
Date: Sat, Mar 30 2013 13:25:47 GMT
Content-Base: rtsp://192.168.0.2:8554/proxyStream/
Content-Type: application/sdp
Content-Length: 511
v=0
o=- 1364649945494663 1 IN IP4 192.168.0.2
s=LIVE555 Streaming Media v2013.03.23
i=LIVE555 Streaming Media v2013.03.23
t=0 0
a=tool:LIVE555 Streaming Media v2013.03.23
a=type:broadcast
a=control:*
a=range:npt=0-
a=x-qt-text-nam:LIVE555 Streaming Media v2013.03.23
a=x-qt-text-inf:LIVE555 Streaming Media v2013.03.23
m=video 0 RTP/AVP 96
c=IN IP4 0.0.0.0
b=AS:50
a=rtpmap:96 JPEG/90000
a=control:track1
m=audio 0 RTP/AVP 97
c=IN IP4 0.0.0.0
b=AS:50
a=rtpmap:97 PCMU/8000
a=control:track2
Opened URL "rtsp://192.168.0.2:8554/proxyStream", returning a SDP
description:
v=0
o=- 1364649945494663 1 IN IP4 192.168.0.2
s=LIVE555 Streaming Media v2013.03.23
i=LIVE555 Streaming Media v2013.03.23
t=0 0
a=tool:LIVE555 Streaming Media v2013.03.23
a=type:broadcast
a=control:*
a=range:npt=0-
a=x-qt-text-nam:LIVE555 Streaming Media v2013.03.23
a=x-qt-text-inf:LIVE555 Streaming Media v2013.03.23
m=video 0 RTP/AVP 96
c=IN IP4 0.0.0.0
b=AS:50
a=rtpmap:96 JPEG/90000
a=control:track1
m=audio 0 RTP/AVP 97
c=IN IP4 0.0.0.0
b=AS:50
a=rtpmap:97 PCMU/8000
a=control:track2
Created receiver for "video/JPEG" subsession (client ports 51252-51253)
Created receiver for "audio/PCMU" subsession (client ports 60734-60735)
Sending request: SETUP rtsp://192.168.0.2:8554/proxyStream/track1 RTSP/1.0
CSeq: 4
User-Agent: ./openRTSP (LIVE555 Streaming Media v2013.03.23)
Transport: RTP/AVP;unicast;client_port=51252-51253
Received 201 new bytes of response data.
Received a complete SETUP response:
RTSP/1.0 200 OK
CSeq: 4
Date: Sat, Mar 30 2013 13:25:47 GMT
Transport:
RTP/AVP;unicast;destination=192.168.0.2;source=192.168.0.2;client_port=51252-51253;server_port=6970-6971
Session: AEF69C8B
Setup "video/JPEG" subsession (client ports 51252-51253)
Sending request: SETUP rtsp://192.168.0.2:8554/proxyStream/track2 RTSP/1.0
CSeq: 5
User-Agent: ./openRTSP (LIVE555 Streaming Media v2013.03.23)
Transport: RTP/AVP;unicast;client_port=60734-60735
Session: AEF69C8B
Received 201 new bytes of response data.
Received a complete SETUP response:
RTSP/1.0 200 OK
CSeq: 5
Date: Sat, Mar 30 2013 13:25:47 GMT
Transport:
RTP/AVP;unicast;destination=192.168.0.2;source=192.168.0.2;client_port=60734-60735;server_port=6972-6973
Session: AEF69C8B
Setup "audio/PCMU" subsession (client ports 60734-60735)
Created output file: "video-JPEG-1"
Created output file: "audio-PCMU-2"
Sending request: PLAY rtsp://192.168.0.2:8554/proxyStream/ RTSP/1.0
CSeq: 6
User-Agent: ./openRTSP (LIVE555 Streaming Media v2013.03.23)
Session: AEF69C8B
Range: npt=0.000-
Received 264 new bytes of response data.
Received a complete PLAY response:
RTSP/1.0 200 OK
CSeq: 6
Date: Sat, Mar 30 2013 13:25:47 GMT
Range: npt=0.000-
Session: AEF69C8B
RTP-Info: url=rtsp://
192.168.0.2:8554/proxyStream/track1;seq=749;rtptime=1881744642,url=rtsp://192.168.0.2:8554/proxyStream/track2;seq=31137;rtptime=3404576387
Started playing session
Receiving streamed data (signal with "kill -HUP 80281" or "kill -USR1
80281" to terminate)...
```
When I kill the client, I see this:
```
$ ls -ltr | tail -n 2
-rw-r--r-- 1 hackeron staff 0 30 Mar 13:25 video-JPEG-1
-rw-r--r-- 1 hackeron staff 806400 30 Mar 13:27 audio-PCMU-2
```
If on the other hand I open camera directly, I see:
```
./openRTSP rtsp://192.168.0.221/live2.sdp
Opening connection to 192.168.0.221, port 554...
...remote connection opened
Sending request: OPTIONS rtsp://192.168.0.221/live2.sdp RTSP/1.0
CSeq: 2
User-Agent: ./openRTSP (LIVE555 Streaming Media v2013.03.23)
Received 145 new bytes of response data.
Received a complete OPTIONS response:
RTSP/1.0 200 OK
CSeq: 2
Date: Wed, 21 Jun 1970 21:17:37 GMT
Public: OPTIONS, DESCRIBE, PLAY, SETUP, GET_PARAMETER, SET_PARAMETER,
TEARDOWN
Sending request: DESCRIBE rtsp://192.168.0.221/live2.sdp RTSP/1.0
CSeq: 3
User-Agent: ./openRTSP (LIVE555 Streaming Media v2013.03.23)
Accept: application/sdp
Received 419 new bytes of response data.
Received a complete DESCRIBE response:
RTSP/1.0 200 OK
CSeq: 3
Date: Wed, 21 Jun 1970 21:17:37 GMT
Content-Base: rtsp://192.168.0.221/live2.sdp/
Content-Type: application/sdp
Content-Length: 255
v=0
o=RTSP 1804658 27 IN IP4 0.0.0.0
s=RTSP server
c=IN IP4 0.0.0.0
t=0 0
a=charset:Shift_JIS
a=range:npt=0-
a=control:*
a=etag:1234567890
m=video 0 RTP/AVP 26
a=control:trackID=2
m=audio 0 RTP/AVP 0
a=control:trackID=3
a=rtpmap:0 pcmu/8000
Opened URL "rtsp://192.168.0.221/live2.sdp", returning a SDP description:
v=0
o=RTSP 1804658 27 IN IP4 0.0.0.0
s=RTSP server
c=IN IP4 0.0.0.0
t=0 0
a=charset:Shift_JIS
a=range:npt=0-
a=control:*
a=etag:1234567890
m=video 0 RTP/AVP 26
a=control:trackID=2
m=audio 0 RTP/AVP 0
a=control:trackID=3
a=rtpmap:0 pcmu/8000
Created receiver for "video/JPEG" subsession (client ports 54300-54301)
Created receiver for "audio/PCMU" subsession (client ports 64828-64829)
Sending request: SETUP rtsp://192.168.0.221/live2.sdp/trackID=2 RTSP/1.0
CSeq: 4
User-Agent: ./openRTSP (LIVE555 Streaming Media v2013.03.23)
Transport: RTP/AVP;unicast;client_port=54300-54301
Received 170 new bytes of response data.
Received a complete SETUP response:
RTSP/1.0 200 OK
CSeq: 4
Date: Wed, 21 Jun 1970 21:17:38 GMT
Session: 180466576;timeout=80
Transport: RTP/AVP;unicast;client_port=54300-54301;server_port=5556-5557
Setup "video/JPEG" subsession (client ports 54300-54301)
Sending request: SETUP rtsp://192.168.0.221/live2.sdp/trackID=3 RTSP/1.0
CSeq: 5
User-Agent: ./openRTSP (LIVE555 Streaming Media v2013.03.23)
Transport: RTP/AVP;unicast;client_port=64828-64829
Session: 180466576
Received 170 new bytes of response data.
Received a complete SETUP response:
RTSP/1.0 200 OK
CSeq: 5
Date: Wed, 21 Jun 1970 21:17:38 GMT
Session: 180466576;timeout=80
Transport: RTP/AVP;unicast;client_port=64828-64829;server_port=5558-5559
Setup "audio/PCMU" subsession (client ports 64828-64829)
Created output file: "video-JPEG-1"
Created output file: "audio-PCMU-2"
Sending request: PLAY rtsp://192.168.0.221/live2.sdp/ RTSP/1.0
CSeq: 6
User-Agent: ./openRTSP (LIVE555 Streaming Media v2013.03.23)
Session: 180466576
Range: npt=0.000-
Received 264 new bytes of response data.
Received a complete PLAY response:
RTSP/1.0 200 OK
CSeq: 6
Date: Wed, 21 Jun 1970 21:17:38 GMT
Session: 180466576;timeout=80
RTP-Info: url=rtsp://
192.168.0.221/live2.sdp/trackID=2;seq=0;rtptime=0,url=rtsp://192.168.0.221/live2.sdp/trackID=3;seq=0;rtptime=0
Range: npt=0-
RTCP-Interval: 250
Started playing session
Receiving streamed data (signal with "kill -HUP 80566" or "kill -USR1
80566" to terminate)...
MultiFramedRTPSource::doGetNextFrame1(): The total received frame size
exceeds the client's buffer size (100000). 22323 bytes of trailing data
will be dropped!
FileSink::afterGettingFrame(): The input frame data was too large for our
buffer size (100000). 22323 bytes of trailing data was dropped! Correct
this by increasing the "bufferSize" parameter in the "createNew()" call to
at least 122323
MultiFramedRTPSource::doGetNextFrame1(): The total received frame size
exceeds the client's buffer size (100000). 22327 bytes of trailing data
will be dropped!
FileSink::afterGettingFrame(): The input frame data was too large for our
buffer size (100000). 22327 bytes of trailing data was dropped! Correct
this by increasing the "bufferSize" parameter in the "createNew()" call to
at least 122327
MultiFramedRTPSource::doGetNextFrame1(): The total received frame size
exceeds the client's buffer size (100000). 22259 bytes of trailing data
will be dropped!
FileSink::afterGettingFrame(): The input frame data was too large for our
buffer size (100000). 22259 bytes of trailing data was dropped! Correct
this by increasing the "bufferSize" parameter in the "createNew()" call to
at least 122259
MultiFramedRTPSource::doGetNextFrame1(): The total received frame size
exceeds the client's buffer size (100000). 22213 bytes of trailing data
will be dropped!
FileSink::afterGettingFrame(): The input frame data was too large for our
buffer size (100000). 22213 bytes of trailing data was dropped! Correct
this by increasing the "bufferSize" parameter in the "createNew()" call to
at least 122213
MultiFramedRTPSource::doGetNextFrame1(): The total received frame size
exceeds the client's buffer size (100000). 22068 bytes of trailing data
will be dropped!
FileSink::afterGettingFrame(): The input frame data was too large for our
buffer size (100000). 22068 bytes of trailing data was dropped! Correct
this by increasing the "bufferSize" parameter in the "createNew()" call to
at least 122068
```
When I kill the client I see:
```
ls -ltr | tail -n 2
-rw-r--r-- 1 hackeron staff 500000 30 Mar 13:28 video-JPEG-1
-rw-r--r-- 1 hackeron staff 12800 30 Mar 13:28 audio-PCMU-2
```
Any ideas?
On 30 March 2013 03:24, Ross Finlayson <finlayson at live555.com> wrote:
> OK, I think what's happening here is that although your JPEG frame rate is
> low, your JPEG frame sizes are exceeding 60000 bytes - the default buffer
> size that's used by the proxy's "RTPSink"s.
>
> Try adding the following line to "live555ProxyServer.cpp" - at the start
> of "main()":
> OutPacketBuffer::maxSize = 100000;
>
> and recompile. If that doesn't work, try increasing to 200000, etc.,
> depending on the size of your frames. Let us know what size works for you,
> and I'll update the proxy server code (in the next release of the code) to
> accommodate this.
>
>
> Ross Finlayson
> Live Networks, Inc.
> http://www.live555.com/
>
>
> _______________________________________________
> live-devel mailing list
> live-devel at lists.live555.com
> http://lists.live555.com/mailman/listinfo/live-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20130330/e5d3d271/attachment-0001.html>
More information about the live-devel
mailing list