学习rtsp的一些心得
2013-03-23 12:22
211 查看
今天仔细的研究了rtsp,大有所获,现在总结下这方面的知识:
rtsp初步来说分为两阶段:
第一阶段:
客户端和rtsp服务器端进行交互,也就是术语中所说的会话阶段
第二阶段:
流媒体数据交互阶段,将数据按照rtp+rfc3984拆包由流媒体服务器发送到播放器客户端,然后客户端这边重新组包
上面的理解的比较的肤浅,我本人是用VLC和自己写的程序在自己的电脑上做的测试。
现在要跟大家说的核心,是数据发送的协议问题,这个协议指的是UDP还是TCP的Stream模式。
最初我是这样认为的:
RTSP走UDP形式,所以最先开始,我直接在在vlc中调用rtsp://192.168.1.143:2725这样,然后在用JAVA写了个监听程序来监听2725端口,但是压根就没有数据过来,于是我猜测难不成走的是tcp形式,于是我用ServerSocket来监听2725的端口,重新用VLC来了一次,令我惊奇的是,接受到了数据:
ESCRIBE rtsp://120.197.4.28:554/ RTSP/1.0
CSeq: 3
User-Agent: LibVLC/1.1.9 (LIVE555 Streaming Media v2011.01.06)
Accept: application/sdp
后来用wireshark抓包分析了很多码流,得出了结论:
在RTSP的会话阶段用的走的TCP协议,或者专业术语叫RTSP协议,然后具体的到了数据交互的过程中的时候,就走的是UDP的形式了或者专业术语叫做RTP协议.
rtsp初步来说分为两阶段:
第一阶段:
客户端和rtsp服务器端进行交互,也就是术语中所说的会话阶段
第二阶段:
流媒体数据交互阶段,将数据按照rtp+rfc3984拆包由流媒体服务器发送到播放器客户端,然后客户端这边重新组包
上面的理解的比较的肤浅,我本人是用VLC和自己写的程序在自己的电脑上做的测试。
现在要跟大家说的核心,是数据发送的协议问题,这个协议指的是UDP还是TCP的Stream模式。
最初我是这样认为的:
RTSP走UDP形式,所以最先开始,我直接在在vlc中调用rtsp://192.168.1.143:2725这样,然后在用JAVA写了个监听程序来监听2725端口,但是压根就没有数据过来,于是我猜测难不成走的是tcp形式,于是我用ServerSocket来监听2725的端口,重新用VLC来了一次,令我惊奇的是,接受到了数据:
ESCRIBE rtsp://120.197.4.28:554/ RTSP/1.0
CSeq: 3
User-Agent: LibVLC/1.1.9 (LIVE555 Streaming Media v2011.01.06)
Accept: application/sdp
后来用wireshark抓包分析了很多码流,得出了结论:
在RTSP的会话阶段用的走的TCP协议,或者专业术语叫RTSP协议,然后具体的到了数据交互的过程中的时候,就走的是UDP的形式了或者专业术语叫做RTP协议.
相关文章推荐
- 我学习struts的一些心得!
- 分享一些学习iOS的开发心得
- 学习WebLogic11g集群搭建的一些心得
- 程序渣自学一些心得_读书和学习
- httpclient的一些学习心得
- 关于学习C++的一些小心得⑴
- 计算机科学与技术学习心得之计算机理论的一个核心问题--续谈其他的一些计算数学(转载)
- 开始学习linux运维,这 4000 里记录一些自己的学习心得
- 学习设计模式的一些心得
- 学习OpenCL的一些心得
- [学习笔记]C和C++中数组的一些小心得(一)
- httpClient的一些学习心得
- thinkphp的一些学习心得
- activeMQ学习之三(常见的一些问题和心得)
- 学习ARM的一些心得,不用jlink,用USB下载裸板程序
- 学习笔记及一些心得
- MyBatis的一些学习心得
- 浅谈Web前端关于学习Servlet一些心得欢迎大神补充
- Eclipse IDE 使用技巧 (Eclipse工作空间小技巧)(自己的一些学习笔记和心得,记录下来,备忘录和复习使用)
- 我业余时间如何学习多门技术以及开发业余项目的一些心得