15.live555mediaserver-rtp打包

news/2024/10/17 23:35:28/

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

rtp打包流程
打开媒体文件、读取一帧媒体数据、rtp打包、rtp发送

本节内容和目标
(1)rtp打包
(2)思维导图绘制
(3)wireshark抓包
(4)对象图

正式开始

server端收到play指令后就开始进行流媒体数据打rtp包进行发送了。
一般rtp打包思路:
(1) 打开媒体文件
(2)读取一帧数据
(3) rtp打包
(4)rtp发送
(5) 文件读完结束断开rtsp链接或者从头开始不断循环
一般是2-4不断循环直至文件结尾,进入第5条。
因为live555是支持多种媒体文件类型的——264/265/mkv等等文件——那么这些流程是不是可以高度抽象出统一的基类,各媒体类型子类分别实现自身的处理方法?
是否如此还得学习下其流程。

1.打开媒体文件

2.读取一帧数据

3.rtp打包

之前play的流程里有rtp打包的初始流程:
在这里插入图片描述
一如这篇文章所讲:https://blog.csdn.net/Lasuerte/article/details/80929769。

4.rtp发送

5.文件读完


http://www.ppmy.cn/news/1063085.html

相关文章

Shell 编程快速入门 之 循环结构详解

1. 求两数之和 整数之和 shell程序的数字类型只有整数类型一种,并不支持浮点数。如: hannHannYang:~$ cat sum.sh #!/bin/bash# 读取第一个数 echo "请输入第一个数:" read a# 读取第二个数 echo "请输入第二个数&#xff…

登录校验-Filter-入门

目录 前言 过滤器(Filter) 快速入门 步骤 详解 登录校验-Filter 具体代码 运行思路 小结 前言 在前面的文章中,我们已经实现了对于用户登陆成功后,生成并下发令牌返回至前端等功能接口的实现,JWT令牌就是用户…

几个nlp的小任务(抽取式问答)

几个nlp的小任务(抽取式问答) 安装库抽取式问答介绍、SQuAD数据集初始化参数加载、导入数据集查看数据集示例加载tokenizer对长文本处理的演示对答案的位置进行验证整合刚才的步骤对数据集中的数据进行预处理加载微调模型设置args 参数使用数据清洗设置训练函数,开始训练安装…

A股自动交易,自动止盈止损,自动打板

一、前言 炒股的都知道,股市里最难克服的就是人性。开发这个项目的初衷即是想通过机器来克服人性的弱点。因为只要把策略定好,机器会无条件挂单。该止损止损,该止盈止盈。 短线的话卖比买更重要:复盘就会发现,大的亏…

第一百二十五回 dart中List和Map的常见用法

文章目录 概念介绍使用方法初始化相互转换元素操作 经验分享 我们在上一章回中介绍了Flexible组件相关的内容,本章回中将介绍 dart中的List和Map.闲话休提,让我们一起Talk Flutter吧。 概念介绍 我们在这里介绍的List也叫列表,它表示一组相…

RK3399 开机自启一个shell脚本,一直起不来BUG

开机自启shell脚本如下: diff --git a/device/rockchip/common/sepolicy/file_contexts b/device/rockchip/common/sepolicy/file_contexts index eb6b5e4bb4..0bbe781a7c 100755 --- a/device/rockchip/common/sepolicy/file_contextsb/device/rockchip/common/se…

算法笔记:球树

1 KD树的问题 算法笔记:KD树_UQI-LIUWJ的博客-CSDN博客 在kd树中,导致性能下降的最核心因素是因为kd-tree中被分割的子空间是一个个的超方体,而求最近邻时使用的是欧式距离(超球)。超方体与超球体相交的可能性是极高…

深度学习4. 循环神经网络 – Recurrent Neural Network | RNN

目录 循环神经网络 – Recurrent Neural Network | RNN 为什么需要 RNN ?独特价值是什么? RNN 的基本原理 RNN 的优化算法 RNN 到 LSTM – 长短期记忆网络 从 LSTM 到 GRU RNN 的应用和使用场景 总结 百度百科维基百科 循环神经网络 – Recurre…