WebRTC系列实战-自定义RTP中的extension

文章目录

  • 1. 新增extensionsId;
    • 1.1 新增自定义extension
    • 1.2 准备添加到sdp相关操作
    • 1.3 对header长度返回的修改:
  • 2. 自定义extesion的写入及注册到extensionMap中
    • 2.1 添加到RTPheader中
    • 2.2. 大小限制
    • 2.3. 是否注册限制
    • 2.4. 自定义extension注册需要修改的位置
  • 3.接收端解析及注册extensions
    • 对应header的解析
  • 补充

Webrt中本身自定义了很多的rtp extension。例如absltime,audioLevel,videoRotaion,等,但是有时候我们希望额外发送一些我们自定义 的信息,比如:说话人的信息等,这里就需要自定义我们自己的rtp extension了,本文将详细介绍如何通过修改源码的方式实现发送自定义的信息;

1. 新增extensionsId;

1.1 新增自定义extension

  1. 头文件修改
    在rtp_header_extesions.h文件中定了了WebRTC所有使用的extensions相关的类,如果需要自定义实现,我们就需要修改这个文件实现,在这个头文件的最后添加以下代码:
class RtpCustomData{public:static constexpr RTPExtensionType kId = kRtpExtensionCustomDataOfExtensions;<

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

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

相关文章

龙讯旷腾PWmat计算vdW异质结中热载流子冷却 | 复刻《Phys. Chem. Chem. Phys 》文献

01 NAMD 背景介绍 在各类光物理与光化学过程当中&#xff0c;均会牵涉到激发态载流子动力学过程&#xff0c;诸如电荷弛豫、复合以及输运等等。光激发或者电子注入将初始的平衡状态打破&#xff0c;所产生的热载流子在其演化进程中&#xff0c;会与原子核产生强烈耦合。此时&a…

Xshell 常用命令大全手册

Xshell 常用命令大全手册 文章目录 ls (列出文件)cp (复制文件)mv (移动和重命名文件)rm (删除文件和目录)cd (更改目录)mkdir (建立目录)more、less (查看文件内容)grep (搜索文件内容)vi (编辑文件)rz、sz (文件上传下载)cat (显示文件内容)ps (查看进程)kill (杀掉进程)top…

ios-deploy - Required for installing your app on a physical device with the CLI

ios-deploy 是一个用于在 iOS 设备上安装、调试和运行 iOS 应用的开源工具。如果你正在使用命令行界面&#xff08;CLI&#xff09;来部署 React Native 或其他原生 iOS 应用到物理设备&#xff0c;那么安装 ios-deploy 是必要的。 以下是安装 ios-deploy 的一般步骤&#xff…

环境配置02:CUDA安装

1. CUDA安装 Nvidia官网下载对应版本CUDA Toolkit CUDA Toolkit 12.1 Downloads | NVIDIA Developer CUDA Toolkit 12.5 Downloads | NVIDIA Developer 安装配置步骤参考&#xff1a;配置显卡cuda与配置pytorch - 知乎 (zhihu.com) 2. 根据CUDA版本&#xff0c;安装cudnn …

你才是自己生活的主宰者!——Are we having fun yet

人各有不同&#xff0c;不同的人适合做不同的事。某人喜欢做特定的某件事&#xff0c;这并不意味着你也要去喜欢。判断一件事情是否该去做&#xff0c;不能只凭它能否带来物质利益等&#xff0c;而应看此事是否能够带给我们乐趣并使我们获得满足感。你的工作带给你自豪感和满足…

喜马拉雅项目调整

文章目录 1 频道部分下标旋转频道列表平移 2 渐变按钮搜索放大镜登录按钮径向渐变 3 左右图片缩小左边右边 4 猜你喜欢区域播放按钮和遮罩图片缩放 1 频道部分 下标旋转 .x-header-nav .nav-item:hover .icon-down {transform: rotate(-180deg); }频道列表平移 .channel-lay…

生育是家庭和个人的重要的选择

生育是个人和家庭的重要选择&#xff0c;而国家对于生育政策的制定应该综合考虑多种因素&#xff0c;包括人口结构、经济发展和社会稳定等。同时&#xff0c;我们也应该认识到&#xff0c;男女不应该成为决定一个人是否能够生育的因素。男女在生育中扮演着不同的角色&#xff0…

程序员必须知道!Serverless超强打造国产BAAS

在当今快节奏的软件开发领域&#xff0c;懒人开发者和独立开发者们一直在寻找能够简化开发流程、提高效率的利器。而今&#xff0c;MemFire Cloud以其强大的功能和简便的操作&#xff0c;成为了解决方案中的明星。无需搭建服务&#xff0c;无需开发API接口&#xff0c;你甚至可…

Python画箱线图展示数据分布情况

箱线图&#xff08;Boxplot&#xff09;是一种常用的统计图表&#xff0c;用于展示数据的分布情况。 它由五个统计量组成&#xff1a;最小值、第一四分位数&#xff08;Q1&#xff09;、中位数&#xff08;Q2&#xff09;、第三四分位数&#xff08;Q3&#xff09;和最大值。 …

【PHP】使用$this->request->filter() 方法对请求数据进行过滤处理

在ThinkPHP5&#xff08;TP5&#xff09;框架中&#xff0c;$this->request->filter() 方法用于对请求数据进行过滤处理&#xff0c;以确保数据的安全性和一致性。过滤规则可以是PHP内置的函数、自定义函数&#xff0c;或是ThinkPHP提供的过滤器。下面列举了一些常用的过…

【c语言】字符串函数和内存函数

&#x1f31f;&#x1f31f;作者主页&#xff1a;ephemerals__ &#x1f31f;&#x1f31f;所属专栏&#xff1a;C语言 目录 前言 一、字符串函数 1.strlen的使用和模拟实现 2.strcpy的使用和模拟实现 3.strcat的使用和模拟实现 4.strcmp的使用和模拟实现 5.strstr的使…

springboot3多模块实践

先帖下目录结构&#xff0c;直接在idea里面新建就行&#xff0c;删掉多余的文件 子模块的新建 根目录pom文件&#xff0c;注意modules、packaging&#xff0c;dependencyManagement统一管理依赖&#xff0c;子模块添加依赖的时候就不用加版本号 <?xml version"1.0…

SAP_FICO模块-获利能力段新增特征字段

业务背景&#xff1a; 公司有启用获利能力分析功能&#xff0c;有一个销售订单接口&#xff0c;是通过第三方销售订单管理平台推送数据到SAP的&#xff0c;用户希望对接新增一个编号ID到销售订单上&#xff0c;并且可以用KE24/KE30报表查看显示&#xff1b; 对于我这么一个后勤…

python3获取显示器信息并计算出各个显示器是多少寸

1、将宽度和高度从毫米转换为英寸(1英寸 = 25.4毫米)。 2、使用勾股定理计算对角线长度。 运行这个脚本后,将会得到每个显示器的对角线尺寸(以英寸为单位),从而确定显示器的尺寸。 pip install screeninfofrom screeninfo import get_monitors import mathdef get_displ…

高通Android13 WIFI配置国家码

不同国家&#xff0c;WIFI使用的信道是不同的&#xff0c;2.4G一共有14个信道&#xff0c;中国使用1-13信道&#xff0c;美国则使用1-11信道。因此&#xff0c;我们需要指定WIFI的国家码&#xff0c;来确定WIFI在扫描和连接过程中&#xff0c;可以在哪些信道上进行。 设置国家…

Java面试八股之简述JVM内存结构

简述JVM内存结构 Java虚拟机&#xff08;JVM&#xff09;内存结构主要分为线程私有区域和线程共享区域两大部分&#xff0c;具体组成部分如下&#xff1a; 线程私有区域 程序计数器&#xff08;Program Counter Register&#xff09;&#xff1a; 记录当前线程执行的字节码行…

逻辑整理(光伏发电预测算法部署用的)

def main():while True:if is_true_month(): # 检查是否为每年的1月份、4月份、7月份、10月份的凌晨1&#xff1a;00&#xff0c;判断到minget_new_history_data # 获取最新的3个月左右的历史数据train model # 进行模型训练save model # 保存模型 在之前模型保存的位置直接覆…

三角形法恢复空间点深度

三角形法恢复空间点深度 如下图&#xff0c;以图 I 1 I_1 I1​为参考&#xff0c;图 I 2 I_2 I2​的变换矩阵为 T T T。相机光心为 O 1 O_1 O1​和 O 2 O_2 O2​。在图 I 1 I_1 I1​中有特征点 p 1 p_1 p1​&#xff0c;对应图 I 2 I_2 I2​中有特征点 p 2 p_2 p2​。理论上直…

战略网络优化:网络可观测性的综合方法

在网络成为运营支柱的时代&#xff0c;了解和优化网络性能至关重要。网络可观测性是了解网络性能的关键&#xff0c;它以一种全面、主动的方式超越了传统监控。本文说明了网络可观测性的变革力量&#xff0c;详细介绍了其优势、差异化因素及其在现代网络管理中的关键作用。 什…

vue学习(三)

14.监视属性watch 当被监视的属性发生变化时&#xff0c;回调函数立即调用&#xff0c;进行操作 监视的两种写法&#xff1a;直接配置或者通过vm添加 watch:{isHot:{immediate:true, //首次用到执行handler(newValue,oldValue){console.log("isHot 被修改了",newV…