OPUS/SILK/SPEEX 音频编码比较】的更多相关文章

音频编码器质量表 https://blog.csdn.net/houqi1993/article/details/50504045…
Opus是一个有损声音编码的格式,由Xiph.Org基金会开发,之后由互联网工程任务组(IETF)进行标准化,目标用希望用单一格式包含声音和语音, 取代Speex和Vorbis,且适用于网络上低延迟的即时声音传输,标准格式定义于RFC 6716文件.Opus格式是一个开放格式,使用上没有任何专利或限制. Opus集成了两种声音编码的技术:以语音编码为导向的SILK和低延迟的CELT.Opus可以无缝调节高低比特率.在编码器内部它在较低比特率时使用线 性预测编码在高比特率时候使用变换编码(在高低比…
silk与opencore-amr编码对比 在采样率8000 单声道 16位采样精度情况下 silk的压缩率为 1/15 opencore-amr 1/17 对比图 原始的音频编码 opencore-amr编解码后 silk编解码后 最新测试结果 两个编码器在PCM声音源比较清晰的情况下,压缩率比较高. 最终测试结果是SILK的压缩率高于AMR 两个编码器在数据压缩之后传输都低于 1k/s…
先进音频编码(AAC)的后继格式到MP3,和以MPEG-4部分3(ISO / IEC 14496-3)被定义.它通常用于MP4容器格式; 对于音乐,通常使用.m4a扩展名.第二最常见的用途是在MKV(Matroska)文件内,因为它比MP4更好地支持嵌入式基于文本的软字幕.本指南中的示例将使用扩展MP4和M4A. FFmpeg的可支持两个AAC-LC编码器(AAC&libfdk_aac)和一个HE-AAC(V1 / 2)编码器(libfdk_aac).的许可证libfdk_aac不与GPL兼容,…
在弄音频采集时,需要设置缓存的大小,如果只是简单的采集和直接播放PCM数据,缓存的大小一般不影响播放和保存. 但是,如果需要使用FFMpeg音频编码,这时,音频缓存的大小必须设置av_samples_get_buffer_size函数返回的大小.以下是几点注意的 1. m_pFrame = av_frame_alloc();m_pFrame->format = ffSampleFormat;m_pFrame->nb_samples = nSampleRate;//帧的大小 2. m_nBuff…
一.AAC编码概述 AAC是高级音频编码(Advanced Audio Coding)的缩写,出现于1997年,最初是基于MPEG-2的音频编码技术,目的是取代MP3格式.2000年,MPEG-4标准出台,AAC重新集成了其它技术(PS,SBR),为区别于传统的MPEG-2 AAC,故含有SBR或PS特性的AAC又称为MPEG-4 AAC. AAC是新一代的音频有损压缩技术,它通过一些附加的编码技术(比如PS,SBR等),衍生出了LC-AAC,HE-AAC,HE-AACv2三种主要的编码.其中L…
http://zh.wikipedia.org/zh-cn/G.711 ITU-T G.711 page ITU-T G.191 software tools for speech and audio coding, including G.711 C code Code Project C# implementation of G.711 with source code G.711是一种由国际电信联盟(ITU-T)制定的音频编码方式,又称为ITU-T G.711. 基本信息编辑 它是国际电信…
(转载)常用音频协议介绍 会议电视常用音频协议介绍及对比白皮书 一.数字化音频原理:声音其实是一种能量波,因此也有频率和振幅的特征,频率对应于时间轴线,振幅对应于电平轴线.通常人耳可以听到的频率在20Hz到20KHz的声波称为为可听声,低于20Hz的成为次声,高于20KHz的为超声,多媒体技术中只研究可听声部分. 可听声中,话音信号的频段在80Hz到3400Hz之间,音乐信号的频段在20Hz-20kHz之间,语音(话音)和音乐是多媒体技术重点处理的对象. 由于模拟声音在时间上是连续的,麦克风采集…
先进音频编码(AAC)的后继格式到MP3,和以MPEG-4部分3(ISO / IEC 14496-3)被定义.它通常用于MP4容器格式; 对于音乐,通常使用.m4a扩展名.第二最常见的用途是在MKV(Matroska)文件内,因为它比MP4更好地支持嵌入式基于文本的软字幕.本指南中的示例将使用扩展MP4和M4A. FFmpeg的可支持两个AAC-LC编码器(AAC&libfdk_aac)和一个HE-AAC(V1 / 2)编码器(libfdk_aac).的许可证libfdk_aac不与GPL兼容,…
前言 录音例程涉及了录音和播放两大块内容,上篇笔记说了播放,这篇就来说说录音这块,也就是音频编码这部分功能. 上篇笔记中的这段话太装逼了,我决定再复制下,嘿嘿. “我的锤子便签中有上个月记下的一句话,“斯蒂芬·平克说,写作之难,在于把网状思考,用树状结构,体现在线性展开的语句里.”这篇代码解析也有类似的困难,代码的网状结构,如何用文章这种线性载体来体现.” 跟上篇笔记的做法一样,还是挑出了主干,来讲下自己的理解.另外在文章最后添加了一个模块拓扑图来帮助消化. 本文作者twowinter,转载请注…
概述 在Android上实现录音,并利用 FFmpeg将PCM数据编码成AAC. 详细 代码下载:http://www.demodashi.com/demo/10512.html 之前做的一个demo,Android录音获取pcm数据(音频原始数据),然后利用 FFmpeg将PCM数据编码成AAC. 一.准备工作 开发环境 jdk1.8 Eclipse Luna Service Release 1 (4.4.1) 运行环境: 华为荣耀6(Android4.4).华为p9(Android7.0)…
视频编解码对许多Android程序员来说都是Android中比较难的一个知识点.在Android 4.1以前,Android并没有提供硬编硬解的API,所以之前基本上都是采用FFMpeg来做视频软件编解码的,现在FFMpeg在Android的编解码上依旧广泛应用.本篇博客主要讲到的是利用Android4.1增加的API MediaCodec和Android 4.3增加的API MediaMuxer进行Mp4视频的录制. 概述 通常来说,对于同一平台同一硬件环境,硬编硬解的速度是快于软件编解码的.…
一.一个典型的IP通信模型 二.Server2Server技术分类 Server2Server这块也是一个专门的领域,这里只简单分个类. 1.同一国家相同运营商之间: 同一运营商之间也有丢包,在铁通,鹏博士等运营商中尤甚.并且在晚高峰的时候表现更加突出. 2.同一国家不同运营商之间: 在很多时候,由于运营商之间的结算和有限带宽的问题.运营商之间的网络不稳定. 3.不同国家之间: 同一个国家都这么多问题,不同国家的问题回更复杂,在不同的国家要选择好的机房,实时选择实时监控.比如以下地方.以下地区,…
最近有朋友遇到一个问题, ios 上传视频文件,想在本地压缩下,然后再上传到服务器. 问有没有什么 视频处理的库, 最近Khronos的webgl 支持HTML5 ,(原理 WebGL 是openGL,openES的库==>JS接口==>解码HTML5的canvas数据 ) 流程反过来 也可以看成是 浏览器 HTML5的canvas 的数据 ==>通过调用JS访问 WebGL ==>WebGL 访问openGL,opengES 进行软硬解码 . 我想这应该是浏览器 最好的选择. w…
开源的Speex代码内部包含了VS2003,05,08工程,但是直接编译总有一些要设置的地方,虽说也不是很复杂,但是对于不是很了解VS的同学来说还是要折腾一阵,所以我弄了一个可以直接使用的版本,当然是用VS2010编译的. Speex有些方面比webrtc要好,比如说可以直接对44.1KHZ采样率的音频做降噪处理,而webrtc最高只能支持32K采样率,超过了必须重采样到32K.另外接口也比较简单,代码量也较少.当然了其中还包括回声消除,静音检测,声音增益,重采样模块,如果是想了解其中内部原理的…
1.注意每次编码的PCM数据不能太短,如果太短编码函数长期返回-1这样的错误,将导致编码器彻底失效程序奔溃的问题,经测试32000在3200下稳定,大概1/10码率是没有问题的,具体请自行查询或调试 /* * input pcm data, output (maybe) mp3 frames. * This routine handles all buffering, resampling and filtering for you. * * return code number of byte…
http://blog.csdn.net/ctroll/article/details/8169396…
转自:http://www.ttstream.com/wowza/live/howToAchieveTheLowestLatencyFromCaptureToPlayback   这篇文章介绍了在用RTMP播放Wowza Streaming Engine的直播流时,需要在Wowza服务器上做哪些配置以实现最低的延时效果. 注意: 1.本文的介绍只针对播放RTMP直播流的场景. 2.要了解更多关于低延时的介绍,请参考Low-latency Streaming 提要 使用 low-latency 类…
博客地址:http://blog.csdn.net/kevindgk GitHub地址:https://github.com/KevinDGK/MyAudioDemo 一简介 二局域网语音配置 三Speex 1 简介 2 技术特点 3 开发-语音压缩 4 相关计算 四Opus - 音频编解码器中的瑞士军刀 1 简介 2 技术 3 开发插件 4 版本信息 libopus 113稳定发行版 5 对比 6 模块API文档 61 Opus Encoder 类型定义 方法 详细描述 类型定义文档 方法文档…
应用speex进行音频去噪,speex功能很强大,因为opus的出现,用speex进行编码/解码的人几乎没有了,但是用speex来进行降噪,去除回声,增益还是很多. 这里用speex进行音频去噪,主要用如下几个关键点: 1,准确设置pcm音频的音频采样率,和帧长度, st = speex_preprocess_state_init(FRAME_SIZE, FRAME_SAMPLERATE);//初始化 2,设置降噪参数,其中DENOISE_DB默认是-25,单位是dB(分贝): int deno…
我们的司信项目又有了新的需求,就是要做会议室.然而需求却很纠结,要继续按照原来发语音消息那样的形式来实现这个会议的功能,还要实现语音播放的计时,暂停,语音的拼接,还要绘制频谱图等等. 如果是wav,mp3不论你怎么拼接,绘制频谱图,我也没有问题,网上都有现成的例子.然而这一次居然让用speex的音频做这一切. 于是看了司信之前的发语音消息部分speex的代码,天啊,人家录的时候这是实时录音实时编码的好不好,人家放的时候也是实时解码实时播放的好不好.你这让我怎么通过 一个speex文件就得到全部的…
1.为何要用 Speex?FP的默认音频编码是 NellyMoser,而FP10之后加入了 Speex.实际应用中,用默认的 NellyMoser 编码音频,会有个很大的问题,就是无法控制流码率浮动.当设置 rate 为44时,音频带宽浮动会有100多 kbps.而音频 codec 设置成 Speex 后因为是可以直接控制quality的,几乎没有浮动,这样就更利于 FMS 发布带宽控制. 2.设置 Speex 注意事项由于 Speex 的 quality 有 0-10 可选,但在实际应用中你会…
最近在研究speex的编码和解码流程 之前在IM上用到的都是发语音片段,这个很简单,只需要找到googlecode上gauss的代码,然后套一下就可以用了. 不过googlecode要关闭,有人将他导入到了github,地址在这里 https://github.com/cczufish/OggSpeex-android 我也导入了,但是没成功,不知道什么问题,可能级别不够吧,哈哈 https://github.com/dongweiq/android-recorder 现在我们的需求是要求将语音…
0. 前言 我在前两篇文章中写了DirectShow捕获音视频然后生成avi,再进行264编码的方法.那种方法有一些局限性,不适合实时性质的应用,如:视频会议.视频聊天.视频监控等.本文所使用的技术,适用于这种实时性的应用,通过处理采集出来的音视频的每一帧,实现实时编码,实时输出.这是我做直播系列应用的一部分,目前的情况是输入端采用DirectShow技术捕获音视频,然后对视频进行h.264编码,对音频进行aac编码,输出端则是生成文件,接下来还要进一步扩展输入端和输出端,以支持文件.桌面输入,…
转自:http://www.cnblogs.com/haibindev/archive/2011/11/10/2244442.html 0. 前言 我在前两篇文章中写了DirectShow捕获音视频然后生成avi,再进行264编码的方法.那种方法有一些局限性,不适合实时性质的应用,如:视频会议.视频聊天.视频监控等.本文所使用的技术,适用于这种实时性的应用,通过处理采集出来的音视频的每一帧,实现实时编码,实时输出.这是我做直播系列应用的一部分,目前的情况是输入端采用DirectShow技术捕获音…
Opus 音频编解码库是 Speex 音频编解码库的下一代版本,从编解码性能以及质量上来讲都有了长足的进步.Opus 的编译非常简单,但是官方并未给出详细的 Android 版本编译指南,查找了大量资料,经过多次试验,总结了一套成功的方法,具体如下: 1. 确保你的机器上安装有 android ndk,并下载最新的 opus 源代码. 2. android ndk 因为包含了针对多个 android 系统版本(api level)的编译器工具链文件,但是并未直接提供一个具体可用的工具链,因此需要…
人耳能听到自然界的声音是20HZ-20KHZ,一般高保真音质采样率只有达到最高采样率的2倍以上即可,平时电话采样率8KHZ,CD音质的采样率44.1KHZ. IBM 的Watson的音频转文字接口支持的音频文件类型为wav.flac.opus,其中前面两个是无损压缩算法,后面一个opus是最新的有损压缩算法. 常见的有损音频算法是MP3,它是MEPG1的音频编码算法,在互联网音频有广泛的应用.然后再MPEG2.MPEG4推荐的音频编码算法是AAC,同样码率下比Mp3的音质更好,同样音质下比MP3…
iOS音频AAC视频H264编码 推流最佳方案 项目都是个人的调研与实验,可能很多不好或者不对的地方请多包涵. 1    功能概况 *  实现音视频的数据的采集 *  实现音视频数据的编码,视频编码成h264,音频编码成aac *  实现音视频数据的发布,将编码好的音视频数据传输到服务器 2 视频和音频编码方案 视频硬编码需要使用AVAssetWriter,但是他只支持直接将数据编码成h264并写入文件,不提供接口中途获取视频数据处理,我们需要在保存的文件中读出数据 据顶采用软编码,主流开源编解…
公司项目中使用rtmp推流,音频编码aac.视频编码H264.windows和android平台都没有发现问题.然而在IOS版本的APP中发现几个问题:1. 推流后flash播放异常2. IOS平台微信分享后html5播放异常但是在PC上播放正常,android平台上html5播放正常. 经过两天的钻研,发现问题如下:1. rtmp建立连接的时候先发送音视频相关参数.或者第一帧发送的数据应该如下: m_pPacketAudio->m_nChannel = 0x04; m_pPacketAudio…
http://blog.csdn.net/leixiaohua1020/article/details/25430449 本文介绍一个最简单的基于FFMPEG的音频编码器.该编码器实现了PCM音频采样数据编码为AAC的压缩编码数据.编码器代码十分简单,但是每一行代码都很重要.通过看本编码器的源代码,可以了解FFMPEG音频编码的流程. 本程序使用最新版的类库(编译时间为2014.5.6),开发平台为VC2010.所有的配置都已经做好,只需要运行就可以了. 流程(2014.9.29更新) 下面附一…