之前Tsahi Levent-Levi发布了一篇文章,在其中写出了他为何认为H.264会成为WebRTC应用软件未来发展中所选择的协议。在这篇文章中他写的很多地方都是正确的,而且我认同他的绝大部分观点。H.264在几乎所有的移动设备的硬件编码器中都支持使用,并且因为微软选择了它而不是VP9/VP8,他看起来确实是很容易就得到的正确选择。我并不认为谁会相信苹果挑选除H.264/AAC以外的技术来应用与WebRTC。
HLS不是解决问题的答案
Tsahi在他的文章中指出了H.264对直播流非常的重要,因为广播传递的最佳方式就是基于HLS的,而HLS需要使用H.264。这点在现在是正确的,但是我们看到的趋势是HLS作为传输协议会产生大量的延迟。我们的用户想要的是更加交互的体验,并且我们坚信低延迟的性能在未来的直播流应用中扮演着非常重要的角色。
延迟很重要
所以,为什么低延迟在直播流应用软件中这么的重要呢?这个问题的答案可以总结成一个词:交互。人们并不是用这类新兴的应用来进行像看电视这样完全被动接受的行为;人们也会使用这些应用来进行基于流的实时文字聊天和多方会议形式的广播。为了让上述任一交互行为成为可能,你就不能让你的数据流延迟超过30秒。超过的话就完全不能接受了。人们也正在开发一些独一无二的应用,例如实时竞拍软件。你肯定无法接受你的直播竞拍软件因为使用了HLS的原因让你的出价比竞争对手晚了整整30秒。
未来是WebRTC的
既然延迟是这类新的流应用中很重要的元素,这就导致了WebRTC是当你使用的交互软件要求延时较低时一对多传输中更好的协议。