作者:Fernando Vasquez(原文链接)
翻译:刘通
原标题:Goodbye Flash, Hello WebRTC: A New Solution for Video Chat
最近Adode宣布他们最终将在2020年底停止对flash的全部支持(点击查看相关文章),这也代表互联网的一个时代的终结。
这对于互联网来说,意味着那些还在使用Flash作为媒体解决方案的网站不得不换用新的技术来提供他们的媒体服务,而且他们必须要快。幸运的是,互联网为此准备了多年,出现了比如HTML5,JavaScript Libraries,WebRTC这种技术。下图查念了互联网中近年来使用Falsh的网页占比走向:
下降局势已经确定,而且Adobe在声明中所说这个下降形势不会有任何的好转。据w3techs的数据,在2017年,只有6.7%的网页还在使用flash技术来传送交互信息或者媒体。
虚拟连接及视频会议和网络通信的需求已经存在多年。之前Flash还是解决方法之一,而且还是一个非常受欢迎的方法。现在,到了2017年—还是有很多传统软件存在,但它是一个并不安全的技术。而且与此同时,有很多更好的替代技术可以实现实时通信。
通过了解WebRTC所能提供的优点,你可以看出这些新兴技术是如何改变互联网开发和网络通信领域的。
WebRTC
# 给支持WebRTC的浏览器提供一个原生API。不需要插件就可以与网络摄像头交互。对于那些不支持WebRTC的浏览器,还有插件来提供与WebRTC平台的连接。
# 独立于设备和平台。如果你在自己的设备上运行支持WebRTC的浏览器,你就可以使用WebRTC并且分享你的媒体。
# 因为它对浏览器的原生特性,开发一个基于WebRTC的应用相对简单,可以缩短上线时间。
# WebRTC是一个开源技术,你可以获取到任何你所需要的东西,可以给开发者更多的灵活性。
# 有很多WebRTC API的实现,其中一些实现都可以对很多用例提供已经搭建好的基础设施,给用户更加自由的选择。WebRTC没有雨任何私有协议或者平台捆绑。
# WebRTC拥有一个活跃的开发社区,可以快速的修复发现的问题,你可以很容易的在网上找到对WebRTC问题的支持。
Flash
尽管Flash长时间依赖都是互联网上最常见的选择,但是跟新技术相比,它还是有很多的缺点:
# 对任何平台或者浏览器来说都不是原生的,需要安装第三方插件才能使用视频通话的实现。
# 完全依赖于媒体服务器来进行视频数据传输。
# 易受到攻击,有很多恶意软件都是通过Flash传播的。
# 不是所有设备都可以运行Flash应用,在移动端这个问题更加明显。
# 绝大多数使用Flash的实时通信实现都是私人所有的以及/或者没有多少文件可查的,延长了上线时间。
# 因为它不是原生的,与你使用WebRTC和HTML5能得到的好处来说没法比。
让我们来讨论一下屏幕共享的问题
实时通信应用需要具备的一项功能就是屏幕共享。这条功能是WebRTC的亮点,而Flash又不具备。对于Flash来说,这是个过于复杂的问题,但是对于WebRTC来说它比较简单。
我们现在来看一下当使用Flash的时候的情况。
用Flash做的网络应用:
# 不能直接获取桌面内容。
# 需要安装第三方软件使我们能够进行屏幕捕捉以及在同一时间模拟网络摄像头。
# 必须解决使用第三方软件所带来的限制问题,比如说在桌面共享数据流中受限的分辨率以及帧速率。
WebRTC来解决
使用WebRTC的网络应用具有这些优点:
# 是浏览器原生的技术,所以不需要额外安装软件就可以进行桌面分享。
# 可以通过浏览器获得桌面权限。
# 在所有情况中表现都良好,没有帧速率限制和分辨率限制。
你可以看出使用Flash搭建一个设计媒体传输的网络应用是有多大的潜在困难。
互联网正在发生改变,现在是从Flash这中老旧技术转向例如HTML5和WebRTC这种更高效并且开源标准的最好时机。