zoukankan      html  css  js  c++  java
  • Android IOS WebRTC 音视频开发总结(二七)-- whatsapp之转发优先

    最近看了一篇老外在webrtcHacks上写的文章,主要介绍webrtc和whatsapp的传输机制,蛮好的,加上自己的理解进行总结,

    希望对大伙有所帮助,转载请说明出处,原文来自博客园RTC.Blacker。

    whatsapp的voip的传输机制用的是pjsip(webrtc的P2P机制冗余庞大一直被人诟病,所以有人就替换成了同样庞大的pjsip),下面是他们的对比:

    从上图可知,whatsapp并没有采用ICE,只用到了STUN,不过他在建立连接的时候做了一个很有意思的改动:

    建立连接前先通过Turn建立连接,等到P2P打洞成功后再将连接从turn切换为P2P,这样做的好处就是减少等待时间,增强用户体验,而且为将来的多方通话做了一个很好的扩展,原文如下:

    "The most impressive thing I found is the optimization for a fast call setup by using a relay initially and then switching to a peer-to-peer session. This also opens up the possibility for a future multi-party VoIP call which would certainly be supported by this architecture."

    抓包结果详见下图:

    当然,webrtc也可以用变通的方式实现这种效果,详见:https://github.com/fippo/webrtc/commit/bc8a3ac137bf49795f2ed1487cdfdfab6451540b

    另外如果对作者分析的Whatsapp的整个抓包过程感兴趣,详见:

    https://webrtchacks.com/wp-content/uploads/2015/04/WhatsappReport.pdf

    下面是我自己整理的ICE打洞过程截图:

    最后,原文来自:https://webrtchacks.com/whats-up-with-whatsapp-and-webrtc/

  • 相关阅读:
    常见的单链表题目
    SpringBoot Hello
    IDEA 重置
    lombok的用法
    软件测试系列白盒测试覆盖率的问题
    软件测试系列软件测试基础
    Linux常用命令1对文件进行查看、复制、移动和分割
    软件测试系列通用测试用例写作
    Java继承特性
    Linux常用命令3如何设置IP地址?如何更改系统时间?
  • 原文地址:https://www.cnblogs.com/lingyunhu/p/rtc27.html
Copyright © 2011-2022 走看看