首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > 多媒体 >

怎么实现最小的RTSP服务器(附源码)?

2012-08-15 
求助:如何实现最小的RTSP服务器(附源码)??代码参考了 yanyuan9527按照RFC3984协议实现H264视频RTP打包(附

求助:如何实现最小的RTSP服务器(附源码)??
代码参考了 yanyuan9527
按照RFC3984协议实现H264视频RTP打包(附源代码)

想要实现的功能是:
在暴风、或VLC输入rtsp://127.0.0.1:8800/test.264可以连接服务器,服务器就向它发送H264视频数据。

代码实现过程(我对RTSP的理解,如果不正确,请指证)
首先是客户端输入地址,发出请求,即发送OPTIONS,服务器响应OPTIONS;
接着客户机发送SETUP,服务器响应SETUP;
接着客户机发送PLAY,服务器响应PLAY,并且开始发送视频数据。

我的代码中,用client_test,测试,rtp_rtsp有响应,但用暴风、或VLC连接就一点反应都没有!!!有如下疑问:
1、服务器那些响应信息是我自己填的,我想知道RTSP哪些响应信息是必要的?哪些要根据发送的视频文件格式来定??
2、我用的是 linux OpenSuse 11,想问一下有什么抓包工具可以抓到本机收发的数据包???
谢谢 谢谢
今天早上开的那个帖,由于CSND上传不了,把代码贴在留言那里,贴不完整,再开一个!!
源码地址:http://download.csdn.net/source/2421808

[解决办法]
首先看一下RTSP的交互流程对不对。你没有响应DESCRIBE??然后你的SDP哪里发送的??
[解决办法]
先跟踪看看,看是在哪一步,客户端停止发送请求的,才好分析具体原因
SETUP这个步骤较复杂,很多客户端都可能卡在这

http://70565912.blog.51cto.com/1358202/284546
我这有份RTSP的源码,服务端支持暴风和VLC访问。
可以参考看看,你写的步骤和发送回应的信息,跟我的代码有那些不同。
[解决办法]
SETUP回复中,"Transport: RTP/AVP;unicast;port=8980-8981\r\n"
这里的port是client端的还是server端的?
client_port的话,应该和vlc发来的相同,每次可能都是不同的,你在这里写死了,端口可能不对,vlc就收不到数据流

热点排行