Streaming video to Android via RTSP

4.3k views Asked by At

I'm trying to stream video to an android phone via rtsp. I think my SDP isn't quite right and there's something in it that the phone doesn't like. Below is the trace from the phone. Any idea what's wrong with the SDP that causes the player to give up?

10-08 14:11:22.657 I/RTSPEngine( 5031): RTSP Server response: 
10-08 14:11:22.657 I/RTSPEngine( 5031): RTSP/1.0 200 OK
10-08 14:11:22.657 I/RTSPEngine( 5031): CSeq: 0
10-08 14:11:22.657 I/RTSPEngine( 5031): Date: Fri, 8 Oct 2010 21:11:24 GMT
10-08 14:11:22.657 I/RTSPEngine( 5031): Expires: Fri, 8 Oct 2010 21:11:24 GMT
10-08 14:11:22.657 I/RTSPEngine( 5031): Last-Modified: Fri, 8 Oct 2010 21:11:24 GMT
10-08 14:11:22.657 I/RTSPEngine( 5031): Session: 123456
10-08 14:11:22.657 I/RTSPEngine( 5031): Content-Type: application/sdp
10-08 14:11:22.657 I/RTSPEngine( 5031): Content-Length: 207
10-08 14:11:22.657 I/RTSPEngine( 5031): 
10-08 14:11:22.657 I/RTSPEngine( 5031): v=0
10-08 14:11:22.657 I/RTSPEngine( 5031): o=- 21070 3 IN IP4 0.0.0.0
10-08 14:11:22.657 I/RTSPEngine( 5031): c=IN IP4 0.0.0.0
10-08 14:11:22.657 I/RTSPEngine( 5031): s=xxxxx H.263 video stream
10-08 14:11:22.657 I/RTSPEngine( 5031): i=Video stream
10-08 14:11:22.657 I/RTSPEngine( 5031): t=0 0
10-08 14:11:22.657 I/RTSPEngine( 5031): m=video 0 RTP/AVP 103
10-08 14:11:22.657 I/RTSPEngine( 5031): a=rtpmap:103 H263-1998/90000
10-08 14:11:22.657 I/RTSPEngine( 5031): a=fmtp:103 profile=0; level=40
10-08 14:11:22.657 I/RTSPEngine( 5031): b=TIAS:2048000
10-08 14:11:22.667 E/PlayerDriver( 5031): Command PLAYER_INIT completed with an error or info PVMFErrNotSupported
10-08 14:11:22.667 E/MediaPlayer(13821): error (1, -4)

Thanks in advance for your help

Regards

Phil

1

There are 1 answers

3
Philip Pearl On BEST ANSWER

I wrote my own RTSP server, which I also embedded on the phone. I didn't have any problems getting my server to respond to the DESCRIBE (:->). I did have some issues getting the client to carry on with the response. The key seemed to be to add more lines to my SDP and remove the a=fmtp line. Frankly I'd not totally sure what the SDP means, but these are the lines I added

  //"a=fmtp:%d profile=0; level=40" + CRLF +
  "a=cliprect:0,0,%d,%d" +CRLF+  //height, width
  "a=framesize:%d %d-%d" +CRLF+  //payload type, width, height
  "a=control:*" + CRLF +
  "a=range:npt=0-158.60000" + CRLF +
  "a=control:trackID=65536" + CRLF +