WebRTC Native M96 音频发送流程(SendRtp)以及接收音频包播放流程(OnPacketReceived)

Posted 一苇渡江694

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebRTC Native M96 音频发送流程(SendRtp)以及接收音频包播放流程(OnPacketReceived)相关的知识,希望对你有一定的参考价值。

WebRTC默认是采用Opus编码。

Opus是一个有损音频压缩的数字音频编码格式,由Xiph.Org基金会开发,之后由互联网工程任务组(IETF)进行标准化,目标是希望用单一格式包含声音和语音,取代Speex和Vorbis,且适用于网络上低延迟的即时声音传输,标准格式定义于RFC 6716文件。Opus格式是一个开放格式,使用上没有任何专利或限制。

Opus集成了两种声音编码的技术:以语音编码为导向的SILK和低延迟的CELT。Opus可以无缝调节高低比特率。在编码器内部它在较低比特率时使用线性预测编码在高比特率时候使用变换编码(在高低比特率交界处也使用两者结合的编码方式)。Opus具有非常低的算法延迟(默认为22.5 ms,非常适合用于低延迟语音通话的编码,像是网络上的即时声音流、即时同步声音旁白等等,此外Opus也可以透过降低编码比特率,达成更低的算法延迟,最低可以到5 ms。在多个听觉盲测中,Opus都比MP3、AAC、HE-AAC等常见格式,有更低的延迟和更好的声音压缩率。

不过今天不谈Opus,主要讲两个方面:
1. 音频采集–>编码–>发送音频包
2. 音频包接收–>解码–>音频播放

音频数据从采集到发送数据包的处理流程

录制线程将录制的麦克风音频数据抛上来

线程:webrtc_core_audio_capture_thread

AudioDeviceWindowsCore::WSAPICaptureThreadPollDMO
AudioDeviceWindowsCore::DoCaptureThre

以上是关于WebRTC Native M96 音频发送流程(SendRtp)以及接收音频包播放流程(OnPacketReceived)的主要内容,如果未能解决你的问题,请参考以下文章

WebRTC Native M96中的基本音频处理操作(AudioStateAudioProcessingAudioMixer)

WebRTC Native M96 SDK接口封装--muteLocalAudioStream开关本地音频发送

WebRTC Native M96 SDK接口封装--muteLocalAudioStream开关本地音频发送

WebRTC Native M96 SDK接口封装--muteLocalAudioStream开关本地音频发送

WebRTC Native M96 SDK接口封装--enableLoopbackRecording启用声卡采集,声卡播放的声音合到本地音频流发送远端

WebRTC Native M96 SDK接口封装--enableLoopbackRecording启用声卡采集,声卡播放的声音合到本地音频流发送远端