作为Google开源的技术,WebRTC并不是一个可以拿来就用并且性能很好的产品,需要工程师们对其进行较多的改善。本文主要来谈一谈WebRTC的优缺点。

WebRTC的优点:

1. 方便。对于用户来说,在WebRTC出现之前想要进行实时通信就需要安装插件和客户端,但是对于很多用户来说,插件的下载、软件的安装和更新这些操作是复杂而且容易出现问题的,现在WebRTC技术内置于浏览器中,用户不需要使用任何插件或者软件就能通过浏览器来实现实时通信。对于开发者来说,在Google将WebRTC开源之前,浏览器之间实现通信的技术是掌握在大企业手中,这项技术的开发是一个很困难的任务,现在开发者使用简单的HTML标签和JavaScript API就能够实现Web音/视频通信的功能。

2. 免费。虽然WebRTC技术已经较为成熟,其集成了最佳的音/视频引擎,十分先进的codec,但是Google对于这些技术不收取任何费用。

3. 强大的打洞能力。WebRTC技术包含了使用STUN、ICE、TURN、RTP-over-TCP的关键NAT和防火墙穿透技术,并支持代理。

WebRTC的缺点:

1. 缺乏服务器方案的设计和部署。

2. 传输质量难以保证。WebRTC的传输设计基于P2P,难以保障传输质量,优化手段也有限,只能做一些端到端的优化,难以应对复杂的互联网环境。比如对跨地区、跨运营商、低带宽、高丢包等场景下的传输质量基本是靠天吃饭,而这恰恰是国内互联网应用的典型场景。

2. WebRTC比较适合一对一的单聊,虽然功能上可以扩展实现群聊,但是没有针对群聊,特别是超大群聊进行任何优化。

3. 设备端适配,如回声、录音失败等问题层出不穷。这一点在安卓设备上尤为突出。由于安卓设备厂商众多,每个厂商都会在标准的安卓框架上进行定制化,导致很多可用性问题(访问麦克风失败)和质量问题(如回声、啸叫)。

4. 对Native开发支持不够。WebRTC顾名思义,主要面向Web应用,虽然也可以用于Native开发,但是由于涉及到的领域知识(音视频采集、处理、编解码、实时传输等)较多,整个框架设计比较复杂,API粒度也比较细,导致连工程项目的编译都不是一件容易的事。

可见,WebRTC是一个优缺点兼有的技术,在拥有诱人的优点的同时,其缺点也十分的严重。在进行WebRTC的开发之前,请根据自身的情况来决定是自主开发还是使用第三方SDK。

本文作者:

冯越  声网Agora.io 首席客户端SDK架构师

WebRTC的优缺点相关推荐

  1. WebRTC 速成课程

    ▲扫描上图二维码了解音视频技术大会更多信息 来源:Youtube:Hussein Nasser 翻译整理:卢冰聪 在这个视频中作者概述了 WebRTC 的基本内容并详细讨论了部分概念,大家可以学习到有 ...

  2. 开源实时音视频技术WebRTC在Windows下的简明编译教程

    1.前言 随着音视频技术的不断普及,Google推出的 WebRTC 越来越受到大家的喜欢.现在很多直播产品都是基于WebRTC 进行二次开发做出来的. WebRTC是提供了一整套处理实时音视频的开源 ...

  3. 视频编解码之理论概述 和即时通信

    前言 即时通讯应用中的实时音视频技术,几乎是IM开发中的最后一道高墙.原因在于:实时音视频技术 = 音视频处理技术 + 网络传输技术 的横向技术应用集合体,而公共互联网不是为了实时通信设计的.有关实时 ...

  4. 实时音视频聊天中超低延迟架构的思考与技术实践

    1.前言 从直播在线上抓娃娃,不断变化的是玩法的创新,始终不变的是对超低延迟的苛求.实时架构是超低延迟的基石,如何在信源编码.信道编码和实时传输整个链条来构建实时架构?在实时架构的基础之上,如果通过优 ...

  5. 【原创】新手入门一篇就够:从零开发移动端IM

    一.前言 IM发展至今,已是非常重要的互联网应用形态之一,尤其移动互联网时代,它正以无与论比的优势降低了沟通成本和沟通代价,对各种应用形态产生了深远影响. 做为IM开发者或即将成为IM开发者的技术人员 ...

  6. 【转】WebSocket详解(一):初步认识WebSocket技术

    1.前言 HTML5规范在传统的web交互基础上为我们带来了众多的新特性,随着web技术被广泛用于web APP的开发,这些新特性得以推广和使用,而websocket作为一种新的web通信技术具有巨大 ...

  7. WebSocket详解(一):初步认识WebSocket技术

    WebSocket详解(一):初步认识WebSocket技术 1.前言 HTML5规范在传统的web交互基础上为我们带来了众多的新特性,随着web技术被广泛用于web APP的开发,这些新特性得以推广 ...

  8. P2P技术详解(一):NAT详解——详细原理、P2P简介(转)

    这是一篇介绍NAT技术要点的精华文章,来自华3通信官方资料库,文中对NAT技术原理的介绍很全面也很权威,对网络应用的应用层开发人员而言有很高的参考价值. <P2P技术详解>系列文章 ➊ 本 ...

  9. 015. P2P技术详解(一):NAT详解——详细原理、P2P简介

    http://www.52im.net/thread-50-1-1.html 这是一篇介绍NAT技术要点的精华文章,来自华3通信官方资料库,文中对NAT技术原理的介绍很全面也很权威,对网络应用的应用层 ...

最新文章

  1. win10默认账户 WDAGUtilityAccount 和 DefaultAccount
  2. bleve搜索引擎源码分析之索引——mapping和lucene一样,也有_all
  3. 趣话题:底层码农的心酸,那么我们 如何避免成为底层码农呢?
  4. Http接口设计(1)Token之前
  5. Java知多少(25)再谈Java包
  6. 理论基础 —— 排序
  7. urllib.request.urlretrieve()函数
  8. 网上第3方软件教程摘选
  9. jquery中如何获得时间
  10. Coin3D三维可视化教程7
  11. windows 界面设计规则与规范
  12. matlab振荡环节相频特性,自动控制理论—典型环节的频率特性
  13. uni-app - 最新自定义连接安卓模拟器配置到 MUMU 模拟器运行程序(将uni-app运行到MuMu模拟器上进行调试,配置电脑手机模拟器 MUMU 运行测试)
  14. 要写好综述类论文?这几个点你需要注意
  15. 30个让你大呼惊艳的数据可视化作品!
  16. ffmpeg实现视频实时动态时间水印
  17. 01背包问题(动态规划)
  18. 抓包精灵NetCapture APP抓包教程《齐全》
  19. 不只有CPU,细数移动GPU的那些事
  20. 网站如何诊断,完整的网站诊断方法!

热门文章

  1. Matlab实用程序--图形应用-条形图和阶梯形图
  2. 2020-12-29 Matlab自动化控制-Adrc自抗扰控制参数调节
  3. shell脚本字符串截取
  4. python3 time
  5. 常量元素记忆口诀_人体中的常量元素与微量元素
  6. 结果集ResultDTO
  7. 【opencv】20.直方图均衡化的数学原理
  8. Caffe学习系列(17):模型各层特征和过滤器可视化
  9. 并发锁之二:ReentrantReadWriteLock读写锁
  10. Java虚拟机详解01----初识JVM