流媒体协议——RTSP

RTSP

RTSP(Real Time Streaming Protocol):实时流媒体协议,是基于文本的协议,采用ISO10646字符集,使用UTF-8编码

RTSP-over-TCP,默认端口554

RTSP-over-HTTP,默认端口为8080

RTSP OVER WebSocket 默认端口为 80(非加密)/ 443(加密)

实时流数据由传输协议RTP/RTCP完成数据流和控制命令,传输层可以为UDP或者TCP

RTSP拉流交互

options(可选,可作为心跳使用) 询问流媒体服务器可用的RTSP方法

describe 从服务器获取媒体流相关信息,可以包含多个媒体流类型,此处服务器一般会进行用户鉴权

setup 建立媒体流链接会话

RTP/AVP表示通过UDP,unicast表示单播方式

RTP和RTCP要成对出现,一般码流端口号为RTCP=RTP+1

RTP/AVP/TCP表示通过TCP

interleaved=0-1,标识RTP的streamid=0,RTCP的streamid=1

当码流通过TCP传输时,与RTSP共用一个TCP链路,不需要建立新的连接,为了区分需要增加包头标识

| magic number | channel number | embedded data length | data |

magic number 0x24,收到0x24时,可以判定其为RTP或者RTCP

play 开始传输或者接受媒体数据

play消息会在range中指定媒体的播放时间,实时流Range: npt=0.000,scale和speed字段用于点播速度控制

teardown 停止媒体,释放资源

RTSP推流交互

options (可选,可作为心跳使用) 询问流媒体服务器可用的RTSP方法

announce 通知新会话描述

setup 建立媒体流链接会话

record 开始流媒体录制

pause 暂停流媒体传输

teardown 停止媒体,释放资源

相关推荐
911hzh10 小时前
Flutter WebRTC iOS 原理解析:从 getUserMedia 到 Texture,讲清视频采集、纹理渲染与远端通话链路
flutter·ios·webrtc
郭源潮111 小时前
从8k嘈杂到16k清晰,我是如何使用RNNoise+libresample构建音频降噪管道的?
c++·音视频·实时音视频
YWamy11 小时前
音视频SDK赋能智能硬件:实时RTC技术的应用难点与落地实践
音视频·实时音视频·智能硬件
shao91851612 小时前
第12章Streaming(下):视频应用(1)——项目八:基于WebRTC+YOLO的实时目标检测
yolo·目标检测·webrtc·gradio·视频流·yolov10·流式传输
三十_1 天前
WebRTC 远端画面无法显示:ICE 与 SDP 时序问题深度解析与解决方案
webrtc
ZEGO即构3 天前
AI教育重构教与学:RTC+AI如何赋能全学段教学场景?
人工智能·实时音视频·ai教育
metaRTC3 天前
metaRTC8 成功适配 RTOS:开启 MCU/嵌入式实时音视频新时代
单片机·嵌入式硬件·webrtc·实时音视频·rtos
Fisher3Star3 天前
mediasoup中ip与announceAddress配置要点
webrtc·sdp
小柯博客4 天前
Amazon Kinesis Video Streams C WebRTC SDK 开发实战
c语言·开发语言·网络·stm32·嵌入式硬件·webrtc·yocto
byte轻骑兵5 天前
【LE Audio】BASS精讲[3]: 从服务声明到行为逻辑 解锁广播音频接收核心
音视频·实时音视频·le audio·低功耗音频·蓝牙通话