随着互联网以及终端设备的全面发展,直播在日常生活中已经越来越常见。越来越多的人开始将在直播中与主播互动,作为一种娱乐消遣的方式。但一些直播平台频发的卡顿以及单一的打赏特效会让用户的直播体验大打折扣。在LiveStackCon2023上海站,腾讯云高级工程师江敏老师为我们介绍了腾讯云如何将云渲染应用在直播场景中,为直播带来更好的体验。
文/江敏
编辑/LiveVideoStack
腾讯云云渲染平台从最初云游戏平台开始,逐步发展,目前支持3D云应用、虚拟直播、云电脑等相关功能。文章将从云渲染简介以及结合云渲染的直播场景两大方面展开介绍。
云渲染简介
什么是云渲染
云渲染是将软件或游戏部署在云端,面画在云端渲染,支持用户实时操作,支持全端SDK(Web、安卓、iOS)接入,并为用户提供接近本地延迟及高画质的操作体验。上图展示了云渲染主要流程,用户在Web、小程序或者相关APP的操作,其信令会发送给云渲染实例,云渲染实例上运行的可以是3D软件,也可以是游戏等各类应用。应用或者游戏接受相关指令,给出真实的响应,产生相应的画面,这些画面经过采集编码发送到云渲染终端。
云渲染基础架构
云渲染的基础架构从功能上可以划分为三层,分别是:用户接入层、云渲染逻辑处理层、云渲染算力层。最上层客户接入层,主要是云渲染客户负责接入云渲染终端SDK及云渲染实例管理和资源管理等相关API。中间一层是云渲染逻辑处理层,功能主要包括:安装以及运行客户应用、资源管理、并发调度及云渲染RTC传输等。最底层是云渲染算力层,比如GPU资源、CPU资源、网络资源、边缘节点资源等。
结合云渲染的直播场景探索
弹幕游戏直播
首先介绍一下最近比较火热的弹幕游戏直播。弹幕游戏直播的主要玩法是主播在直播间直播弹幕小游戏,观众在直播间通过评论或者礼物产生屏内互动。弹幕游戏不仅可以有效提高直播间的人气,还可以提高直播场次收入。弹幕游戏直播相较于传统直播,最大特点在于其互动性更强、观众参与感更强,例如:观众通过评论或者礼物可以左右一局游戏胜败。调研发现国内主流的直播厂商都已经支持了弹幕游戏直播。
传统开播流程需要主播先在PC主机上安装游戏和开播工具,开播工具可能是直播厂商提供的,也可能是一些开源软件如:OBS;然后运行游戏和开播工具,调整开播工具相关设置并将游戏画面推送到直播后台;最后主播和玩家进入直播间,玩家在主播直播间发送弹幕或者购买礼物参与游戏。
整个流程总结三个问题需要解决:
针对上述问题,腾讯云针对性的给出了三个解决方案:
第一个方案是常规轻量云渲染开播。基于腾讯云云渲染的SaaS方案, 客户不需要接入云渲染任何API或者SDK,通过Web浏览器访问云渲染实例。画面会传输到本地PC,然后使用开播工具,按照普通直播流程进行开播即可。这种方式,弹幕游戏运行在云端,可以解决弹幕直播硬件性能问题,主播只需要提前预估整场游戏及直播中需要多大的算力,然后购买相应算力机器以及并发。但是直播间的游戏画面采集还是在主播PC机器上,所以分辨率问题仍然没有得到有效解决,另外主播可能会直播多个游戏,并且对接多个直播平台,针对不同的游戏和直播的平台需要不同的配置,所以开播环境不标准以及开播流程不够标准化。这些难点,在深度结合云渲染开播方案后都能得到完美解决。
方案二是深度结合云渲染开播。具体来说就是直播厂商将云渲染的SDK集成到厂商的开播工具中,这样厂商开播工具能获取云渲染采集编码的原始音视频数据,可以直接或者二次优化将音视频流推送到直播间。此方案即可以解决开播硬件性能问题,也可以解决主播主机分辨率的问题;且主播开播只需要打开相应的开播助手,所以也标准化了主播的开播流程。深度结合云渲染需要直播平台厂商接入云渲染SDK和相关API,有一定的开发成本,当然目前有一部分的厂商正在这么做。
最后一个方案是云电脑开播。云电脑开播是将整个电脑的画面推给主播,而不仅仅是游戏画面,同时将本地终端的麦克风、摄像头等硬件设备重定向到云电脑。主播开播前在云电脑安装弹幕游戏、开播助手等相关软件,然后在云电脑上开播,所有操作都在云电脑上进行。此方案游戏运行在云端,一定是能解决开播硬件性能问题的;又由于音视频数据是云电脑直接推送到直播平台系统,所以也解决了主播主机分辨率的问题。当然平台也可以根据实际需求制作满足场景的云电脑镜像,主播开播前选择所需的镜像生成开播环境,因此整个开播流程也是相对标准化的。整个方案,平台方接入是很轻量级的,几乎没有额外的开发成本。
虚拟特效
接下来我们看下虚拟特效场景。传统礼物打赏基本按照上图所示的流程,用户购买礼物、消息发送给直播APP、礼物特效直接在观众终端本地渲染。由于特效是本地渲染,必须要考虑到不同终端的性能差异,所以特效较为简单,效果单一。云渲染虚拟特效希望达到如下目标:
如上图,我们将虚拟特效的渲染从观众终端移到云端,屏蔽观众终端性能的差异性,可以渲染出更为复杂的特效。上图右侧展示云渲染虚拟特效基础流程,直播间观众在APP上打赏、打赏消息会发送给各直播平台的服务、直播服务将特效请求转发给云渲染服务、特效会在云渲染实例渲染、云渲染实例对渲染的特效画面进行采集编码、将编码的流数据转发给直播平台、直播平台混流特效和直播视频流、混流后的数据推送到直播间。
在设计虚拟特效之初,我们就在思考如何实现虚拟特效千人千面的效果。上图展示结合AIGC的能力,实现特效的千人千面的能力。具体流程,用户给出提示词、后台经过文本审核、提词优化、文生图、图片审核、结合相应场景生成特效。这里也支持厂商上传自己的模型,和云渲染服务结合,从而实现与自身业务更加相关的特效。
上图以腾讯云直播为例,给出了云渲染虚拟特效和直播系统结合的架构。主播或者粉丝打赏、消息发送给业务后台、业务后台将特效请求传给云渲染系统、云渲染系统将渲染后的特效数据发送到腾讯云直播系统、直播混流、最后将混流后的数据推送到直播间。
多人同屏互动直播
然后我们看下多人同屏互动场景。当前直播互动主要以视频连麦为主,互动比较单一。多人同屏互动是在视频直播应用中增加互动效果,在直播的同时主播可以实时和观众进行语音或视频形式的互动。
上图右侧展示了多人同屏互动直播基础流程,观众进入直播间、向主播发起互动角色的申请、主播审核通过、观众角色升级成可以参入游戏的互动观众、互动观众可以在本地操作自己游戏角色、云渲染SDK将用户操作指令传递给云渲染实例、运行在云渲染实例的游戏接受互动观众的操作指令、做出真实响应。整个过程,云渲染系统需要支持权限转移、角色切换、准确识别出观众的操作以及对应的游戏角色等。与此同时,如何保证高画质低延时的体验,突破互动人数的限制等也是亟需解决的问题。
首先如何保证多人同屏互动直播中流畅的游戏体验?这里重点是要解决传输的问题。影响传输主要有两个方面,一个是物理距离,一个是网络环境。
物理距离顾名思义就是现实生活中两地之间的距离,距离越长,其传输效果就越难以保证。另外即便两个人都在同一个地点,其网络环境不同传输效果也是有很大差异的。所以,“缩短”物理距离,“消除”网络差异成为解决问题的关键。
“缩短”物理距离,通过增加边缘节点以及就近接入来解决。如果遇到距离近传输延迟也非常高,会作为历史信息,保存下来,做下次调度策略的参考。
“消除”网络差异通过选择合适码流传输来解决。具体来说是,首先新用户连入时,下发最大码率的流,维持 t1 秒;t1 秒后,系统依据算法评估出的用户网络环境可以接受的码率b与系统编码的码率(例如系统编了三路码流,从低到高码率依次为b1、b2、b3)决定是否切流。具体来说,就是比较b和b1/b2/b3的大小,选择最接近b并且比b小的那路流来切换。
码率切换分为:
根据以上阐述,多人同屏互动直播场景引入多码率和边缘节点,整个架构跟着升级如上图。观众接入时可能不是直接接入云渲染实例,而是连到数据透传服务上。另外结合连麦还需要加入混音的功能,直播服务也可以根据实际情况提供分档转码的特性等。
云原生录制
最后我们看一下云原生录制场景。首先我们看一下常规视频录制和手动手机录制面临的困难。
常规视频录制是指直播系统后台自带录制功能,无法实现所看即所录,例如无法录制弹幕、礼物特效等APP本地渲染的音视频内容。
手动手机录制面临问题,首先是无法实现规模化、自动化的素材积累 ;其次是占用手机带宽,影响观看或者游戏体验;最后需向用户索取视频录制权限,成功率低。
云渲染云原生录制方案是指客户通过API调用云渲染实例、使其以观众角色进入直播间、录制在直播间所有音视频数据。云渲染实例上运行的可能是Android的APP也可能是云电脑。对于云原生录制需要直播厂商提供免登陆或者特殊账号登录直播间,并保证云渲染实例画面能够被采集到,例如windows系统保证不熄屏。有意思的是,我们发现部分客户直接将录制的视频推流到直播后台,作为直播的视频源。
资源自助管理
最后,无论是弹幕游戏、虚拟特效还是同屏多人互动直播,这些资源都是运行在云渲染实例上。如果这些资源管理都交给云渲染团队,会有巨大的工作量。为此,我们开发了资源自助管理平台,包括以下功能:版本控制、灰度更新(更新指定的实例或比例)、自动分发、命令行工具(可以结合到用户流水线进行资源自动化管理)。该功能主要使用场景包括软件包自助更新和模型自助更新等。
扫描下方二维码添加音视频小姐姐微信,与产研团队直接沟通,了解更多详细信息。
腾讯云音视频在音视频领域已有超过21年的技术积累,持续支持国内90%的音视频客户实现云上创新,独家具备腾讯云RT-ONE™全球网络,在此基础上,构建了业界最完整的 PaaS 产品家族,并通过腾讯云视立方 RT-Cube™ 提供All in One 的终端SDK,助力客户一键获取众多腾讯云音视频能力。腾讯云音视频为全真互联时代,提供坚实的数字化助力。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有