前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >流媒体传输协议之RTSP协议

流媒体传输协议之RTSP协议

原创
作者头像
_咯噔_
修改2022-03-07 10:45:00
2.6K0
修改2022-03-07 10:45:00
举报
文章被收录于专栏:CS学习笔记

rtsp实时流协议

1、rtsp协议用于控制具有实时性的数据(例如多媒体流) 的传送,对媒体流提供了诸如开始、暂停、快进等控制功能

2、它本身并不传输数据。它体系结构上在RTP/RTCP协议之上,传输协议可多选(如TCP\UDP\组播udp\tcp)

3、RTSP是一个基于文本的协议,它的语法和操作上跟HTTP1.1类似,且都是纯文本协议,但它们也有区别:

  • RTSP是有状态的,它命令总是按照顺序来发送,其中某个命令可能需要总在另外一个命令之前要发送。而http则是无状态,协议在发送一个命令以后,连接就会断开,且命令之间是没有依赖性的。
  • rtsp协议默认使用554端口,http使用80端口。
  • RTSP的请求服务器和客户端都可以发送,而HTTP请求则只能由客户端发送

rtsp协议的工作原理

RTSP中所有的操作都是通过服务器和客户端的消息应答机制完成的,其中消息包括请求(request)应答(response)两种。

  1. 请求报文
请求报文格式
请求报文格式

RTSP方法

常用:OPTIONS/DESCRIBE/SETUP/PLAY/PAUSE/TEARDOWN

2、响应报文

响应报文
响应报文

常用状态码

重要的首部字段

  • CSeq: 指定了RTSP请求响应对的序列号,对每个包含一个给定序列号的请求消息,都会有一个相同序列号的回应消息,且每个请求或回应中都必须包括这个头字段
  • Content-Length:该字段指明在RTSP协议最后一个标头之后的双 CRLF 之后的内容长度。例如在服务器响应DESCRIBE中,指明sdp信息长度
  • Content-Type:告诉客户端实际返回的内容的类型

OPTIONS

一般用于客户端主动发出,获取服务器支持的方法。可以在任何时候发送,不影响服务器的状态。

注意Cseq,Public字段

DESCRIBE

客户端向服务器获取URL指定的媒体对象的描述信息,一般参照SDP协议格式,describe阶段构成了rtsp的媒体初始化阶段

  • Accept字段指定了客户端能理解的描述格式
  • Content-Length:该字段指明在RTSP协议最后一个标头之后的双 CRLF 之后的内容长度。例如在服务器响应DESCRIBE中,指明sdp信息长度
  • Content-Type:告诉客户端实际返回的内容的内容类型

SETUP

客户端向服务器请求建立会话并准备传输。请求信息主要包括流媒体传输的初始化信息

Transport: Transport字段包含客户端可以接受的传输选项列表,包括传输协议,地址端口等。服务器端也通过这个头字段返回实际选择的具体选项。

Session: Session字段标识了一个RTSP会话。Session ID 是由服务器在SETUP的回应中选择的,客户端一当得到Session ID后,在以后的对Session的操作请求消息中都要包含Session ID

PLAY

客户端主动通知服务器以SETUP指定的传输机制开始发送数据。当多个PLAY请求到达时,服务器会将PLAY请求排成队列,顺序执行,即必须等待第一个PLAY的时间完成后,才会继续处理第二个PLAY消息。

  • Range字段指定了播放的起止时间,可以使用SMPTE、NTP或clock时间单元。

PAUSE

客户端请求服务器的媒体流传输临时暂停,不释放资源。可以通过Range参数在指定时间点暂停,也可以指定某股流暂停,例如如果指定音频流暂停,则播放将是无音状态

TEARDOWN

TEARDOWN请求停止给定URL流发送,释放相关资源。

RECOED

RECORD通知服务器方法客户端将会根据之前的描述开始记录媒体数据。

目前使用情况

live555提供了RTSP流媒体服务器的一个开源解决方案。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • rtsp实时流协议
  • rtsp协议的工作原理
  • 目前使用情况
相关产品与服务
实时音视频
实时音视频(Tencent RTC)基于腾讯21年来在网络与音视频技术上的深度积累,以多人音视频通话和低延时互动直播两大场景化方案,通过腾讯云服务向开发者开放,致力于帮助开发者快速搭建低成本、低延时、高品质的音视频互动解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档