认识流媒体协议,从 RTSP 协议解析开始

RTSP是互联网协议规范,用于控制媒体服务器的流媒体会话。客户端发送如PLAY、PAUSE、SETUP等命令来控制媒体流。RTSP通过TCP的554端口维护连接,并允许灵活的功能请求和媒体流的未来发展。基本RTSP请求包括SETUP(配置媒体流传输)、PLAY(启动播放)、PAUSE(暂停流)、RECORD(开始录制)和TEARDOWN(终止会话)。Wireshark可用于RTSP协议的抓包分析。
摘要由CSDN通过智能技术生成

RTSP 是 Internet 协议规范,是 TCP/IP 协议体系中的一个应用层协议级网络通信系统。专为娱乐(如音频和视频)和通信系统的使用,以控制流媒体服务器。该协议用于在端点之间建立和控制媒体会话。媒体服务器的客户端发出 VHS 样式的命令,例如:PLAY、PAUSE、SETUP、DESCRIBE、RECORD 等等。以促进对从服务器到客户端或从客户端到服务器的媒体流进行实时控制。

RTSP 传输过程

  • 当用户或应用程序尝试从远程源流式传输视频时,客户端设备会向服务器发送 RTSP 请求,以确定可用选项,例如 PLAY,PAUSE、SETUP。。。

  • 然后,服务器返回它可以通过 RTSP 接受的请求类型的列表。

  • 客户端知道如何发出请求后,便将媒体描述请求发送到流服务器。

  • 服务器以媒体描述作为响应。

  • 客户端从那里发送设置请求,服务器以有关传输机制的信息作为响应。

  • 设置过程完成后,客户端将通过告诉服务器使用设置请求中指定的传输机制发送位流(二进制序列)来启动流传输过程。

客户端 ->服务器:DESCRIBE

服务器 ->客户端: 200 OK (SDP)

客户端 ->服务器:SETUP

服务器 ->客户端: 200 OK

客户端 ->服务器:PAUSE

...

协议的分析和学习少不了抓包,截屏个 RTSP 协议抓包的图:

为什么 RTS 协议那么重要

  • RTSP 最初是一种允许用户直接从 Internet 播放音频和视频,而不必将媒体文件下载到其设备的方法。该协议已被应用于多种用途,包括互联网摄像机站点,在线教育和互联网广播。

  • RTSP 使用与基本 HTTP 相同的概念,在很大程度上是为了兼容现有的 Web 基础结构。正因如此,HTTP 的扩展机制大都可以直接引入到 RTSP 中。

  • RTSP 协议还具有很大的灵活性。客户端可以请求他们要使用的功能,以找出媒体服务器是否支持它们。同样,拥有媒体的任何人都可以从多个服务器传递媒体流。该协议还旨在适应媒体的未来发展,以便媒体创建者可以在必要时修改协议。

RTSP 协议指令

尽管 RTSP 在某些方面类似于 HTTP,但它定义了可用于控制多媒体播放的控制序列。尽管 HTTP 是无状态的,但 RTSP 却具有状态。

在需要跟踪并发会话时使用标识符。像 HTTP 一样,RTSP 使用 TCP 来维护端到端连接,端口号为 554。

尽管大多数 RTSP 控制消息是由客户端发送到服务器的,但是某些命令却是朝着另一个方向(即从服务器到客户端)传递的。

下面我们来介绍基本的 RTSP 请求:

SETUP

SETUP 请求指定必须如何传输单个媒体流。必须在发送 PLAY 请求之前完成此操作。

该请求包含媒体流 URL 和传输说明符。

该说明符通常包括一个本地端口,用于接收 RTP 数据(音频或视频),另一个用于 RTCP 数据(元信息)。

服务器答复通常会确认选定的参数,并填写缺少的部分,例如服务器的选定端口。必须先使用 SETUP 配置每个媒体流,然后才能发送聚合播放请求。

【学习地址】:FFmpeg/WebRTC/RTMP/NDK/Android音视频流媒体高级开发
【文章福利】:免费领取更多音视频学习资料包、大厂面试题、技术视频和学习路线图,资料包括(C/C++,Linux,FFmpeg webRTC rtmp hls rtsp ffplay srs 等等)有需要的可以点击1079654574加群领取哦~

  

PLAY

PLAY 请求将导致播放一个或所有媒体流。可以通过发送多个 PLA

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值