RTSP流协议

RTSP流协议(Real-Time Streaming Protocol)

RTSP控制 + SDP参数协商 + RTP视频传输 + RTCP网络质量检测

1)RTSP

定义:RTSP实时流传输协议,是应用层流媒体的控制协议,核心是控制与输出分离,只负责播放,暂停,快进等会话控制,不直接传音视频数据。

有状态协议 -- Session ID记住链接

链接成功之后,会通过服务器生成唯一的Session ID,后续的所有操作都会带着这个ID,后续服务器就会知道这个是谁,确保传输的数据不断

核心架构:控制与数据分离

  1. 控制通道:发命令
  2. 数据通道:传画面

RTSP+TCP

由于RTSP是控制播放快进暂停等操作,如果传输过程中出现了丢包的情况,就会导致整个流出现问题,TCP 554端口为可靠传输,不丢包,不会乱序,确保指令的送达

RTP + UDP +RTCP

RTP + UDP

RTP和UDP,RTP是传输数据的通道,UDP不需要握手,也不需要重传,速度快,延迟低,适合实时画面的传播,轻微的丢包不影响整体

RTCP

负责统计丢包率,检测网络延迟,调节传输的码率

示意图:

双向控制

RTSP:

客户端,服务端可以主动发送消息

客户端:暂停,播放

服务端:摄像头离线,温度过高,异常

HTTP:

客户端主动发送消息,服务端回应

低延迟

RTSP不需要切片,缓存堆积也不需要,直接对页面进行解码播放

局域网 200ms ~ 1s

外网: 1s ~ 2s

RTSP的命令

OPTIONS:询问摄像头,你支持哪些功能

DESCRIBE:请求获取视频参数 → 摄像头返回 SDP

SETUP:打通视频通道,生成 Session ID

PLAY发送指令:开始传输画面

TEARDOWN:断开连接,关闭视频流

SDP协议

纯文本格式 key = value格式

主要是存储配置信息的关键参数

RTSP协议的格式

rtsp://IP/目录/摄像头通道号

举例

rtsp://127.0.0.1/live/ch2_1

rtsp:// :规定用「RTSP 协议」连接,就像网页是 http:// 一样。

127.0.0.1: 摄像头 / 流媒体服务器 的 IP 地址。(找到设备在哪)

/live/ :代表实时直播流目录。

ch2_1 : 代表第二个摄像头的主码流(清晰度高,画质好)

ch2_2: 代表第二个摄像头的子码流(压缩,画质模糊,占用网速低)

ch = channel 通道每个摄像头都有自己的通道名称。

全流程举例

电脑链接摄像头

  1. 播放器通过 TCP 554 端口 连接摄像头,建立 RTSP 控制通道。
  2. 客户端发送DESCRIBE请求,摄像头返回一段SDP 文本,告知:视频是 H.265 编码、后续收流使用的 UDP 端口、帧率等配置参数。
  3. 客户端解析 SDP,发送SETUP请求,协商数据通道,服务器生成唯一Session ID绑定本次会话。
  4. 客户端发送PLAY指令,正式请求摄像头推流。
  5. 摄像头通过 RTP+UDP 持续发送实时视频画面,同时依靠 RTCP 上报丢包、延迟等网络状态。
  6. 观看结束后,客户端发送TEARDOWN,销毁 Session、断开连接,停止传输。
相关推荐
换个昵称都难4 天前
协议之RTSP介绍
rtsp
骄傲的心别枯萎2 个月前
RTSP的原理讲解
音视频·rtsp
oushaojun23 个月前
使用live555搭建rtsp服务器
rtsp·live555
sp42a3 个月前
通过 RootEncoder 进行安卓直播 RTSP 推流
android·推流·rtsp
阿拉斯攀登3 个月前
网页播放 4 路 RTSP 摄像头(零配置、一键运行)
rtsp·视频分屏
sheldon_blogs4 个月前
Android设备搭建本地RTSP服务器(基于live555)
rtsp
REDcker5 个月前
RTSP 直播技术详解
linux·服务器·网络·音视频·实时音视频·直播·rtsp
小李独爱秋6 个月前
计算机网络经典问题透视:RTP首部三剑客——序号、时间戳与标记的使命
服务器·计算机网络·web安全·信息与通信·rtsp
小李独爱秋6 个月前
计算机网络经典问题透视:RTP协议能否提供应用分组的可靠传输?
服务器·计算机网络·web安全·信息与通信·rtsp