webrtc实现即时语音通讯开发小结(native)

对于不同的业务需求,我们可以分为以下四层路线开发。


1.peerconnection


    也就是使用webrtc\api中的模块。
    无需关注网络层、硬件层。需要配置相关音频参数。
    需要实现自己的信令服务。用来传递必须信令。
    需要自己搭建turn服务器,用来p2p以及中转服务。


    但是有些问题:
        a.我们不能对网络流量做具体的控制。
        b.声音都是从通话通道出来的。


2.voe
    
    使用webrtc\voice_engine\include模块。
    无需关注硬件层。提供turn服务。
    使用它的网络模块需要明白上层是如何处理的。较为麻烦。
    推荐使用自己的网络模块来做载体。


3.apm


    在webrtc\module\audio_processing中。
    单纯的Pcm数据处理模块。
    里面包括aecm,aec,agc,ns,vad等算法。
    apm自己做了整合。


4.aecm,aec,agc,ns,vad


    单纯的单独算法块。可以根据自己的需求使用。


以上内容在我的其他博文中都有具体使用。


ps:最好的使用webrtc的方式就是读源码!

你可能感兴趣的:(webrtc)