Opus_低延迟音频编解码器API手册中文翻译.docx

Opus_低延迟音频编解码器API手册中文翻译.docx

ID:61674105

大小:153.03 KB

页数:68页

时间:2021-03-08

Opus_低延迟音频编解码器API手册中文翻译.docx_第1页
Opus_低延迟音频编解码器API手册中文翻译.docx_第2页
Opus_低延迟音频编解码器API手册中文翻译.docx_第3页
Opus_低延迟音频编解码器API手册中文翻译.docx_第4页
Opus_低延迟音频编解码器API手册中文翻译.docx_第5页
资源描述:

《Opus_低延迟音频编解码器API手册中文翻译.docx》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Opus:IETF低延迟音频编解码器:API和操作手册Opus简介Opus编解码器是专门设计用于互联网的交互式语音和音频传输。它是由IETF的编解码器工作组设计的,合并了Skype的SILK和Xiph.Org的CELT技术。Opus编解码器的设计目的是处理广泛的交互式音频应用程序,包括IP语音,视频,游戏内聊天,甚至远程现场音乐表演。它可以适用于从低码率窄带语音到非常高质量的立体声音乐。它的主要特点是:采样率从8至48kHz比特率从6kb/s到510kb/s对固定码率(CBR)和可变码率(VBR)都能支持从窄带到宽带的音频带宽支持语音和音乐支持单声道和立

2、体声支持多通道(最多255通道)帧规格从2.5毫秒到60毫秒良好的损失鲁棒性和包丢失隐藏性(PLC)(注:应是指丢包也不容易被发现)浮点和定点执行文档包括:OpusEncoderOpusDecoderRepacketizerOpusMultistreamAPIOpuslibraryinformationfunctionsOpusCustomOpusEncoder本节描述了Opus编码器OpusEncoder的过程和函数类型定义typedefstructOpusEncoderOpusEncoderOpusencoder状态.函数intopus_en

3、coder_get_size(intchannels)获得OpusEncoder结构的大小OpusEncoderopus_encoder_create(opus_int32Fs,intchannels,intapplication,int**error)分配和初始化encoder状态.intopus_encoder_init(OpusEncoder*st,opus_int32Fs,intchannels,intapplication)初始化一个以前分配的编码器状态。所指向的内存圣必须至少是opus_encoder_get_size()返回的大小.opus

4、_int32opus_encode(OpusEncoder*st,constopus_int16*pcm,intframe_size,unsignedchar*data,opus_int32max_data_bytes)对一个Opus帧进行编码.opus_int32opus_encode_float(OpusEncoder*st,constfloat*pcm,intframe_size,unsignedchar*data,opus_int32max_data_bytes)根据浮点输入对一个Opus帧进行编码.voidopus_encoder_destro

5、y(OpusEncoder*st)释放一个根据opus_encoder_create()已分配的OpusEncoder对象。intopus_encoder_ctl(OpusEncoder*st,intrequest,...)向一个Opus编码器执行一个CTL函数.详细描述本节描述了用于编码Opus的过程和函数。既然Opus是一个有状态的编解码器,编码过程始于创建一个编码器状态,用以下方法做到:interror;OpusEncoder*enc;enc=opus_encoder_create(Fs,channels,application,&error);从

6、这一点上,enc可以用于编码音频流。一个编码器状态在同一时间不得用于多于一个音频流。同样,编码器状态不能对于每帧重新初始化。当opus_encoder_create()为状态分配内存时,它也可以初始化预分配的内存:intsize;interror;OpusEncoder*enc;size=opus_encoder_get_size(channels);enc=malloc(size);error=opus_encoder_init(enc,Fs,channels,application);opus_encoder_get_size()返回编码器状态要求的

7、大小。注意,这段代码的未来版本可能改变大小,所以没有assuptions应该对它做出。编码器状态在内存中总是连续,复制它只要一个浅拷贝就足够了。使用opus_encoder_ctl()接口可以改变一些编码器的参数设置。所有这些参数都已有缺省值,所以只在必要的情况下改变它们。最常见的参数设置修改是:opus_encoder_ctl(enc,OPUS_SET_BITRATE(bitrate));opus_encoder_ctl(enc,OPUS_SET_COMPLEXITY(complexity));opus_encoder_ctl(enc,OPUS_SET

8、_SIGNAL(signal_type));在这里:bitrate(比特率)的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。