webrtc QOS笔记二 音频buffer数据不足生成很多gap的问题

news2024/9/25 19:18:05

webrtc QOS笔记二 音频buffer数据不足生成很多gap的问题

文章目录

    • webrtc QOS笔记二 音频buffer数据不足生成很多gap的问题


记录个iusse.

插入音频数据后,GetAudioInternal 进行操作决策:

Normal:正常播放。
Acceleration:变声不变调的减速播放算法。
Preemptive expand:变声不变调的减速播放算法。
Expand:由 NetEq 或解码器生成的丢包隐藏。
Merge:如果上一次是 Expand 造假出来的数据,那为了听起来更舒服一些,会跟正常数据包做一次融合算法。
Comfort noise (CNG):是用来产生舒适噪声的,比单纯的静音包听起来会更舒服的静音状态。
Expand(PLC):丢包补偿,最重要的无中生有算法模块,解决 “真丢包” 时没数据的问题,造假专业户 ;

测试网络良好不丢包,关闭视频,单独听音频,存在很多gap,主要原因为缓存数据不足.


high limit : 目标水位,图中红色曲线,缓存水位高于此水位会进行加速播放
low limit : 低水位,图中蓝色曲线,缓存水位低于此水位会进行拉伸音频样本减速速播放
buffer limit : 当前音频缓存水位,图中黄色曲线

可见当前高低水位分别在220ms和160ms左右,缓存水位常小于低水位,造成数据不足产生gap。

定位到原因,就对拉升做做文章就好了,调整expand拉升参数,使水位稳定到低水位上

前后波形对比:
红色箭头指示部分gap位置

参考:
https://developer.aliyun.com/article/782756?

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

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

相关文章

【学习笔记】互联网金融:芝麻信用分的建模过程

学习资料: 数据分析学习随记 | 互联网金融行业2C授信模型(芝麻信用) 1. 背景 互联网金融的本质是风控。 1.1 数据分析师的角色 数据分析师在金融行业基本上有两种角色: 1.1.1 数据建模师 偏算法,但要很懂业务。要求对算法的理解较深&am…

电子标签播种墙方案

一、PTL优势: 二、系统构架: v1.2基站软件管理系统仓库标签v1.4仓库标签三、基站特点: 接收PC下达的操作指令,解析后再通过RF发送给电子标签 无线通讯距离30m无线通信速率200/50kbps网络通信速率10/100 Mbps自定义双向数据通讯协…

接口测试很难?3分钟带你入门接口自动化测试

1、什么是接口? 接口是连接前台和后台的桥梁,前台通过接口调用后端已完成的功能,而无需关注内部的实现细节。借助于接口,可以实现前后台分离,各自完成开发工作后,进行联调,提高工作效率。 2、接…

开学季电容笔怎么选?学生党高性价比电容笔推荐

或许许多人会认为苹果Pencil是无可取代的,但是我认为这压感取决于我们的预算和需求。要是我们对于绘画没有过高的要求的话,其实可以选择使用平替电容笔,而没必要入手apple pencil。为了让你对电容笔有更多的认识,我接下来推荐几款…

Flutter第三方插件objectbox的使用

Flutter基础 demo地址 参考地址 文章目录Flutter基础前言一、demo效果图二、objectbox是什么?三、objectbox的使用1.在pubspec.yaml文件中添加2.执行flutter pub get命令3.创建数据库模型4.执行flutter pub run build_runner build 命令5.如果报错则执行flutter pu…

Renderdoc中一个daraw的API调用以及其作用

分析renderdoc中一个draw调用的api接口,如下是一个draw调用的渲染api的过程,下面来分析一下这几个函数的作用。 PSSetShaderResources、VSSetShader、PSSetShader这三个方法在renderdoc调用过程使用的方法,这三个方法的做法分别如下&#xff…

【华为OD机试模拟题】用 C++ 实现 - 日志采集系统(2023.Q1)

最近更新的博客 华为OD机试 - 入栈出栈(C++) | 附带编码思路 【2023】 华为OD机试 - 箱子之形摆放(C++) | 附带编码思路 【2023】 华为OD机试 - 简易内存池 2(C++) | 附带编码思路 【2023】 华为OD机试 - 第 N 个排列(C++) | 附带编码思路 【2023】 华为OD机试 - 考古…

NMS详解

(类别,坐标1,坐标2,坐标3,坐标4,类别分数) step1:对最后一列分数进行排序 ,可以看到类别就被打乱了 step2: 弹出得到selected_bboxes作为基准,减少bbox_list。其实就是准…

寻路库recastnavigation改造

本文是介绍对寻路库recastnavigation 改造,使得使用更加友好。 Git仓库: https://github.com/jiangguilong2000/recastnavigation 首先,我们要做一些前置操作 SDL: 开放源代码的跨平台多媒体开发库 Premake:量跨平台构建系统 环境: VS 2019…

国内知名插画培训机构有哪些,学习插画怎么选培训班

国内知名插画培训机构有哪些?给大家梳理了国内5家专业的插画师培训班,最新无大插画班排行榜,各有优势和特色! 一:国内知名插画培训机构排名 1、轻微课(五颗星) 主打课程有日系插画、游戏原画…

Linux 计划任务讲解

目录 计划任务 一次性计划任务 长期性计划任务 计划任务 管理员可以编辑自己的和普通用户的计划任务 普通用户只可以编辑自己的计划任务 计划任务根据执行方式分为一次性计划任务、长期性计划任务 一次性计划任务 此计划只执行一次,执行后或就不会再执行了 通…

项目管理之三点估算(正态分布)

三点估算法主要来自于项目的计划评审技术 PERT,能评估时间与概率的关系。 三点估算法不仅可以用于定量风险分析,也可用于进度管理中活动历时估算。先记住几个概念:最乐观时间TO:完成该工作最少需要的时间;最悲观时间TP…

R统计绘图-PCA详解1(princomp/principal/prcomp/rda等)

此文为《精通机器学习:基于R》的学习笔记,书中第九章详细介绍了无监督学习-主成分分析(PCA)的分析过程和结果解读。 PCA可以对相关变量进行归类,从而降低数据维度,提高对数据的理解。分析的主要目的一般是:1)识别数据…

CVPR2022 | ABINet+: 似人阅读: 场景文本识别的自主、双向和迭代语言建模

论文标题:ABINet:Read Like Humans: Autonomous, Bidirectional and Iterative Language Modeling for Scene Text Recognition代码:https://github.com/FangShancheng/ABINet链接:https://arxiv.org/abs/2103.06495一、AbstractH…

Linux 安装php环境

1.下载php wget http://am1.php.net/distributions/php-7.3.2.tar.gz 2.解压 tar -zxvf php-7.3.2.tar.gz 3.安装扩展 接下来进行参数配置,配置前如果没有libxml2和libxml2-devel会报错,所以应该更新libxml2并安装libxml2-devel,使用在线…

C++回顾(一)——从C到C++

前言 在学习了C语言的基础上&#xff0c;C到底和C有什么区别呢&#xff1f; 1.1 第一个C程序 #include <iostream>// 使用名为std的命名空间 using namespace std;int main() {// printf ("hello world\n");// cout 标准输出 往屏幕打印内容 相当于C语言的…

ELK日志分析--Kibana

Kibana 概述 部署安装浏览页面并使用 1.Kibana 概述 Kibana-是进入Elastic的窗口使用Kibana&#xff0c;可以 1 搜索&#xff0c;观察和保护。 从发现文档到分析日志再到发现安全漏洞&#xff0c;Kibana是您访问这些功能及其他功能的门户。 2 可视化和分析您的数据。 搜索隐藏的…

github ssh密钥配置,克隆远程仓库

GitHub的SSH配置 在往github上push项目的时候&#xff0c;如果走https的方式&#xff0c;每次都需要输入账号密码&#xff0c;非常麻烦。而采用ssh的方式&#xff0c;就不再需要输入&#xff0c;只需要在github自己账号下配置一个ssh key即可&#xff01; 很多朋友在用github管…

kkfileview在预览word文档中文乱码

因为liunx服务器没有相关中文字体 1.下载中文字体包 http://kkfileview.keking.cn/fonts.zip 2.上传服务器至目录/usr/share/fonts 解压 unzip fonts.zip 3.执行命令 mkfontscale mkfontdir fc-cache 如果报错命令没有找到&#xff0c;则安装对应命令&#xff0c;例如 yum in…

Mikrotik Ros安全加固

基本概述 Mikrotik系列路由器也成RouterOS软路由&#xff0c;RouterOS是基于Linux内核的网络操作系统&#xff0c;其预装在MikroTik生产的路由器、无线设备以及RouterBOARD上。同时&#xff0c;它也可以安装在x86平台的个人电脑上&#xff0c;用于将电脑转化为路由器&#xff…