Opus从入门到精通(一):简介

简介: Opus编解码器是专门设计用于互联网的交互式语音和音频传输。它是由IETF的编解码器工作组设计的,合并了Skype的SILK和Xiph. Org的CELT技术。

image.png


Opus是什么?


Opus编解码器是专门设计用于互联网的交互式语音和音频传输。它是由IETF的编解码器工作组设计的,合并了Skype的SILK和Xiph. Org的CELT技术。


Opus编解码器的设计目的是处理广泛的交互式音频应用程序,包括IP语音,视频,游戏内聊天,甚至远程现场音乐表演。它可以适用于从低码率窄带语音到非常高质量的立体声音乐。它的主要特点是:


  • 采样率从8至48 kHz
  • 比特率从6kb/s到510kb/s
  • 对固定码率(CBR)和可变码率(VBR)都能支持
  • 从窄带到宽带的音频带宽
  • 支持语音和音乐
  • 支持单声道和立体声
  • 支持多通道(最多255通道)
  • 帧规格从2.5毫秒到60毫秒
  • 良好的损失鲁棒性和包丢失隐藏性(PLC)(注:应是指丢包也不容易被发现)
  • 浮点和定点执行


Opus主要优点


从窄带到宽带的音频带宽


什么是窄带,宽带呢?人类的发生范围是65~1100Hz,听力感知范围是从20Hz到20kHz,将听力感知范围分成以下四种:


  • 窄带
  • 宽带
  • 超宽带
  • 全带


亨利·奈


奎斯特(Harry Nyquist)采样定理:当对连续变化的信号波形进行采样时,若采样率fs高于该信号所含最高频率的两倍,那么可以由采样值通过插补技术正确的回复原信号中的波形,否则将会引起频谱混叠(Aliasing),产生混叠噪音(Aliasing Noise),而重叠的部分是不能恢复的.(同样适用于模拟视频信号的采样)人声语音的特点 不用的编码器针对不对频段的,如常见的MP3,AAC,Vorbis针对的是高频段的音频,AMR,iLBC是针对低频段的窄带音频,而Opus编码器覆盖了低频段到高频段的全带音频



低延迟


延迟依赖于帧规格,Opus最低帧规格2.5ms,非常适合实时音视频场景.


Opus配套设施


  1. 官网
  2. 编解码器libopus
  3. 封装器opusfile
  4. opusenc工具
  5. opusdec工具
  6. opusinfo工具


目录
相关文章
|
29天前
|
编解码
项目实战——Qt实现FFmpeg音视频转码器(二)
项目实战——Qt实现FFmpeg音视频转码器(二)
27 0
|
29天前
|
编解码 编译器
项目实战——Qt实现FFmpeg音视频转码器(一)
项目实战——Qt实现FFmpeg音视频转码器(一)
38 0
|
存储 编解码 安全
Opus从入门到精通(二):编解码器使用
opus_encoder_get_size()返回编码器状态要求的大小。注意,这段代码的未来版本可能改变大小,所以没有assuptions应该对它做出。编码器状态在内存中总是连续,复制它只要一个浅拷贝就足够了。使用opus_encoder_ctl()接口可以改变一些编码器的参数设置。所有这些参数都已有缺省值,所以只在必要的情况下改变它们。
1096 0
|
编解码 API 语音技术
Opus从入门到精通(七)Opus编码基础之认识声音
前面我们分析完Opus的编解码api使用,封装原理等,接下来我们准备分析Opus编码原理.Opus编码是一个复杂的工作,我们需要做一些基本铺垫,包括认识声音,压缩编码基础.认识音频有助于我们了解音频特征,不仅对语音有助于我们理解编码技术,同时在语音识别,TTS等场景提供帮助
388 0
Opus从入门到精通(七)Opus编码基础之认识声音
|
Web App开发 编解码 算法
WebRTC简介
WebRTC (Web Real-Time Communications) 是一项实时通讯技术,它允许网络应用或者站点,在不借助中间媒介的情况下,建立浏览器之间点对点(Peer-to-Peer)的连接,实现视频流和(或)音频流或者其他任意数据的传输。WebRTC包含的这些标准使用户在无需安装任何插件或者第三方的软件的情况下,创建点对点(Peer-to-Peer)的数据分享和电话会议成为可能。
596 0
WebRTC简介
|
1月前
|
Web App开发 编解码 API
WebRTC简介及使用
WebRTC简介及使用
73 0
|
2月前
|
存储 算法 C语言
C/C++ 玩转StoneValley库:从入门到精通
C/C++ 玩转StoneValley库:从入门到精通
33 0
|
7月前
|
编解码 API 数据处理
[笔记]音视频学习之ffmpeg实践《三》ffmpeg解封装
[笔记]音视频学习之ffmpeg实践《三》ffmpeg解封装
|
9月前
|
编解码 Linux 数据安全/隐私保护
深入浅出FFmpeg:一款强大的多媒体处理工具
深入浅出FFmpeg:一款强大的多媒体处理工具
118 0
|
存储 编解码 网络协议
Opus从入门到精通(五)OggOpus封装器全解析
针对上面的问题我们可以自定义一种封装格式,增加类似于WAV的Header,Header中存储元数据,每一帧音频数据前面增加可以标识帧边界的头,但是又会引出其他问题
1002 0