RTSP协议-TCP推流 - 弦外之音

/ 0评 / 0

本文主要讲解 客户端 通过 RTSP 协议推流到 服务器的 整个交互过程,以及这个过程中的一些交互,原理。

服务器采用 ZLMediaKits ,服务器的搭建请看 ZL的官方文档



推流客户端是 ffmpeg,推流命令如下:

ffmpeg.exe -re -i juren.mp4 -vcodec h264 -acodec aac -f rtsp -rtsp_transport tcp rtsp://192.168.0.123/live/test

上面我用了 一个命令,指定编码格式,然后通过 rtsp 协议把一个动画片推到了 ZLMediaKit 的 RSTP 服务器。

下面就用 wireshark 来抓包看下整个通信过程,过滤规则如下:

host 192.168.0.123

为了方便读者对照,这里提供一下 pcapng 包文件,可以下载 用 wireshark 打开,就跟本文的一致了。下载地址:百度网盘,提取码:sphw

实际上,TCP 推流跟 UDP 推流 ,有一些地方是类似的,我主要讲解一下差异的地方

1,setup 的时候,TCP 跟 UDP 的方式有点不同,如下图:

从上图可以看出 TCP 场景,setup 的时候没有传端口号,所以 tcp 的方式,3个协议走的是同一个端口,都是 544。这 3个协议分别是 RTSP,RTP,RTCP,都是 544 端口。


其他的流程跟 UDP 场景很类似,推荐阅读 《RTSP协议-UDP推流》,《RTSP协议-UDP拉流

RTSP协议-TCP推流 分析完毕。

相关阅读:

1,《RTSP 标准文档》


由于笔者的水平有限, 加之编写的同时还要参与开发工作,文中难免会出现一些错误或者不准确的地方,恳请读者批评指正。如果读者有任何宝贵意见,可以加我微信 Loken1。QQ:2338195090。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注