手撕RTSP协议中 从零开始学习RTSP协议 持续更新中....

news2024/9/23 21:20:44

RTSP协议在安防监控 摄像头有着广泛的运用 ,基本上只要是做摄像头 是必须支持的协议。

我个人理解 RTSP基本上算是一个局域网的协议,广域网不太适合因为rtsp传输的视频码率 分辨率 都是比较高的  所有注定了他只适合局域网不适合互联网。

下午就要回家过年了 趁 上午这点时间先开个头。

拿了一个别人的有源码的rtsp server端慢慢加log来慢慢学习

学习环境  本地一个linux服务器 ip地址是192.168.0.209

还有一台windows机子 rtsp客户端使用vlc 装在windows机子上

现在linux机子上开启rtsp服务端,然后从windows上打开vlc 选择打开串流

然后看server端的log 如下图

 先看log 如下图

 

 

 从上面log可以看出 建立连接之后客户端VLC首先

发送一个 OPTIOS的方法

接着服务端回了一个OPTIONS 报文告诉客户端 我支持的方法

然后服务端回复DESCRIBE报文 

接着VLC发送SETUP报文 

服务端回复SETUP报文

接着VLC发送PLAY报文

由于我们没有视频流所以肯定会失败

客户端回复PLAY报文

由于是失败了VLC发送TEARDOWN报文关闭本次连接

今天先写到这  得回去收拾下赶火车了 !!! (20230118)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/171334.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Node.js+Vue.js全栈开发王者荣耀手机端官网和管理后台(二) || 后台及接口完结篇

文章目录Node.jsVue.js全栈开发王者荣耀手机端官网和管理后台(二)通用CRUD接口装备(物品)管理图片上传英雄管理英雄编辑【模型字段】英雄编辑【编辑表单】技能编辑【UI】技能编辑【交互】文章管理富文本编辑器(quill)富文本编辑器…

23种设计模式(八)——工厂方法模式【对象创建】

文章目录 意图什么时候使用工厂方法真实世界类比工厂方法模式的实现工厂方法模式的优缺点亦称: 虚拟构造函数、Virtual Constructor、Factory Method 意图 在工厂方法模式中,工厂父类负责定义创建产品对象的公共接口,而工厂子类则负责生成具体的产品对象,这样做的目的是将…

大数据-hadoop-MapReduce原理详解

MapReduce[1]是Google提出的一个软件架构,用于大规模数据集的并行运算。概念“Map(映射)”和“Reduce(归约)”,及他们的主要思想,都是从函数式编程语言借鉴的,还有从矢量编程语言借来…

【基于crul库编写源码实现上传文件到http服务器】

基于crul库编写源码实现上传文件到http服务器编译crul库(可以去我下载资源里面找)用postman生成代码postman生成的代码对应的http服务器的设置_msnap_send_to_httpserver函数有http通过json发送jpeg文件、以及上传ftp服务器、发邮件的实例编译crul库(可以去我下载资源里面找) …

MySQL数据库及数据表相关操作

一,前言1.典型数据库数据库圈子中典型代表:MySQLOracleSQL Server(一般在学校学习的时候用到的是这个数据库)Oracle是世界上公认的最好的数据库,但是我们现在所学习以及以后上班中大部分时候用到的数据库是MySQL,因为MySQL是开源免费的(任何人都可以阅读…

86.编码器-解码器架构以及代码实现

1. 重新考察CNN 2. 重新考察RNN 3. 编码器-解码器架构 4. 总结 使用编码器-解码器架构的模型,编码器负责表示输入,解码器负责输出 5. 代码实现 5.1 编码器 在编码器接口中,我们只指定长度可变的序列作为编码器的输入X。 任何继承这个Enco…

数据结构 - 学习笔记 - 红黑树前传——234树

数据结构 - 学习笔记 - 红黑树前传——234树简介结点类型与红黑树对应关系插入逻辑插入步骤演示2结点插入3结点插入(红黑树旋转)共对应6种红黑树情形有4种情形需要再平衡4结点插入(红黑树变色)234树转红黑树触发分裂有4种情形需要…

234. 回文链表

1、题目描述 额外要求:你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题? 2、题解 2.1 解题思路1 使用额外的栈空间,先将链表中所有的元素依次压入栈中,得到链表的逆序,然后将栈中的元素依次弹出和链表中的元素从…

C++关于初始化列表的细节(必须/不能使用初始化列表的情况、初始化列表的效率分析)

必须使用初始化列表初始化的变量 const修饰的成员变量。 class A { public:A() { a 1; }int a; };构造函数内使用a 1初始化变量a,但这本质上是一种赋值,而我们都知道,const类型的变量是不允许赋值的。 没有默认构造函数的成员变量 所有变量…

百度安全在线查询提示风险原因分析与解决思路

很多站长看到自己的网站被百度提示:“百度网址安全中心提醒您:该页面可能存在违法信息”,这样的提示,都会惊讶自己网站昨天还好好的,怎么今天就提示这样的信息呢?在弄清楚这个问题之前,我们要知…

实时频谱仪的外部I、Q输出端口的同步扫描介绍

实时频谱分析仪与外部GPIO,I、Q输出端口等集成在一起。外部GPIO由外部触发功能组成,通过使用外部硬件和/或多个RTSA设备,可以实现同步扫描设置,以自动进行频谱扫描和捕获。同时,I、Q输出端口有助于与外部高速数字化仪集…

联合证券|日元疯狂跳水30000点!神秘无人机现身韩国萨德基地!

刚刚,又有大事发生! 日本央行意外宣告保持收益率曲线忍受区间不变。日元忽然大暴跌,日元兑美元狂泻超三万点。韩国也有大音讯,据韩联社报导,1月17日,一架无人机挨近韩国“萨德”基地时被美军用搅扰枪击落&a…

2023跳槽最新面试题整理——JVM系列

今天是农历2022年腊月二十七了,和往常的春节假期、五一假期和十一假期一样都是团队中坚持到最后的一个。没几天也要快过年了,我先提前向大家拜个早年——祝大家兔年大吉,新春快乐,财源滚滚,万事如意。 今年从十一…

如何使用 Selenium 实现自动化操作?

目录 前言 一、关于Selenium 1.1、为什么选择它作为web自动化的测试工具? 1.2、Selenium操作浏览器的原理 二、实现一个简单的自动化 2.1、使用自动化操作浏览器 2.2、Selenium常用的API 2.2.1、查找页面元素 小结 前言 本篇咱们来谈谈Selenium自动化脚本是…

pfx证书转pem、crt、key

今天测试端的服务器突然不能下载苹果APP了,经查看,发现原来是测试环境的https证书过期了,需要更换证书,于是赶紧从阿里云更新我们的最新证书 我们程序部署在tomcat上,于是下载tomcat版本,下载完成后如下 我…

【微信小程序-原生开发】实用教程05-首页(含自定义调试模式、插入图片、图文排版、底部留白、添加本地图片)

开始前,请先完成启动/欢迎/首屏广告页的开发,详见 【微信小程序-原生开发】实用教程04-启动/欢迎/首屏广告页(含倒计时、添加文字、rpx、定义变量和函数、读取变量、修改变量、wx.reLaunch 页面跳转、生命周期 onReady等) https://blog.csdn…

输入设备应用

1.输入设备其实就是能够产生输入事件的设备就称为输入设备, 常见的输入设备包括鼠标、键盘、触摸屏、按钮等等,它们都能够产生输入事件,产生输入数据给计算机系统。2.对于输入设备的应用编程其主要是获取输入设备上报的数据、 输入设备当前状…

驱动程序那点事儿

是什么 驱动程序是一个软件组件,(添加到操作系统中的一小块代码),是操作系统和设备通信的桥梁。应用程序需要从设备中读取某些数据,操作系统会调用由驱动程序实现的函数。驱动程序了解如何与设备硬件通信以获取数据。当…

菜鸟程序员如何快速进阶成为编程老司机?

菜鸟程序员如何摆脱稚嫩,快速成长为一名资深码农? 以下这些事情,帮你快速打好基础。 如果你想成为更好的开发者,你应该尤其注意第10点和第14点。 1.积极大胆地谷歌。你得知道如何有效地组织搜索关键字,查阅别人写的…

高并发系统设计 --热点key问题解决

热点Key问题,这是一个老生常谈的问题了,今天我们来仔细的去剖析这个问题。 热点key带来的问题 流量集中。达到服务器处理上限(CPU,网络IO等)会影响在同一个Redis实例上其他key的读写请求操作热key请求落到同一个Redi…