RTSP流媒体数据传输的两种方式(TCP和UDP)

一般状况下rtsp协议中数据传输的实现是UDP,因工做须要,想让rtsp的数据传输部分用TCP实现。DarwinStreamingServer服务器能自适应客户端发起的数据传输请求是用TCP方式,仍是用UDP方式,这里惟一须要解决的是客户端协议的发起问题,而vlc支持RTSP over TCP的方式。 html

剩下的问题就好办了,让vlcTCP的方式发起链接便可。 服务器

DSS的安装配置我就不介绍了,不懂的朋友网上查下。 tcp

方式一:TCP传输媒体数据

我以前的文章(http://www.cnblogs.com/MikeZhang/archive/2012/09/09/vlcStreamingServer20120909.html )中提到过用vlc的命令行方式操做,并且还实现了用基于UDP媒体数据传输的RTSP协议。其实今天的这个需求只须要在vlc的命令行参数里面加入如下选项便可: spa

--rtsp-tcp 命令行

即用TCP方式访问服务器应该用以下命令: htm

vlc rtsp://172.16.1.1/test --rtsp-tcp blog

这是其中的一个RTP数据包: get

咱们能够看到,经过这种方式的RTP数据包是基于TCP实现的。 test

方式二:UDP传输媒体数据

虽然在和DSS的交互中vlc默认是用UDP进行媒体数据的传输的,但咱们也要考虑若是换成其它流媒体服务的状况,因此能够加上以下参数进行限制: 配置

--no-rtsp-tcp

即用UDP方式访问服务器应该用以下命令:

vlc rtsp://172.16.1.1/test –-no-rtsp-tcp

其中的一个数据包RTP包以下:

从图上能够看到,这里的RTP是基于UDP实现的。

相关文章
相关标签/搜索