学习rtsp的一些心得

今天仔细的研究了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的一些心得)