14.live555mediaserver-play请求与响应

live555工程代码路径
live555工程在我的gitee下(doc下有思维导图、drawio图):
live555
https://gitee.com/lure_ai/live555/tree/master

章节目录链接
0.前言——章节目录链接与为何要写这个?
https://blog.csdn.net/yhb1206/article/details/127259190?spm=1001.2014.3001.5502

学习demo
live555mediaserver.cpp

学习线索和姿势
1.学习的线索和姿势

网络编程
流媒体的地基是网络编程(socket编程)。
[网络编程学习]-0.学习路线。

绘图规则
本文的对象图和思维导图遵守的规则详见:
2.绘图规则

非阻塞服务端网络编程流程
socket创建、bind、listen、select、accept、select、recv/send-close。

rtsp协商流程
options、describe、setup、play、pause、teardown、get parameter、set parameter

本节内容和目标
(1)rtsp协议的setup请求与响应
(2)思维导图绘制
(3)wireshark抓包
(4)对象图
(5)延时任务管理双向循环链表探索

正式开始
SETUP协商完事,VLC接着下发了PLAY信令,开始PLAY协商。

1.客户端PLAY请求报文

在这里插入图片描述

2.PLAY响应

响应报文如下
在这里插入图片描述

如何组成的响应报文,如下慢慢学习。

其实应该带着问题来学习,这样最好,我看到这的时候有问题:
(1) play 的服务端响应流程,mkv文件、h264文件等的流程,是不是会抽象出通用的流程?
(2)然后就是分离音视频数据的,如何分离的?——算了,我也不想知道,太细了、大致流程就行了。
(3)音视频rtp打包和发送live555是如何实现的?这个应该是属于rtp协议线索阶段,不过也是play交互完成后要做的事。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Web APIs

文章目录 1.Web APIs 和 JS 基础关联性1.1 JS 的组成 2. API 和 Web API2.1 API2.2 Web API 1.Web APIs 和 JS 基础关联性 1.1 JS 的组成 2. API 和 Web API 2.1 API **API(Application Programming Interface,应用程序编程接口)**是一些预先定义的函…

关于cip.cc查IP出口地址的工具到底准确不准确?

关于 cip.cc 或其他在线IP查询工具的准确性, 首先来看2张图片,分别如下 实际情况就是作者在杭州,使用的网络出口地址应该是百度的,而不是cip.cc所显示的地址。 所以结论是cip.cc并不靠谱,我又查阅了相关资料如下 1.…

2023-07-14:讲一讲Kafka与RocketMQ中存储设计的异同?

2023-07-14:讲一讲Kafka与RocketMQ中存储设计的异同? 答案2023-07-14: 在Kafka中,文件的布局采用了Topic/Partition的方式,每个分区对应一个物理文件夹,且在分区文件级别上实现了顺序写入。然而&#xff0…

【JavaEE】HTTP协议和抓包工具的使用

目录 1、HTTP的概述和抓包工具的使用 1.1、HTTP是什么 1.2、了解HTTP协议的工作过程 1.3、抓包工具的使用 1.3.1、抓包工具在HTTP传输时的工作原理 1.3.2、Fiddler抓包工具的下载和使用 2、HTTP协议格式 2.1、HTTP 请求格式 2.1.1.基本格式 2.1.2、了解HTTP请求包中的…

【动手学习深度学习--逐行代码解析合集】19含并行连结的网络(GoogleNet)

【动手学习深度学习】逐行代码解析合集 19含并行连结的网络(GoogleNet) 视频链接:动手学习深度学习–含并行连结的网络(GoogleNet) 课程主页:https://courses.d2l.ai/zh-v2/ 教材:https://zh-v…

prometheus调整默认数据存储时间

调整kubernetes部署的prometheus数据存储时间 由于prometheus是用kuberentes部署的,没办法像传统部署方式那种直接在启动参数增加存储时间的参数。需要在configmap里或者在deployment里添加,我这里使用的方式是在deployement里添加调整存储时间的参数。…

【Linux】进程信号

文章目录 1. 信号的理解1.1 什么是进程信号1.2 见见进程信号1.3 信号的发送与记录1.4 信号的处理1.4.1 信号的三种处理方式1.4.2 核心转储 2. 信号的产生2.1 终端按键产生信号2.2 系统调用产生信号2.3 软件异常产生信号2.4 硬件异常产生信号 3. 信号的保存3.1 信号其他相关概念…

git clone 或者是vscode clone 时遇到the remote end hung up unexpectedly

fatal: the remote end hung up unexpectedly fatal: early EOF fatal: index-pack failed使用git clone总是报错 查看原因有三种可能:要么是缓存不够,要么是网络不行,要么墙的原因。 如果是网络不行,可以配置git的最低速度和最…

基于Python+Django+mysql+html学生成绩管理系统

基于PythonDjangomysqlhtml学生成绩管理系统 一、系统介绍二、功能展示1.用户登陆2.主页3.年级管理4.班级管理5.课程管理6.学生管理7.班级管理8.学生管理 三、其它系统四、获取源码 一、系统介绍 成绩录入测试账号:test 密码:123 在线成绩录入&#xff…

pandas的DataFrame转存MATLAB的mat格式

有的时候需要把 pandas 处理好的 DataFrame 进一步交给MATLAB来处理。当然可以保存成 excel 文件,不过当数据量比较大的时候,读取比较慢,这个时候转存成 MATLAB 可读的 mat 文件更合适(MATLAB 能快速读取)。 标准的操…

Deepin/UOS Linux 桌面自定义 IDEA/DataGrip 应用程序图标

在 $HOME/Desktop目录下编辑 vim jetbrains.intelij.idea.desktop [Desktop Entry] TypeApplication NameIntelij IDEA Icon/opt/module/idea-IU-203.8084.24/bin/idea.png Exec/opt/module/idea-IU-203.8084.24/bin/idea.sh Terminalfalse CategoriesDevelopment;IDE;vim je…

计算机毕设 大数据电商用户行为分析及可视化

文章目录 1. 数据集说明2. 数据处理2.1 数据导入2.2 数据清洗 3.数据分析可视化3.1 用户流量及购物情况3.2 用户行为转换率3.3 用户行为习惯3.4 基于 RFM 模型找出有价值的用户3.5 商品维度的分析 4 最后 1. 数据集说明 这是一份来自淘宝的用户行为数据,时间区间为…