上一篇我们讲了RTSP PAUSE消息,本篇我们来看下RTSP TEARDOWN消息!

TEARDOWN作用

TEARDOWN是拆卸的意思,对于RTSP而言,就是结束流传输,同时释放与之相关的资源,TEARDWON之后,整个RTSP连接也就结束了!好了,接下来我们来仔细看一下:

TEARDOWN格式

首先还是看一下TEARDOWN请求的消息格式:

如图中,TEARDOWN消息中,指定了URI,不用多说了;RTSP版本号也是我们的老朋友了;CSeq表示序列号;Authorization表示认证信息;User-Agent是用户代理;Session表示会话ID(SETUP消息请求之后RTSP sever返回的会话id)。

感觉不够直观,哈哈,来来来,抓包献上,分析协议没有抓包总感觉像缺了灵魂:

该TREADOWN消息中,消息序列号为10,用户代理为LibVLC/3.0.11,这是我们使用VLC播放器rtsp流的一个代理,消息序列号为10, Session为之前SETUP请求后服务端返回的session字段的值,用于表示此次会话连接!

发出去请求后,服务端同样也会回馈response的消息,response的格式如下:

回复消息中包含RTSP 版本号,状态码以及针对状态码的描述;同时返回消息的序列号(对应请求序列号)以及session id;另外还返回日期信息!服务端正常返回该消息,则此次RTSP连接消息结束!

我们来看一个抓包文件:

从抓包文件中可以看出,服务端回复200 Ok的消息,表示正常回复;同时也返回CSeq和Session,CSeq和Session的值与TEARDOWN请求中的值是一致的;另外返回了结束的日期和时间!

TEARDOWN示例

好了,老规矩,最后再来一个完整TEARDWON请求和回复的例子:

TEARDOWN请求

TEARDOWN rtsp://192.17.1.73:554/Streaming/Channels/101/?transportmode=unicast&profile=Profile_1 RTSP/1.0\r\n
CSeq: 10\r\n
Authorization: Digest username="admin", realm="bcad28138995", nonce="a1a5b9d3865180dccbaffb1cb2eb2a27", uri="rtsp://192.17.1.73:554/Streaming/Channels/101/", response="c5c005ef16638dfa326dcfc0c3f54aab"\r\n
User-Agent: LibVLC/3.0.11 (LIVE555 Streaming Media v2016.11.28)\r\n
Session: 1659421772\r\n\r\n

TEARDOWN的回复

RTSP/1.0 200 OK\r\n
CSeq: 10\r\n
Session: 1659421772\r\n
Date: Thu, Aug 27 2020 18:31:13 GMT\r\n\r\n

关于TEARDOWN就介绍到这里了,TEARDOWN之后,整个RTSP连接就结束了。不过RTSP还有一些其他常见的OPTION,如SET_PARAMETER,GET_PARAMETER,接下来我们就简单介绍一下这些指令!下一篇见了,老铁们!

往期推荐

手撕RTSP协议系列(1)——Rtsp基本流程

手撕RTSP协议系列(2)——Rtsp消息格式

手撕RTSP协议系列(3)——sdp格式详解

手撕RTSP协议系列(4)——OPTION

手撕RTSP协议系列(5)——DESCRIBE

手撕RTSP协议系列(6)——SETUP

手撕RTSP协议系列(7)——PLAY

手撕RTSP协议系列(8)——PAUSE

扫码关注了解更多,还有交流群哦

手撕RTSP协议系列(9)——TEARDOWN相关推荐

  1. 手撕RTSP协议系列(1)——Rtsp基本流程

    哈喽,久违的小伙伴们!之前开了一个专辑手撕了rtmp协议!对于流媒体协议,rtsp协议也是很常见的,接下来我们继续手撕,手撕rtsp协议!本篇我们首先来简单了解一下rtsp协议并对其连接过程做一个概览 ...

  2. iot架构 mqtt netty_Netty实现高性能IOT服务器(Groza)之手撕MQTT协议篇上

    前言 诞生及优势 MQTT由Andy Stanford-Clark(IBM)和Arlen Nipper(Eurotech,现为Cirrus Link)于1999年开发,用于监测穿越沙漠的石油管道.目标 ...

  3. 手撕IP核系列——Xilinx FIR IP核之一

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 手撕IP核系列--Xilinx FIR IP核之一 前言 FIR 滤波器模块的设置 实现分析 前言 在Xilinx和Intel平台的F ...

  4. FFmpeg入门详解之84:RTSP协议讲解

    RTSP亲手搭建直播点播 测试工具:VLC 数据源:  文件或本地摄像头 测试功能:RTSP直播点播 播放地址:rtsp://127.0.0.1:8554/rtspa001 服务端:推流 客户端:拉流 ...

  5. 手撕设计模式之「工厂方法模式」(Java描述)

    前言 工厂方法模式是对简单工厂模式的改进,它通过对工厂类进行抽象形成一个抽象工厂接口,再让具体的工厂负责对应产品的创建,使得在增加产品的场景中也满足"开闭原则".希望通过本文的学习 ...

  6. 手撕设计模式之「简单工厂模式」(Java描述)

    前言 利用简单工厂模式可以实现对象创建和业务逻辑处理的分离,但存在工厂类职责过重,增添新产品违背开闭原则等问题.它不属于GoF 23种设计模式之一,但是它可以作为学习工厂方法模式前的一个很好的引导. ...

  7. [ 数据结构 -- 手撕排序算法第四篇 ] 选择排序

    手撕排序算法系列之第四篇:选择排序. 从本篇文章开始,我会介绍并分析常见的几种排序,大致包括直接插入排序,冒泡排序,希尔排序,选择排序,堆排序,快速排序,归并排序等. 大家可以点击此链接阅读其他排序算 ...

  8. [ 数据结构 -- 手撕排序算法第二篇 ] 冒泡排序

    手撕排序算法系列之:冒泡排序. 从本篇文章开始,我会介绍并分析常见的几种排序,大致包括插入排序,冒泡排序,希尔排序,选择排序,堆排序,快速排序,归并排序等. 大家可以点击此链接阅读其他排序算法:排序算 ...

  9. [ 数据结构 -- 手撕排序算法第三篇 ] 希尔排序

    手撕排序算法系列之:希尔排序. 从本篇文章开始,我会介绍并分析常见的几种排序,大致包括插入排序,冒泡排序,希尔排序,选择排序,堆排序,快速排序,归并排序等. 大家可以点击此链接阅读其他排序算法:排序算 ...

最新文章

  1. Android LayoutInflater 的使用
  2. python自学攻略-Python自学攻略
  3. 苹果在GitHub上正式开源iOS内核源码
  4. 等参元八节点matlab,四边形八节点等参元matlab程序
  5. python均值滤波_opencv+python实现均值滤波
  6. pytorch 之 torch.eye()函数
  7. 文档下载:《Oracle 20c和19c的新特性解密》
  8. 设计模式之组合模式——Java语言描述
  9. 点击场景中的物件无法定位到Hierarchy
  10. PMP考试的成绩怎么算?
  11. win10锁屏时间太短就关闭屏幕
  12. pygame中的mixer(含music)模块
  13. python sha1加密字符串
  14. Mybatis新增获取Id
  15. 清除keep-alive缓存,动态缓存
  16. HOME: First Word —— 字符串分割、正则表达式
  17. 洛谷八连测——关于取模与思维僵化
  18. 计算机专用英语词汇1000个!
  19. “SEO是什么意思?”Kyw的通俗回答
  20. VC6无负担实现XP风格界面

热门文章

  1. 使用 JavaScript 删除disabled属性
  2. *** PAC模式和全局模式的区别
  3. 今年护网攻防演练目标主域名收集方法汇总
  4. 人工智能研究 还需打破学科壁垒的"生殖隔离"
  5. ffmpeg:单张图片 + 音频 生成视频
  6. 探究项目管理中的棘轮效应(转)
  7. 新服务器怎么开无线火力,王者荣耀无限火力怎么创建 无限火力入口在哪里进...
  8. node安装报错及解决方法
  9. 01-微发试验台-如何打开tdms文件?以及转换成matlab格式
  10. 简单一元线性回归模型