导语丨GMTC 全球大前端技术大会是由极客邦科技旗下 InfoQ 中国主办的技术盛会,关注前端、移动、AI 应用等多个技术领域,促进全球技术交流,推动国内技术升级。主要面向各行业对前端、移动开发、AI 技术感兴趣的中高端技术人员,大会聚焦前沿技术及实践经验,旨在帮助参会者了解前端 & 移动开发领域的技术趋势与实践案例。

随着音视频技术的快速发展,音视频实时互动在多个领域中都得到了广泛的应用。本次 GMTC 全球大前端大会“音视频前端技术创新实践”专场就邀请到了腾讯云音视频领域的四位老师,他们通过分享腾讯云在前端音视频技术的探索与实践,为大家带来新视界、新思路。

TRTC Web SDK新架构设计解析

首先,是高级工程师&音视频 Web SDK 开发李宇翔为我们带来的 TRTC Web SDK 新架构设计解析内容。主要从一下几个内容阐述:第一个是使用WebCodecs和WebAssembly技术代替WebRTC,第二是使用WebWorker,最后优雅的管理生命周期。

李宇翔提到:

“腾讯云的TRTC的产品主要提供了一些在音视频领域基础的功能,提供 SDK 让用户去使用,搭建他们的产品,我们提供的是一个底层的能力。WebRTC 的架构其实很常见,它有什么样的特点?从优势和劣势两方面讲,优势方面 WebRTC 无插件运行的,早年间我们音视频的产品都需要用户去安装插件,现在的方案基本都是无插件运行,WebRTC就是这样的方案,另外对前端开发者来说不需要掌握太多的知识,只需要简单的调用一下,而且开源免费,不存在版权问题,自带 P2P 的功能,这个P2P功能是比较复杂的,但是它已经帮你实现了。

有了优势还有劣势,比如它的编解码器,是它封装好的,我们没有办法改变,如果自己有编解码器,就没有办法放到 Web 端运行。如果有自己的传输方式、丢包算法、拥塞控制,能不能用呢?答案是不可以的。此外服务端需要适配 WebRTC,就是云端接了很多功能,但是接入自己的体系,服务端必须用WebRTC再跟自己的打通,变得很复杂,还有就是前端的问题,WebRTC的API是无法在WebWorker中运行的,只能在主线程上运行,就会造成性能问题。

今天讲的内容就是目前的一个替代方案,我们如何去克服它的WebRTC的缺陷,这个替代方案主要分成两部分,一个是算法层,一个是传输层。从传输层角度来说,我们现在可以使用所有浏览器提供的传输方案,比如DataChannel,WebSocket,还有WebTransport(是即将可以使用的新技术),总而言之我们有更多灵活的选择。在算法层面,WebRTC的模块都可以把它拿过来,它的代码是开源的,我们可以自己编译成WebAssembly在浏览器中运行,也可以用自己的算法替换部分模块。”

腾讯云 Serverless 在音视频处理的探索与实践

腾讯云高级工程师&Serverless应用后台模块负责人田梦敏将为我们带来音视频领域在 Serverless 场景下的落地实践,以及如何给用户带来高性能、低运维、 低成本的收益。

田梦敏提到:  随着音视频领域的扩大化,我们伴随着用户需求的变化,C端或者UGC创作的场景常态化、用户享受视频形式的多样化实际上形成了一个矩阵。在这个矩阵中有很多用户需求的落地点,这里第一点的话就是有超高清回传,实时共享,这里主要在直播场景中有很大的体现,因为现在直播场景会有延时的要求非常高,以及它需要有更加丰富的视频清晰度。也就是说因为我们互联网商用,5G商用的情况下,实际上对这种网络的质量带宽也是有所提高,所以就会使我们视频的清晰度,大视频都可以有效的传输。

而对于目前传统的内容生产和消费所面临的四大部分,第一就是带宽的成本比较高,第二就是它的服务器成本比较高,第三就是现在生产出来的内容的质量是参差不齐的,第四就是有不同的场景、不同的诉求,普通的传统的音视频提供商的话可能它的定制化是不够的。

而serverless的解决方案的优点,首先是灵活性的优势,第二就是算法的优势,第三就是成本的优势。

灵活性的优势有三种:算力的灵活性、定制化的灵活性以及最主要就是它编排的灵活性。算力的灵活性,因为云函数有很多的基础IT资源的配置,从64M到3G以及更高,通过白名单形式开的,还有通过mapreduce的弹性收缩的能力,可以并行处理你的解码或者录制等任务。第二点定制化的灵活性,比如云函数已经写了某些功能,但是修改起来就比较简单,你可以特定的设置你FFP的转码的录参,以及你转码形成或者生成的视频的格式都可以修改你的录参配置,我们也可以做加解密的配置。第三是我们的编排的灵活性,我们可以在本地直接部署你的云上的资源,整个serverless组件化的定义实现了云上大部分的产品,比如cos、VPC、reads等,我们都已经把他们的SDK全部封装起来,客户用我们的这个编码好之后可以直接部署。

算法的优势,因为大部分转码的操作是引入了多媒体实验室转解码的算法,最主要我们现在云上的很多产品,像腾讯会议、QQ以及腾讯视频等重量级的互联网产品也在使用该算法,服务用户数也是很多的。

serverless最主要的一个优势就是成本优势。它是按需付费,弹性伸缩,不需要运维或者说极少的运维,根据用户流量的高峰,切合用户业务流量的走势,实时的去扩容用户的IP资源。所以它的成本相对于传统的音视频SaaS的平台是很具有优势的。

云剪辑实时渲染引擎设计

腾讯云高级工程师、云创多媒体引擎剪辑模块负责人成锐林为我们带来了云剪辑实时渲染引擎设计的内容。

成锐林提到:

云剪辑有三大技术特点:第一是要求实时预览,对画面的调整要能够实时展现给用户,这对渲染引擎的设计有一定要求;第二是比较复杂的前端交互,例如媒体资源操作、时间轴操作以及视频元素操作,保证操作的流畅性是前端比较重要的课题,同时要确保数据的安全和稳定性;第三是多端渲染,Web 渲染、小程序渲染和服务端渲染,如何设计我们的架构保证多端渲染的一致性,这是我们需要思考的问题。

云剪辑前端设计与优化我们下了不少功夫,父子关系分层树设计让系统拥有很大的拓展性,WebGL Shader 提供了丰富的视频效果例如转场、出入场动画、文字动画、蒙版等,轨道使用视图中控的设计方案极大地提升了用户操作流畅性,本地云端双模式的素材管理方案让用户即传即用无需等待。云剪辑在服务端也做了大量工作来保障导出性能与质量,例如影子环境与 YIQ 视频帧图像比对设计为复杂的视频生产业务场景保驾护航。

云剪辑根据客户需求产品化了丰富的接入方式,IFrame 的方式能够快速整合剪辑页面所有能力,组件化接入让客户能够高度自由化的搭建自己的剪辑产品,服务端 API 可以通过模板快速批量生产视频内容,微剪小程序插件更是把视频剪辑能力搬到了微信小程序上。

云创多媒体引擎产品矩阵除了云剪辑产品,还有协同审片、云导播、AI 拆条、直播录制等多种在线视频产品,全链路满足客户的各种视频需求。

音视频跨平台应用与元宇宙未来畅想

实时音视频因为疫情的缘故越来越融入到人们的日常工作生活中,如线上会议、在线教育等。两者结合起来可以碰撞起什么样的火花呢?如何利用实时音视频 SDK 快速开发一个跨平台的会议、娱乐、教育等 APP ?腾讯云高级工程师&音视频跨端负责人牛赞,将为我们带来答案。

牛赞提到:“为什么我们会需要跨平台框架?因为跨平台框架会给我们带来以下的优点,一次开发、多端运行、组件复用、提升效率,对于公司的管理层来说,跨平台框架可以节省人力成本,避免同时养两个安卓、iOS 团队。对开发者来说,跨平台框架可以节省我们的学习成本,我们只需要了解一套框架,就可以实现终端的开发,可以更好的实现自我的业务价值。”

接下来他提到了Flutter 视频渲染优化以及元宇宙的未来畅想:

“未来企业视频会议体验将是以沉浸感、低延迟和拟真感为特征的。可以想象这样的办公场景:人们在元宇宙的世界中可以随时召集同事面对面讨论,可以在任何地方、任何时间建立一个虚拟的会议室,所有人都能借助AR、VR的设备以一个虚拟的身份进入房间,彻底告别上下班通勤和面对面社交,完全在虚拟的世界中办公、开会和协作。

这样的场景该如何实现呢?这里就要提一下 Unity 跨平台的游戏引擎。Unity 在元宇宙相关的概念上早有布局,它在2020年提供了MARS工具帮助开发者快速开发 AR 应用程序,再结合腾讯云提供的音视频Unity sdk,可以帮助开发者快速实现在游戏中的音视频通话,拉近游戏内每一位玩家的距离,增加游戏互动体验,带来更好的沉浸感。随着科技的发展,音视频通信的延迟会越来越低,元宇宙的生态建设也会越来越完善,以前电影里的设想场景也会慢慢实现。"

本次专场演讲会在激烈的讨论中落下了帷幕。腾讯云音视频构建了全球领先的RT-ONE™音视频通信基础网络、完整的音视频PaaS平台及终端SDK产品矩阵,为全真互联网时代提供坚实的数字化助力。腾讯云音视频期待与你们再次相见,共同碰撞出崭新的能量!

腾讯云音视频在音视频领域已有超过21年的技术积累,持续支持国内90%的音视频客户实现云上创新,独家具备 RT-ONE™ 全球网络,在此基础上,构建了业界最完整的 PaaS 产品家族,并通过腾讯云视立方 RT-Cube™ 提供All in One 的终端SDK,助力客户一键获取众多腾讯云音视频能力。腾讯云音视频为全真互联时代,提供坚实的数字化助力。

文章来源于腾讯云开发者社区,点击查看原文