Java 没有响应的RTSP decribe标头

Java 没有响应的RTSP decribe标头,java,android,header,rtsp,sdp,Java,Android,Header,Rtsp,Sdp,我正在写RTSP流媒体服务器,我需要一些帮助。我想我已经尝试了所有的方法并阅读了以下主题: 和其他与他们相似的人。当然,我也读了很多PDF和RFC 我的故事:我编写了rtsp服务器,当我发送响应来描述标题时出现了问题: responseHeader.append(HeaderStates.OK); responseHeader.append(CRLF); responseHeader.append(CSeq); responseHeader.append(CRLF); responseHe

我正在写RTSP流媒体服务器,我需要一些帮助。我想我已经尝试了所有的方法并阅读了以下主题:

和其他与他们相似的人。当然,我也读了很多PDF和RFC

我的故事:我编写了rtsp服务器,当我发送响应来描述标题时出现了问题:

responseHeader.append(HeaderStates.OK);
responseHeader.append(CRLF);
responseHeader.append(CSeq);
responseHeader.append(CRLF);
responseHeader.append("session: ");
responseHeader.append(Long.valueOf(sessionID));
responseHeader.append(CRLF);
Date date = new Date();
responseHeader.append("Date: ");
responseHeader.append(date.toGMTString());
responseHeader.append(CRLF);
responseHeader.append("Content-Type: application/sdp");
responseHeader.append(CRLF);
responseHeader.append("Content-Base: ");
responseHeader.append(localAddress.getHostAddress());
responseHeader.append(":");
responseHeader.append(Integer.valueOf(localPort));
responseHeader.append(CRLF);
responseHeader.append(CRLF);
responseHeader.append("v=0");
responseHeader.append(CRLF);
responseHeader.append("o=- ");
responseHeader.append(date.getTime());
responseHeader.append(" ");
responseHeader.append(date.getTime());
responseHeader.append(" IN IP4 ");
responseHeader.append(localAddress.getHostAddress());
responseHeader.append(CRLF);
responseHeader.append("a=control:rtsp://192.168.1.143:55555");
responseHeader.append(CRLF);
responseHeader.append("s=RTSPSession");
responseHeader.append(CRLF);
responseHeader.append("m=video 55555 RTP/AVP 26");
responseHeader.append(CRLF);
responseHeader.append("a=rtpmap:26 JPEG/90000");
responseHeader.append(CRLF);
responseHeader.append("a=mimetype:video/JPEG");
responseHeader.append(CRLF);
//responseHeader.append("a=control:trackID=1");
responseHeader.append(CRLF);
responseHeader.append(CRLF);
其中HeaderStates.OK为“200 OK”,SessionID为System.currentTimeMillis(),CRLF=“\r\n”且responseHeader以“RTSP/1.0”开头

然后VLC(我电脑上的客户端抛出未处理的异常并崩溃),SMPlayer读取头并在日志中显示,但不响应

有时我会在SMPlayer日志中看到SDP中的错误,但我认为这个错误的原因是调试太长


我的问题:我做错了什么?为什么客户端没有安装头?

您的RtspResponse中缺少
CSeq
头,因此它无效

同样在您的示例中,您返回的是SDP,因此需要
内容长度
标题

查看my server@以查看现有实现的代码,尽管它是C语言的,但您应该能够获得所需的