Streaming video to Android via RTSP
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/R开发者_运维技巧TSPEngine( 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
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 +
精彩评论