webRTC学习三(代码分析)

项目来源:

https://github.com/pchab/AndroidRTC

      AndroidRTC是ProjectRTC的android客户端,下载后直接AndroidStudio打开。AndroidRTC中包含两个moudle,app是主界面,webrtc-client是工具类moudle 。

     本文为自己学习过程中查询的资料和代码的分析,纯属个人观点,有不对之处还望提出,多多交流和提高,谢谢。

     Web API——第三方开发人员用来开发基于Web的应用,如视频聊天。
    WebRTC Native C++ API——浏览器厂商用于实现Web API的函数集。
    Session Management——抽象session层,支持调用构建和管理层,由应用开发者来决定如何实现协议。
    VoiceEngine——音频媒体链的框架,从声卡到网络。
    iSAC——一种用于VoIP和流音频的宽带和超宽带音频编解码器,iSAC采用16 kHz或32 kHz的采样频率和12—52 kbps的可变比特率。
    iLBC——用于VoIP和流音频的窄带语音编解码器,使用8 kHZ的采样频率,20毫秒帧比特率为15.2 kbps,30毫米帧的比特率为13.33 kbps,标准由 IETF RFC 3951和3952定义。
     NetEQ for Voice——动态抖动缓存和错误隐藏算法,用于缓解网络抖动和丢包引起的负面影响。在保持高音频质量的同时尽可能降低延迟。
     VideoEngine——视频媒体链的框架,从相机像头到网络,从网络到屏幕。
     VP8——来自于WebM项目的视频编解码器,非常适合RTC,因为它是为低延迟而设计开发的。
     Image enhancements——消除通过摄像头获取的图片的视频噪声等。

     PeerConnection位于WebRTC Native C++ API的最上层,它的代码实现来源于libjingle(一款p2p开发工具包),目前被应用于WebRTC中。

     

  • 可以看得出来PeerConnectionFactory的重要性,` Factory是工厂,工厂可以生产很多很多的PeerConnection
  • 摄像头、麦克风这些设备只能是进程独占方式的,所有只有一个,然后多个PeerConnection共享使用LocalMediaStream 
看一下demo的代码结构


下面是爱立信公司的openWebRTCDemo


  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值