1. 实时流协议RTSP

RTSP[3]协议以客户服务器方式工作,它是一个多媒体播放控制协议,用来使用户在播放从因特网下载的实时数据时能够进行控制,如:暂停/继续、后退、前进等。因此 RTSP 又称为“因特网录像机遥控协议”。

1.1.RTSP协议简介

要实现 RTSP 的控制功能,不仅要有协议,而且要有专门的媒体播放器(media player)和媒体服务器(media server)。媒体服务器与媒体播放器的关系是服务器与客户的关系。

媒体服务器与普通的万维网服务器的最大区别就是媒体服务器支持流式音频和视频的传送,因而在客户端的媒体播放器可以边下载边播放(需要先缓存一小段时间的节目)。但从普通万维网服务器下载多媒体节目时,是先将整个文件下载完毕,然后再进行播放。

图1 RTSP与RTP和RTCP的关系

RTSP 仅仅是使媒体播放器能控制多媒体流的传送。因此,RTSP 又称为带外协议,而多媒体流是使用 RTP 在带内传送的。

1.2.RTSP的报文结构

RTSP有两类报文:请求报文和响应报文。请求报文是指从客户向服务器发送请求报文,响应报文是指从服务器到客户的回答。

由于 RTSP 是面向正文的(text-oriented),因此在报文中的每一个字段都是一些 ASCII 码串,因而每个字段的长度都是不确定的。

RTSP报文由三部分组成,即开始行、首部行和实体主体。在请求报文中,开始行就是请求行,RTSP请求报文的结构如图2所示。

图2 RTSP请求报文的结构

RTSP请求报文的方法包括:OPTIONS、DESCRIBE、SETUP、TEARDOWN、PLAY、PAUSE、GET_PARAMETER和SET_PARAMETER。RTSP请求报文的常用方法及作用如表1所示。

表1 RTSP请求报文的常用方法及作用

方法

作用

OPTIONS

获得服务器提供的可用方法

DESCRIBE

得到会话描述信息

SETUP

客户端提醒服务器建立会话,并确定传输模式

TEARDOWN

客户端发起关闭请求

PLAY

客户端发送播放请求

响应报文的开始行是状态行,RTSP响应报文的结构如图3所示。

图3 RTSP响应报文的结构

1.3.RTSP交互过程

C表示RTSP客户端,S表示RTSP服务端

① C->S: OPTION request            //询问S有哪些方法可用

S->C: OPTION response        //S回应信息中包括提供的所有可用方法

② C->S: DESCRIBE request      //要求得到S提供的媒体初始化描述信息

S->C: DESCRIBE response      //S回应媒体初始化描述信息,主要是sdp

③ C->S: SETUP request         //设置会话属性,以及传输模式,提醒S建立会话

S->C: SETUP response         //S建立会话,返回会话标识符及会话相关信息

④ C->S: PLAY request          //C请求播放

S->C: PLAY response          //S回应请求信息

S->C: 发送流媒体数据

⑤ C->S: TEARDOWN request     //C请求关闭会话

S->C: TEARDOWN response     //S回应请求

上述的过程是标准的RTSP流程,其中第3步和第4步是必需的。

rtsp 报文转发_RTSP协议介绍相关推荐

  1. rtsp 报文转发_rtsp_proxy_server

    RTPS代理与转发服务 Proxy介绍 利用libevent实现网络连接和线程池.通过tcp连接的方式实现rtsp消息转发,再通过udp连接进行rtp与rtcp转发.报文解析使用到了Qt库.请尽量使用 ...

  2. rtsp 报文转发_stp技术回顾和rstp经典笔记

    一.Rstp:快速生成树 1.stp技术回顾 5种状态3种角色 组成三角型组网 该交换网路中(没有三层)主机在同一网段 此时当交换机收到数据帧时,交换机进行泛红整个数据不停地转发 对发出数据帧进行也就 ...

  3. rtsp 报文转发_RSTP技术详解

    STP技术点的回顾 1.STP的作用是什么? 通过阻塞端口来达到我们破环的目的 可以进行冗余备份 2.STP的端口角色有哪几个? 根端口(RP) 在非根交换机上选举 指定端口(DP)在每一个链路上进行 ...

  4. canopen 报文格式_CANopen协议介绍

    1.CANopen协议简介 从OSI 网络模型的角度来看,CAN总线只定义了OSI网络模型的第一层(物理层) 和第二层(数据链路层),而在实际设计中,这两层完全由硬件实现,设计人员无需再为此开发相关软 ...

  5. LIVE555 RTSP RTP/RTCP协议介绍

    LIVE555  RTSP.RTP/RTCP协议介绍 一.概述 RTSP(Real-Time Stream Protocol )是一种基于文本的应用层协议,在语法及一些消息参数等方面,RTSP协议与H ...

  6. 2022-10-31 网工进阶(三十三) IP组播-流量模型、组播概念、组播报文结构、组播地址与MAC、组播网络架构、组播服务模型、组播数据转发原理(RPF检查、组播分发树、组播协议介绍)

    IP组播概念 流量模型 网络中存在各种各样的业务,从流量模型看一般可以将业务分为两类: 点到点业务:比如FTP,WEB业务,此类业务主要特点是不同的用户有不同的需求,比如用户A需要下载资料A,用户B需 ...

  7. TFTP协议(1)TFTP协议介绍(包括:TFTP的五种报文/报文字段扩展/TFTP的流量控制,差错控制/UDP sendto,recvfrom接口)

    TFTP协议(1)TFTP协议介绍(包括:TFTP的五种报文/报文字段扩展/TFTP的流量控制,差错控制/UDP sendto,recvfrom接口) 1. TFTP协议 1.1 TFTP 背景 1. ...

  8. PPTP协议介绍及其报文的分析

    PPTP协议介绍及其报文的分析 PPTP简介 PPTP处理的报文 PPTP报文详情及流程 incoming模式(被动模式)与outgoing模式(主动模式)的区别 PPTP数据链路报文格式 其他 PP ...

  9. 流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)

    RTP     参考文档 RFC3550/RFC3551     Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传输层协议.RTP协议详细说明 ...

最新文章

  1. boot数据加解密 spring_SpringBoot 集成 Jasypt 对数据库加密以及踩坑
  2. POJ 2481 Cows POJ 2352 Stars(树状数组妙用)
  3. 如何使用MATLAB绘制不同类型的二维图形
  4. c++ socket启动网卡接口
  5. python 打包文件
  6. 7135制作自动量程电压切换_基于数字电压表的直流电位差计自动检定装置的讨论...
  7. ASP.NET Core 中间件的几种实现方式
  8. WSL+VSCODE体验UBUNTU环境下的开发
  9. 如何调度spark程序_如何定时,周期性的运行程序?Python APScheduler实现任务灵活调度...
  10. 计算机科学系小学教育专业就业前景,小学教育专业就业方向与就业前景
  11. 验证Vsphere 5 支持大于2TB磁盘
  12. Lua require搜索路径指定方法
  13. 高精度运算一(两个数的运算)
  14. tinyxml2遍历所有节点_数据结构+算法(第15篇):“神之一着”与“翻云手”!后序遍历还能这么玩...
  15. 优秀的孩子是这样培养的
  16. 直播预告 | 揭秘时序数据库极致性能背后的存储引擎
  17. 模拟电路设计经典教材推荐
  18. anaconda 修复快捷方式
  19. 创新式开发探索(三) —— 反思自己的开发活动
  20. 【重识云原生】第六章容器基础6.4.10.5节——Statefulset原理剖析

热门文章

  1. Matlab的freqz()函数和窗函数法fir1()一起使用
  2. 晦涩难懂的设计软件T恤大集合,看看你能明白几个
  3. Android-插入短信及备份手机中的短信到SD卡
  4. 通用三合一mysql_MySQL企业版线上专场 | 三合一精华版
  5. 医院PACS系统的发展历史
  6. VMware 安装Centos7 虚拟机 报Unmount and run xfs_repair
  7. 程序员转实施工程师_【好文】IT工程师转行干工程,月薪10k+到3500,我的一建奋斗史!...
  8. 微信云托管如何实现一套代码对应多个环境
  9. 第四范式:借势PC霸主,推出企业级AI操作系统
  10. MAC版本的IBM SPSS Statistics 安装教程