[Live-devel] Receive MPEG using RTSP over HTTP...

Derk-Jan Hartman hartman at videolan.org
Wed Dec 14 16:33:51 PST 2005


On 14-dec-2005, at 12:46, Joseph Lazar wrote:
> Ross Finlayson wrote:
>>> Sorry but I gave you an other address, probably you've missed my  
>>> mail. Sorry again, so the address is:
>>> rtsp://aspectis.dyndns.org/mpeg4/media.sdp
>>
>> OK, I no longer get authentication requests when I connect to this  
>> server using RTSP-over-HTTP.  However, the server has other problems.
>>
>> In particular, it does not return a proper SDP description in the  
>> "DESCRIBE" response.  Each line in the SDP description appears to  
>> end just with a single <NL> character.  Instead, each line should  
>> end with <CR><NL>.  Also, the whole SDP description should end  
>> with <CR><NL><CR><NL>.
>>
>> Also, your server does not appear to respond properly to the  
>> "OPTIONS" request.   It seems to be returning a SDP description  
>> (as if it were responding to "DESCRIBE").
>>
>> You will need to fix your server (to make it compliant) before I  
>> will be able to help you further.  I don't have the time to debug  
>> your server for you (especially since it appears not to be using  
>> our software).
>
> Unfortunately this is a standard Axis camera and we have no  
> influence on the firmware or feature implementations. As for the  
> two first problems you mention I think you could be tolerant (I  
> meant here the \r\n problems) in you code for such anomalies.

Yes, Ross could. However, I'm not sure he should. The specification  
is very specific on this. "Tolerance" is what is causing all these  
bugs in ppl's implementation to pop up in the first place. People  
should conform to standards. You just phone AXIS, and tell them they  
sold you crap and you want them to go and FIX their server. I mean,  
it's not like this is hard to fix. It's TEXT. dead easy, they could  
have a new firmware ready in like 8 hours if they want to.

The more "special cases" liveMedia needs to be able to handle, the  
more it will be likely to experience a bug somewhere.

Kasenna RTSP, Window Media RTSP, AXIS RTSP, nCube RTSP
Lazy engineers is what they have.

> As for the second part I don't know whether it helps I could put my  
> hands on an client to Axis camera comm log (attached). If you could  
> have a look maybe you will have in hand for decision.

liveMedia will always check OPTIONS. This client you are using does  
not check OPTIONS. So the log is not very useful in this case.  
OPTIONS is part of the RTSP specification, and clients need to be  
able to handle it properly. and that does not mean returning the SDP.

> If you say you can't do it: I still have to make my application so  
> please tell me what classes I have to use/modify to be able to read  
> and chop up the incoming stream into separate video and audio  
> strips and also to chop up the video to GOPs.

I think Ross will tell you that you are on your own. "Use the source  
young skywalker".
He makes a policy of not working on non-conforming servers unless you  
pay him and even then it will not make it into liveMedia. However  
sometimes if you send clean patches that do not affect the behavior  
of the conforming codebase, they will be accepted. Like the Kasenna  
work.

DJ

> -- joseph
> Running in mode HTTP to 192.168.7.70:80/mpeg4/media.amp
> Opened TCP connection to 192.168.7.70:80 fd = 3
> Request: GET URI: /mpeg4/media.amp Seq: 0
> Send request:
> GET /mpeg4/media.amp HTTP/1.0
> CSeq: 0
> User-Agent: Axis AMC
> x-sessioncookie: 2146907015
> Authorization: Basic cm9vdDpwYXNz
>
> Received response:
> HTTP/1.0 200 OK
> Content-Type: application/x-rtsp-tunnelled
>
>
> Opened TCP connection to 192.168.7.70:80 fd = 4
> Request: POST URI: /mpeg4/media.amp Seq: 1
> Send request:
> POST /mpeg4/media.amp HTTP/1.0
> CSeq: 1
> User-Agent: Axis AMC
> x-sessioncookie: 2146907015
> Content-Length: 0
> Content-Type: application/x-rtsp-tunnelled
> Authorization: Basic cm9vdDpwYXNz
>
> Request: DESCRIBE URI: /mpeg4/media.amp Seq: 2
> Send request:
> DESCRIBE /mpeg4/media.amp RTSP/1.0
> CSeq: 2
> User-Agent: Axis AMC
> Accept: application/sdp
> Authorization: Basic cm9vdDpwYXNz
>
> Received response:
> RTSP/1.0 200 OK
> CSeq: 2
> Content-Base: rtsp://192.168.7.70:554/mpeg4/media.amp/
> Content-Type: application/sdp
> Content-Length: 781
>
> v=0
> o=- 1134563890021105 1134563890021114 IN IP4 192.168.7.70
> s=Media Presentation
> e=NONE
> c=IN IP4 0.0.0.0
> b=AS:8000
> t=0 0
> a=control:*
> a=range:npt=now-
> a=mpeg4-iod: "data:application/mpeg4- 
> iod;base64,AoEAAE8BAf71AQOAkwABQHRkYXRhOmFwcGxpY2F0aW9uL21wZWc0LW9kLWF 
> 1O2Jhc2U2NCxBVGdCR3dVZkF4Y0F5U1FBWlFRTklCRUVrK0FBZWhJQUFIb1NBQVlCQkFFW 
> kFwOERGUUJsQlFRTlFCVUFDN2dBQUFBQUFBQUFBQVlCQXc9PQQNAQUABAAAAAAAAAAAAAY 
> JAQAAAAAAAAAAA0IAAkA 
> +ZGF0YTphcHBsaWNhdGlvbi9tcGVnNC1iaWZzLWF1O2Jhc2U2NCx3QkFTZ1RBcUJYSmhCS 
> WhRUlFVL0FBPT0EEgINAAACAAAAAAAAAAAFAwAAQAYJAQAAAAAAAAAA"
> m=video 0 RTP/AVP 96
> b=AS:8000
> a=control:trackID=1
> a=rtpmap:96 MP4V-ES/90000
> a=fmtp:96 profile-level-id=245;  
> config=000001B0F5000001B509000001000000012008D48D8803250F042D14440F;
> a=mpeg4-esid:201
> m=audio 0 RTP/AVP 0
> a=control:trackID=2
>
> Request: SETUP URI: /mpeg4/media.amp/trackID=1 Seq: 3
> Send request:
> SETUP /mpeg4/media.amp/trackID=1 RTSP/1.0
> CSeq: 3
> User-Agent: Axis AMC
> Transport: RTP/AVP/TCP;unicast
> Authorization: Basic cm9vdDpwYXNz
>
> Received response:
> RTSP/1.0 200 OK
> CSeq: 3
> Session: 0923339024;timeout=60
> Transport: RTP/AVP/TCP;unicast;mode=play;interleaved=0-1
>
>
> Request: SETUP URI: /mpeg4/media.amp/trackID=2 Seq: 4
> Send request:
> SETUP /mpeg4/media.amp/trackID=2 RTSP/1.0
> CSeq: 4
> User-Agent: Axis AMC
> Transport: RTP/AVP/TCP;unicast
> Session: 0923339024
> Authorization: Basic cm9vdDpwYXNz
>
> Received response:
> RTSP/1.0 200 OK
> CSeq: 4
> Session: 0923339024;timeout=60
> Transport: RTP/AVP/TCP;unicast;mode=play;interleaved=2-3
>
>
> Request: PLAY URI: /mpeg4/media.amp Seq: 5
> Send request:
> PLAY /mpeg4/media.amp RTSP/1.0
> CSeq: 5
> User-Agent: Axis AMC
> Session: 0923339024
> Authorization: Basic cm9vdDpwYXNz
>
> Received response:
> RTSP/1.0 200 OK
> CSeq: 5
> Session: 0923339024
> Range: npt=now-
> RTP-Info: url=trackID=1;seq=6078;rtptime=502642178,  
> url=trackID=2;seq=27768;rtptime=3291864378
>
>
> Caught signal: 2280 FPS 33.0000 ; all: A 252 B 67.5360 FPS 33.5000 ;
> Read timeout on 3
> Request: TEARDOWN URI: /mpeg4/media.amp Seq: 6
> Send request:
> TEARDOWN /mpeg4/media.amp RTSP/1.0
> CSeq: 6
> User-Agent: Axis AMC
> Session: 0923339024
> Authorization: Basic cm9vdDpwYXNz
>
> Received response:
> RTSP/1.0 200 OK
> CSeq: 6
> Session: 0923339024
>
> _______________________________________________
> live-devel mailing list
> live-devel at lists.live555.com
> http://lists.live555.com/mailman/listinfo/live-devel



More information about the live-devel mailing list