低延迟音频编解码器API手册中文翻译69页.docVIP

低延迟音频编解码器API手册中文翻译69页.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
低延迟音频编解码器API手册中文翻译69页

Opus:IETF低延迟音频编解码器:API和操作手册 Opus编解码器是专交互式语音和音频传输它是由IETF作组Skype的SILK和Xiph Org的。 编解码器的设计目的是处理广泛的交互式音频应用程序,包括IP语音,视频,游戏内聊天,甚至远程现场音乐表演。它可以从低码率窄带非常高质量的立体声音乐。它的主要特点是: 采样率从8至48 kHz 对固定码率(CBR)和可变码率(VBR) 从窄带音频 支持语音和音乐 支持单声道和立体声 支持多通道(255通道) 帧从2.5毫秒到60毫秒 好损失鲁棒性和包丢失隐藏(PLC)(注:应是指丢包也不容易被发现) 浮点和定点 文档: Opus Encoder Opus Decoder Repacketizer Opus Multistream API Opus library information functions Opus Custom Opus Encoder 本节描述了过程和函数 typedef struct OpusEncoder? OpusEncoder ? Opus encoder 状态. 函数 int? opus_encoder_get_size (int channels) ? 获得 OpusEncoder结构的大小 OpusEncoder *? opus_encoder_create (opus_int32 Fs, int channels, int application, int *error) ? 分配和初始化 encoder状态. int? opus_encoder_init (OpusEncoder *st, opus_int32 Fs, int channels, int application) ? 初始化一个以前分配的编码器状态所指向的内存圣必须至少opus_encoder_get_size()返回的大小. opus_int32? opus_encode (OpusEncoder *st, const opus_int16 *pcm, int frame_size, unsigned char *data, opus_int32 max_data_bytes) ? Opus帧进行编码. opus_int32? opus_encode_float (OpusEncoder *st, const float *pcm, int frame_size, unsigned char *data, opus_int32 max_data_bytes) ? 根据浮点输入对一个 Opus帧进行编码. void? opus_encoder_destroy (OpusEncoder *st) ? 释放一个根据opus_encoder_create()已分配的OpusEncoder 对象。 int? opus_encoder_ctl (OpusEncoder *st, int request,...) ? 向一个Opus编码器执行一个 CTL 函数. 详细描述 本节描述了用于编码Opus的过程和函数。 既然Opus是一个有状态的编解码器,编码过程始于创建一个编码器状态,用以下方法做到: int error; OpusEncoder *enc; enc = opus_encoder_create(Fs, channels, application, error); 从这一点上, enc可以用于编码音频流。一个编码器状态在同一时间不得用于一个流。同样,编码器状态不能对于每帧重新初始化。 opus_encoder_create()为状态分配内存时,它也可以初始化预分配的内存: int size; int error; OpusEncoder *enc; size = opus_encoder_get_size(channels); enc = malloc(size); error = opus_encoder_init(enc, Fs, channels, application); opus_encoder_get_size()返回编码器状态要求的大小。注意,这段代码的未来版本可能改变大小,所以没有assuptions应该对它做出。 编码器状态在内存中总是连续,一个浅拷贝 使用opus_encoder_ctl()接口可以改变一些编码器的参数设置。所有这些参数都已有缺省值,所以只在必要的情况下改变它们。最常见的参数设置修改是: opus_encoder_ctl(enc, OPUS_SET_BITRATE(bitrate)); opus_encoder_ctl(enc, OPUS_SET_COMPLEX

文档评论(0)

zijingling + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档