论rtp协议的重要性
rtp ps流工具
rtp 协议,实时传输协议,为什么这么重要,可以这么说,几乎所有的标准协议都是国外创造的,感叹一下,例如rtsp协议,sip协议,webrtc,都是以rtp协议为基础,哪怕是我国的gb28181,都是建立在sip和rtp基础之上。
实时传输协议以udp为基础(可以是tcp),创造了最快的传输方法,以不分帧为理由,每个包不超过64k(tcp单包的最大长度),为什么是64k,因为ip协议是用2个字节来表示包长度的,而每个包再次限制于1500字节MTU,也就是最大传输单元,避免分帧,不用交换机重新组帧,这样速度是较快的。
对于tcp来说,是流式协议,不作他讲。无论是tcp还是udp都是可行的做法,rtp over tcp 和 rtp over udp 都可以放入rtsp 或者 sip 协议中,其中另外一个指明交换的文本协议叫做sdp协议,中文名为会话描述协议,可以直接rtp传输吗,可以,但是关键帧之前一定要有sps,pps,h265 之前再加个vps,因为一般来说,sps,pps这种信息会放到sdp中,没有了sdp的加持,那么我们的接收程序必须要约定一些内容。
工具的程序在这里
https://gitee.com/guanzhi0319/rtp

DSCapture::~DSCapture()
{Destroy();
}void DSCapture::Destroy()
{audio_encoder_thread_->Stop();video_encoder_thread_->Stop();SAFE_DELETE( ds_video_graph_ );SAFE_DELETE( ds_audio_graph_ );SAFE_DELETE( ds_video_cap_device_ );SAFE_DELETE( ds_audio_cap_device_ );SAFE_DELETE( audio_encoder_thread_ );SAFE_DELETE( video_encoder_thread_ );
}
准备着手继续rtp协议,先解决了关闭的bug,没有关闭线程,关闭线程就好,调整了一下界面,准备好好写一下吧,请给个鼓励。
一直以来没有好好继续自己的开源工具,今天忽然觉得,无论是在工作中,还是在网络中,对底层的知识还是缺乏的,更多是应为许许多多的工具和开源,使得大家不愿意去掌握更深层次的东西,我说更深层次,未必是有多深,可能只是往下走一步,先不要深究,我对中国的软件一直抱有愿望,有点叹息,看到photoshop,autocad,3dmax, solidworks,bim的各种软件, 犀牛,或者是一个go语言,大学使用的matlab,web里面的cesium,threejs, 音视频的各种工具,gstreamer,ffmpeg,而国人能拿得出手的设计工具确实很少,我们的大厂大多朝着商业行为而走,做手机,做电动车,做游戏,而底层建筑树立的还是比较少的,不可否认朝着盈利没有问题,但终究我们国内的软件创造氛围依然不是很好,大家都说我们的AI还是不错,如果没有国外的pytorch,tensorflow,我们的底层逻辑显然就没有依据了。
相关文章:
论rtp协议的重要性
rtp ps流工具 rtp 协议,实时传输协议,为什么这么重要,可以这么说,几乎所有的标准协议都是国外创造的,感叹一下,例如rtsp协议,sip协议,webrtc,都是以rtp协议为基础&#…...
【Github搭建网站】零基础零成本搭建个人Web网站~
Github网站:https://github.com/ 这是我个人搭建的网站:https://xf2001.github.io/xf/ 大家可以搭建完后发评论区看看!!! 搭建教程:https://www.bilibili.com/video/BV1xc41147Vb/?spm_id_from333.999.0.0…...
unocss+iconify技术在vue项目中使用20000+的图标
安装依赖 npm i unocss iconify/json配置依赖 vue.config.js文件 uno.config.js文件 main.js文件 使用 <i class"i-fa:user"></i> <i class"i-fa:key"></i>class名是 i- 开头,跟库名:图标名,那都有什么库…...
python 自动化模块 - pyautogui初探
python 自动化模块 - pyautogui 引言一、安装测试二、简单使用三、常用函数总结 引言 在画图软件中使用pyautogui拖动鼠标,画一个螺旋式的正方形 - (源码在下面) PyAutoGUI允许Python脚本控制鼠标和键盘,以自动化与其他应用程序的交互。API的设计非常简…...
UE5 蓝图编辑美化学习
虚幻引擎中干净整洁蓝图的15个提示_哔哩哔哩_bilibili 1.双击线段成节点。 好用,爱用 2.用序列节点 好用,爱用 3.用枚举。 好用,能避免一些的拼写错误 4.对齐节点 两点一水平线 5.节点上下贴节点 (以前不懂,现在经常…...
基于动态顺序表实现通讯录项目
本文中,我们将使用顺序表的结构来完成通讯录的实现。 我们都知道,顺序表实际上就是一个数组。而使用顺序表来实现通讯录,其内核是将顺序表中存放的数据类型改为结构体,将联系人的信息存放到结构体中,通过对顺序表的操…...
python使用jupyter记笔记
目录 一、安装 二、运行jupyter 三、使用 四、记笔记 Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。 Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享程序文档&a…...
C#封装服务
C#封装服务 新建服务项目;重构 OnStart 和 OnStop using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Linq; using System.ServiceProcess; using System.Text; using S…...
手写Vue3源码
Vue3核心源码 B站视频地址:https://www.bilibili.com/video/BV1nW4y147Pd?p2&vd_source36bacfbaa95ea7a433650dab3f7fa0ae Monorepo介绍 Monorepo 是管理项目代码的一种方式,只在一个仓库中管理多个模块/包 一个仓库可以维护多个模块,…...
如何无需重复输入FTP信息来安装WordPress主题和插件
WordPress作为一个广受欢迎的内容管理系统,提供了丰富的主题和插件来扩展网站的功能和外观。然而,许多用户在安装这些主题和插件时,经常遇到需要重复输入FTP信息的麻烦。幸运的是,有几种方法可以解决这个问题,让安装过…...
开发安全之:JSON Injection
Overview 在 XXX.php 的第 X 行中,responsemsg() 方法将未经验证的输入写入 JSON。攻击者可以利用此调用将任意元素或属性注入 JSON 实体。 Details JSON injection 会在以下情况中出现: 1. 数据从一个不可信赖的数据源进入程序。 2. 将数据写入到 …...
各种Linux版本安装Docker
文章目录 一、Ubuntu 20.04.61. 网卡和DNS配置2. Docker安装 二、CentOS Linux 7.91. 网卡和DNS配置2. Docker安装 三、Alibaba Cloud Linux 31. DNS配置2. repo说明3. Docker安装 四、验证是否安装成功 一、Ubuntu 20.04.6 1. 网卡和DNS配置 /etc/netplan 找到 *.yaml 文件 …...
git中合并分支时出现了代码冲突怎么办
目录 第一章、Git代码冲突介绍1.1)什么是Git代码冲突①git merge命令介绍②代码冲突原因 1.2)提示代码冲突的两种情况①本地不同分支的文件有差异时:②本地仓库和git远程仓库的文件有差异时: 1.3)解决合并时的代码冲突…...
什么是防火墙?
目录 什么是防火墙,为什么需要防火墙?防火墙与交换机、路由器对比防火墙和路由器实现安全控制的区别防火墙的发展史1989年至1994年1995年至2004年2005年至今 什么是防火墙,为什么需要防火墙? “防火墙”一词起源于建筑领域&#x…...
tui.calender日历创建、删除、编辑事件、自定义样式
全是坑🕳!全是坑🕳!全是坑🕳!能不用就不用! 官方文档:https://github.com/nhn/tui.calendar/blob/main/docs/en/apis/calendar.md 实例的一些方法,比如创建、删除、修改、…...
OpenHarmonyOS-gn与Ninja
GN语法及在鸿蒙的使用 [gnninja学习 0x01]gn和ninja是什么 ohos_sdk/doc/subsys-build-gn-coding-style-and-best-practice.md GN 语言与操作 一、gn简介 gn是generate ninja的缩写,它是一个元编译系统(meta-build system),是ninja的前端&am…...
Docker部署Traefik结合内网穿透远程访问Dashboard界面
文章目录 前言1. Docker 部署 Trfɪk2. 本地访问traefik测试3. Linux 安装cpolar4. 配置Traefik公网访问地址5. 公网远程访问Traefik6. 固定Traefik公网地址 前言 Trfɪk 是一个云原生的新型的 HTTP 反向代理、负载均衡软件,能轻易的部署微服务。它支持多种后端 (D…...
2024年甘肃省职业院校技能大赛信息安全管理与评估 样题二 理论题
竞赛需要完成三个阶段的任务,分别完成三个模块,总分共计 1000分。三个模块内容和分值分别是: 1.第一阶段:模块一 网络平台搭建与设备安全防护(180 分钟,300 分)。 2.第二阶段:模块二…...
从代码到项目管理:程序员的职业跃迁与PMP认证之路
哈喽,我是eleven,软件工程专业毕业,工作六年多的时间从事过测试岗、研发岗、项目经理岗。一路走来一直按照自己的职业规划向前发展,每一步都成功转型,目前已顺利拿到PMP项目管理资格认证。希望能通过自己的经验给大家带来些许帮助…...
空间形状对结构加法产物的影响
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 有2个点被固定在一个5*5的平面内,在这个平面内还有2个点在随机的运动。最终这4个点是如何分布的? 1 - - - 5 - - 1 9 - - 1 - 13 - - - 1 1 1 - 1 …...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...
Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...
LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...
Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...
使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度
文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...
