Qt500行代码实现支持拉流的简单RTSPServer

Qt500行代码实现支持拉流的简单RTSPServer
项目地址:https://gitee.com/lizhi_zizi/rtspserver_test
项目总结:
1.RTSP应用层协议,协议包括,
RTSP 负责服务器与客户端之间的请求与响应
RTP 负责服务器与客户端之间的传输媒体数据
RTCP 负责有关RTP传输质量的反馈

RTSP传输层基于TCP(传输层协议)

2.项目文件描述
main -> rtspserver -> rtspsession -> rtpsender

rtspserver: RTSP的TCP建立
rtspsession: RTSP客户端请求处理
rtpsender: RTP数据发送管理

3.RTSP客户端请求处理过程(rtspsession)
OPTIONS------查询服务器支持的 RTSP 方法(例如 PLAY、PAUSE、SETUP 等)
DESCRIBE -----获取媒体流的描述信息SDP,回复SDP信息
SETUP---------约定RTP/RTCP传输使用的端口,使用UDP还是TCP等传输参数
PLAY ----------播放请求,回复后开启RTP数据发送线程
TEARDOWN -- ‌终止会话RTSP,关闭RTP/RTCP媒体流通道

4.RTP数据发送规则
数据结构是:RTP数据头+NAL

NAL是H.264/H.265等视频编码标准中的网络适配层,用于封装编码后的数据单元
NAL的几类数据
SEI 补充增强信息 0000000106
SPS 序列参数集 0000000167
PPS 图像参数集 0000000168
IDR图像片 0000000165
非IDR图像片 0000000141

都是00000001开头,后1个字节的值作为标识

posted @ 2025-11-30 09:52  lizhizizi  阅读(0)  评论(0)    收藏  举报