实时音频编解码之十一Opus编码

2023-10-30

本文谢绝任何形式转载,谢谢。

第四章 Opus编码

Opus是较为成熟的开源商用语音编解码器,其编码质量高且无版权使用费,因WebRTC标准中规定要支持该音频编码器,所以当今各大浏览器都支持Opus编码器。Opus有很多突出的优点,如延迟低、编码范围宽、输出比特率可控等。Opus常用于实时通信和实时流媒体等程序中,通常伴随视频流,由于人耳对声音更为敏感,所以常以音频流RTP时间戳为基准同步视频流,音视频同步并不再本书范畴。

Opus编码比特率范围从窄带的6kbps到高品质立体声的510kbps,Opus使用LP和MDCT两种技术,在语音和音乐场景中都取得较好的压缩率和音频质量,其中LP技术基于Silk编码器,MDCT技术基于CELT编码器,Opus编码器是SILK和CELT编码器的集成,将SILK对语音编码的优势和CELT对音乐编码的优势相结合,通过混合编码的方式以便在语音和音乐场景下获得最佳的编码质量,Opus编码器的核心是SILK和CELT,两者之间相互独立,输出比特率流是SILK和CELT比特流的混合,SILK和CELT两者和Opus的关系如图4-1所示:
请添加图片描述
图4-1 Opus编码器结构框图

由于本书侧重于编解码原理及其实现,因而Opus编码器的一些逻辑控制流并不专门介绍,这些控制流包括编码器模式选择、编码比特率分配等。Opus编码的规范手册是RFC6716,规范中定义了比特流的组织格式,和比特流解码步骤,编码侧如何获取解码端需要的参数手册并没有做强制要求,当然手册中也给了

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

实时音频编解码之十一Opus编码 的相关文章

  • uinapp和php实现RSA + AES 双向通信加密

    使用场景 如果只是为了防止用户数据泄露 有条件用https 那不要犹豫 赶快买个证书 但是https也有局限性 加密层位于http层 应用层 和tcp层 传输层 之间 所以抓到的http层的数据并没有加密 单独加密的弊端 单独用RSA非对称
  • QT5.12.3+OPENCV4.2.0配置,MINGW编译与库文件调用

    目录 1 QT5 12 3 OPENCV4 2 0 2 准备工作 3 安装步骤 3 1 QT 3 2 CMAKE 3 3 OPENCV 4 使用MINGW编译OPENCV 5 QT调用库文件 6 QT测试OPENCV 1 QT5 12 3
  • PyTorch简介及环境搭建

    本文主要包含PyTorch的基本介绍 以及安装方法 文章目录 前言 PyTorch简介 PyTorch作用 对比PyTorch和Tensorflow PyTorch大版本的主要更新 PyTorch总结 PyTorch环境搭建 安装PyTor
  • python基础总结:1.9、错误和异常

    python基础总结 1 9 错误和异常 文章目录 python基础总结 1 9 错误和异常 1 语法错误 2 异常 3 处理异常 4 抛出异常 5 用户自定义异常 6 定义清理操作 7 预定义的清理操作 到目前为止 我们还没有提到错误消息
  • zabbix3.4.2使用discovery对磁盘IO进行监控

    https blog csdn net m0 37814112 article details 80997967
  • c++ 代码

    js 调用c 代码给的接口 c 代码储存在exe和dll文件中 转载于 https www cnblogs com guomengkai p 11502475 html
  • 74HC595芯片——单芯片控制代码示例

    1 关于74HC595 芯片示意图 TSSOP封装 引脚说明 符号 引脚 描述 Q0 Q7 第15脚 第1 7脚 8位并行数据输出 GND 第8脚 地 Q7 第9脚 串行数据输出 MR 第10脚 主复位 低电平有效
  • Sklearn工具包及模型评估

    一 Sklearn工具包介绍 scikit learn 又写作sklearn 是一个开源的基于python语言的机器学习工具包 它通过NumPy SciPy和Matplotlib等python数值计算的库实现高效的算法应用 并且涵盖了几乎所
  • vcs覆盖率选项

    vcs中常用的收集覆盖率选项如下 1 cm dir
  • 【RuoYi-Vue-Plus】学习笔记 05 - 日志框架 TLog

    文章目录 参考资料 一 概述 二 相关配置 1 Maven 2 Logback框架适配器 3 自动打印调用参数和时间 4 TLogConfig 参考资料 1 TLog官方文档 2 TLog官方文档 按需依赖 3 TLog官方文档 Logba
  • kaggle免费GPU,google人机认证

    45条消息 GOOGLE 人机验证 RECAPTCHA 无法显示解决方案 转 散着步的码农的博客 CSDN博客x 许多小伙伴想找免费GPU kaggle确实是个非常不错的选择 本人亲测 配合抖音明日科技还是什么博主和这个博客 可以轻松解决

随机推荐

  • 【IT之路】Docker拉取镜像查看版本

    Docker拉取镜像查看版本 需要在docker hub查看 地址如下 https hub docker com 进入之后 在页面左上角搜索框搜索 以CentOS为例
  • 【测试详解】关于java定时器的常见问题,例如无法取消,被延期执行等

    定时器Timer Timer timer new Timer true 将定时器设置为守护线程 daemon 即当用户线程都已经执行完毕退出以后 jvm就会结束守护进程 不管守护进程是否还有任务 程序退出 定时器任务TimerTask 可以
  • C语言的原子操作

    gcc支持如下原子操作 if GCC VERSION gt 40100 内存访问栅 define barrier sync synchronize 原子获取 define AO GET ptr typeof ptr volatile val
  • 一篇文章告诉你:如何参加成都IT培训拿高薪?

    转行IT开发 这是很多人在工作迷茫时的想法 很多小伙伴被程序员的高薪所以吸引 盲目的学习计算机编程 结果大多都半途而废 甚至开始怀疑自己的智商 造成这种原因主要是盲目跟风 没有制定可行的计算机编程学习计划和学习目标 零基础如何学习IT编程
  • C#使用AutoFac实现IOC依赖注入

    1 配置web cofig配置文件修改执行javascript
  • 安装homeblew与python3替换_Allione_新浪博客

    1 Homebrew是一款Mac OS平台下的软件包管理工具 拥有安装 卸载 更新 查看 搜索等很多实用的功能 简单的一条指令 就可以实现包管理 而不用你关心各种依赖和文件路径的情况 十分方便快捷 使用 Homebrew 安装 Apple
  • JS数组方法

    1 at 方法接收一个整数值并返回该索引的项目 允许正数和负数 负整数从数组中的最后一个项目开始倒数 1 js的数组不存在数组越界 访问越界直接返回 undefined 2 可以填写负数值 入参 string int 整数 负数 返回值 数
  • 计算机配置 凭据分配,win7怎样添加凭据?-win7添加凭证的方法 - 河东软件园

    最近有用户向小编反映 称在使用远程访问桌面时 系统提示 您的凭据不工作 并且在启用 允许分配保存的凭据用于仅 NTLM服务器身份验证 策略后依旧不管用 其实之前小编也分享过如何解决系统提示 您的凭据不工作 的问题 但是该用户发现依然无法解决
  • Prometheus浅析

    1 Prometheus是什么 Prometheus 下文称Prom 是由 SoundCloud 开源监控告警解决方案 与Kubernetes同属CNCF 它已经成为炙手可热的Kubernetes生态圈中的核心监控系统 越来越多的项目 如K
  • STM32标准库函数之 TIM1定时器产生PWM波

    函数功能 定时器1通道1 4产生PWM波 函数参数 无 函数返回值 无 函数描述 无 void Dingshiqi1 PWM Init void TIM TimeBaseInitTypeDef TIM TimeBaseInitStruct
  • 快速解决Android编译报错 : Manifest merger failed with multiple errors, see logs

    编译项目的时候 遇到Android Manifest合并失败的情况就挺头疼的 Manifest merger failed with multiple errors see logs 直接运行项目 看不出来问题 以前都是通过 gradlew
  • 因果系列文章(4)——拨开混杂的迷雾

    本节沿袭上一节的内容 继续学习混杂 阻断 前门 后门路径等概念 混杂 抽烟的人容易导致肺癌 抽烟的人也容易出现黄手指 因为抽烟这个 共因 黄手指 和 肺癌 产生了关联 我们不难发现 手指黄的人很多都容易患肺癌 但是我们不能说 黄手指会导致肺
  • flowable实战(十五):关于流程设计器: bpmn.js与vue的整合

    一 前言 由于flowable本身带的Moder风格实在与前端页面风格不一样 同时由于Modeler采用Angular js写的 改造起来相对有一定的难度 所以打算换成bpmn js当成流程设计器 二 与vue的整合 1 安装以下包进开发环
  • nlp-生成任务-语言模型

    如果您正在google的colab中打开这个notebook 您可能需要安装Transformers和 Datasets库 将以下命令取消注释即可安装 pip install datasets transformers i https py
  • git的配置和上传github

    首先 通过url Git Downloads 在以下界面下载git并安装 接着 配置git以及基本操作 1 配置用户名称和邮箱地址 必要条件 这样仓库才能分别不同的上传者 在windows桌面上右键 显示更多选项 点击bash here 打
  • CMOS图像传感器——TDI CIS(2)

    在之前的文章 CMOS图像传感器 TDI CIS tdi相机的工作原理 沧海一升的博客 CSDN博客时间延迟积分 Time Delay Integration TDI 技术是一种特殊的成像模式https blog csdn net qq 2
  • Mysql分表准则

    author skate time 2013 05 14 Mysql分表准则 在大量使用mysql时 数据量大 高访问时 为了提高性能需要分表处理 简介下mysql分表的标准 后续会继续补充 环境 业务类型 OLTP 硬件 cpu 8cpu
  • 如何基于 WebComponents 封装 UI 组件库

    前言 作为一名前端攻城狮 相信大家也都在关注着前端的一些新技术 近些年来前端组件化开发已为常态 我们经常把重用性高的模块抽离成一个个的组件 来达到复用的目的 这样减少了我们的维护成本 提高了开发的效率 但是都有一个缺点离不开框架本身 因为我
  • 使用Openembedded定制嵌入式Linux镜像

    By Toradex秦海 1 简介 嵌入式设备采用Embedded Linux操作系统进行开发已经越来越成为主流 但是如何将开发完成的Linux uboot kernel配置 以及应用程序整合到Embedded Linux镜像中以便在量产的
  • 实时音频编解码之十一Opus编码

    本文谢绝任何形式转载 谢谢 第四章 Opus编码 Opus是较为成熟的开源商用语音编解码器 其编码质量高且无版权使用费 因WebRTC标准中规定要支持该音频编码器 所以当今各大浏览器都支持Opus编码器 Opus有很多突出的优点 如延迟低