前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WebRTC:应用中最大难点在于根据业务需求的适当折中

WebRTC:应用中最大难点在于根据业务需求的适当折中

作者头像
LiveVideoStack
发布2021-09-02 11:45:18
6040
发布2021-09-02 11:45:18
举报
文章被收录于专栏:音视频技术音视频技术

WebRTC对主流PC浏览器、移动端的全覆盖,对于开发者而言无疑是一剂强心针,而在去年W3C大会上又提出通过QUIC来实现WebRTC。但在实际应用、行业契合以及对H.265的支持依然存在着不可忽视的痛,海康威视嵌入式软件开发工程师郑鹏针对以上问题与我们分享了它的观点和见解。本文是『WebRTC-互联网音视频新标准?』系列的第二篇,如果您对WebRTC技术的未来有分析和洞见,欢迎联系 contribute@livevideostack.com。

文 / 郑鹏

策划 / LiveVideoStack

H.265向WebRTC低头?

H.265的专利问题比H.264要复杂得多,再加上谷歌会力推AV1,我认为H.265不太可能得到WebRTC的官方支持。

通过QUIC实现WebRTC

WebRTC使用QUIC应该是实现数据通道,不太可能用于实现音视频传输。举个例子,在会议中,音视频数据走的是媒体通道,媒体通道的实时性要求非常高;但如果在会议中演示PPT,那么PPT文件走的一定是数据通道,数据通道对可靠性的非常高,对实时性的要求要低不少。目前QUIC还是一个完全可靠的协议,所以不适合用在实时性要求特别高的场合。关于QUIC,我想推荐两篇文章:

  • Applicability of the QUIC Transport Protocol
  • RTP over QUIC(https://tools.ietf.org/html/draft-rtpfolks-quic-rtp-over-quic-01)

特别是第二篇文章,讨论了RTP在QUIC的应用场景以及现在存在的各种问题。看完文章,不难得出目前QUIC还不适合用于音视频实时通信的结论。

WebRTC实际应用中的痛

应用中最大的难点是根据业务需求作出恰当的折衷。之前袁荣喜谷沉沉的两篇文章在这个方面讲得比较清楚(特别是第一篇文章),本文就不再重复了。

以微信的实时通信小程序来举个例子,根据之前LiveVideoStack的访谈,我猜测它使用的是RTMP/QUIC的实现方案(如果不正确请纠正我)。这就是一个典型的实现方案上的折衷。它的优点是便宜(可复用HTTP2的基础架构),缺点是在丢包环境缺少强实时性保证(见《RTP over QUIC》)。对于它是否能够满足宣传中的各种高实时性要求场景(比如视频会议,在线教育)?在网络环境好的时候,是可以的;但是在高RTT且存在一定丢包环境,很难保证。实际上在这类高交互场景,微信自己采用的正是类WebRTC技术(见谷沉沉的文章)。另一方面,从实现复杂度和压缩效率的方面看,实时通信方案的代价是比较高昂的,不能将其视为一切音视频传输问题的通用方案。

未来改进

网络中间节点的Qos策略是比较多样的,目前GCC算法主要是针对Shaping(带有一定缓冲管理策略),对于简单限制带宽的Policing的表现不好。感觉基于丢包的拥塞控制这块还有很大的改进空间。拥塞控制算法这块,IETF RMCAT工作组一直有很活跃的讨论,除了GCC算法,还有多种其他的拥塞控制算法。

WebRTC与安防行业难牵手?

安防方面高清和智能化是两大趋势,原生WebRTC在这一块难有作为,原因有两个:

  • WebRTC对H.264仅支持到BP,H.265基本不会支持,主要安防芯片厂商没有明确支持AV1编码;
  • 智能化需要音频视频以外的其他实时数据的自定义渲染,浏览器应该还没有支持,不知道谷歌会不会关注到这个细分需求。

在安防的其他场景,可能会有直接应用。如果有了解的小伙伴,欢迎指正、交流。

WebRTCon 2018 7折火热报名

WebRTCon希望与行业专家一同分享、探讨当下技术热点、行业最佳应用实践。如果你拥有音视频领域独当一面的能力,欢迎申请成为讲师,分享你的实践和洞察,请联系 speaker@livevideostack.com。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-01-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 LiveVideoStack 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档