首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从开放源码演示二进制文件中使用opus DTX

如何从开放源码演示二进制文件中使用opus DTX
EN

Stack Overflow用户
提问于 2016-09-27 07:12:39
回答 1查看 2.1K关注 0票数 0

我需要在DTX上的帮助

1. DTX方案的工作方式。2. opus编码器和解码器如何工作于dtx 3.在OPUS中是否有DTX的位表示

当启用DTX时,从rfc开始,每400毫秒只对一帧进行编码,它不适合我使用opus_demo二进制文件。请帮我处理DTX。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-20 00:19:45

当在网络上使用Opus时,使用诸如RTP之类的协议(其中数据包是时间戳),如果您希望减少在没有语音活动的时段发送的数据包,则可以启用DTX。大约每400毫秒仍会发送一个数据包,更新背景噪声。使用分组时间戳,接收器可以确定任何间隙的持续时间,并用背景噪声填充它们,以保持其听起来很自然。

使用opus_encoder_ctl(enc, OPUS_SET_DTX(1));在编码器中启用DTX,或在opus_demo上使用-dtx选项。然后,简单地说,不要发送任何由编码器产生的长度为2字节或更短的数据包。(这些"DTX数据包“只是零长度帧,具有正常的1或2字节数据包报头(TOC),并且不包含任何音频数据。)长度大于2个字节的数据包应该像往常一样发送。

接收方应使用正常的丢包隐藏来处理丢失的数据包,其处理方式与处理数据包丢失的方式相同。特别是,它可以调用opus_decode(),其data = NULLlen = 0frame_size等于丢失帧的大小,解码器将生成音频数据以隐藏丢失的帧。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39718307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档