查看原文
其他

直播互动开放技术探索之路

兔兔 哔哩哔哩技术 2024-02-26

本期作者



兔兔

哔哩哔哩资深开发工程师


前言


直播互动玩法,早在2014年就曾有人在Twitch平台进行尝试,在这一类玩法中,直播间观众可以通过弹幕指令共同操纵主播的游戏内容,在国内被称为“弹幕互动玩法”。

2021年H2,随着修勾夜店在B站的爆火,直播弹幕互动玩法如雨后春笋般出现,直播技术团队也开始了对互动开放技术体系的探索。

2021年底,直播开放平台立项,旨在基于B站的内容生态和直播技术,面向行业开发者开放核心直播技术能力,打造用户、创作者和平台多方共赢的开放生态。

2022年H1,围绕直播间互动玩法和游戏化互动场景,直播开放平台迅速落地,提供了直播间数据开放、API支持、SDK支持、定制化支持等技术服务,为直播互动内容生态建立了坚实的基础。

本文主要介绍直播技术团队在互动开放生态演进道路上的经验与思考。


什么是弹幕互动玩法


2021年10月,“互动派对”在虎牙首秀,通过弹幕和礼物,其主播弹幕量和礼物收入有比较大的增长。

2021年11月,被称为狗子蹦迪的“修勾夜店”在B站首秀,尝鲜的观众大量涌入这一类互动直播间,通过弹幕和礼物,创造了60万只小狗一起在线云蹦迪的故事。


图1 互动派对 VS 修勾夜店


相较于传统直播,弹幕互动玩法的基础流程为:

  • 观众在C端直播间,通过发送弹幕、投喂礼物、键盘指令等方式进入游戏

  • 游戏客户端内接收到直播间消息,将直播间观众转化为游戏内的形象化身、通过合作or对抗的游戏框架,使直播间观众参与到直播内容中,共同创造直播内容

  • 观众在C端直播间通过直播流看到玩法内容的呈现,提升了沉浸感,直播互动与礼物消费有了更趣味化的载体,或是游戏角色能力属性的提升,或是形象的变化

  • 通过互动性的增强,达到直播互动数据和营收数据的增长

相较于传统直播内容而言,弹幕互动玩法具有以下方面的优势

  • 以平台视角,互动玩法能带来互动和营收数据的提升

  • 以主播视角,互动玩法能降低开播门槛,使新主播快速找到直播内容并提升转化效率,也能作为直播内容的补充,丰富内容多样性。

  • 以开发者视角,互动玩法相较游戏开发成本低,且开发者社区已具雏形。这也在22年初吸引了一部分企业转型尝试互动玩法开发。

  • 以用户视角,互动玩法形式多样,用户行为从“看直播”变成了“玩直播”,为用户填补了需求空白,提供了情绪价值。

弹幕互动玩法可以分为三大类:挂机型、主播增强型、工具辅助型。

挂机型:无需主播值守,只需要开启游戏客户端并推流。多为简单玩法,依赖直播间观众自主创造内容。例如“修勾夜店”、“炫彩钓鱼王”、“直播修仙”、“四国战争”等。

主播增强型:以主播为主,观众为辅的内容玩法。观众的参与感来自帮助主播达成目标or阻挠主播完成任务。例如“互动派对”、“弹幕狼人杀”、“你画我猜”、“欢乐俄罗斯方块”等。

工具辅助型:直播间插件的变种,在开播内容的辅助工具的基础上增强了工具的互动性。例如“VArea”、“加班挑战”等。

2021年底,基于当时的业务形态,我们认为为开发者提供统一、稳定的直播技术开放平台迫在眉睫。


直播开放平台


在直播开放平台诞生之前,野生开发者们为了获取数据各显神通,在达成结果的同时也违背了数据信息安全原则,侵犯了用户隐私、非法获取商业机密、影响了网站的正常运营、甚至不经意间违反了法律法规。

开放平台建立之初,首先要解决的就是数据合规问题。

通过申请入驻的方式,我们对每个开发者提供了access_key和access_secret,它是开放平台开发者的凭证,与官方服务器通信时,签名校验通过即认为开发者已获得授权,可以获取直播间数据信息和使用相关API。

每一条数据的开放,都要经过严格的数据合规审核流程,这是对创作者和平台的保护机制。


图2 获取直播间数据


开发者(第三方)与开放平台的通信是基于WebSocket实现的。开发者在游戏客户端内集成WebSocket协议,与开放平台服务器进行通信。直播长连服务,通过WebSocket协议将弹幕、礼物、Superchat、大航海等信息推送给游戏客户端,游戏客户端实时处理直播间信息,渲染游戏画面,最终通过直播间推流触达观众。

在开放平台最初上线的一个月内,我们建了一个反馈收集的共享文档,立刻就收到了大量的开发者反馈,这些反馈集中于“文档看不懂”、“流程跑不通”等。很多应用的开发者,为了配合接入官方API,需要把已上线的应用重新进行技术改造。

为了解决接入时效性的问题,我们快速在团队内部搭建出了一支队伍,用2周的时间完善了官方技术文档,提供了:

  • Python / Golang / JavaScript Demo

  • Unity、C#客户端SDK

开发者社区的力量也加入了我们,优秀的开发者们为社区提供了前端插件SDK(by 泽远喵)和UE4客户端SDK(by 斑_tcl)等套件,方便新人开发者快速上手。

解决了API的接入问题以后,开发者们开始了快速的创作,开放平台搭了个框架,让开发者往里填内容,创作门槛也因此变得更低。对个人开发者来说,直播互动玩法作品多数是兴趣使然,变现并不是主要目标。而对企业开发者来说,开发一款精品的互动玩法需要投入的成本并不小。以脑屋科技为例,《弹幕狼人杀》这一玩法前期投入团队在4人左右(含美术、策划、程序),变现成了他们的首要目标。


图3 开发者收益结算


开放平台早期针对开发者的变现来源于直播间互动玩法礼物分成。

玩法创建后,开发者可以按照直播间礼物制作规范申请互动礼物。玩法上架后,互动玩法会发布在官方应用商店,主播通过Web商店或者PC直播姬下载互动玩法并开播,主播的直播间就会自动投放互动礼物。

用户赠送互动礼物,开发者可获得一定比例的礼物收益结算。


图4 开放平台官方API流程图


针对互动礼物投放的时效性要求,官方API也进行了对应升级。

开发者可通过start/end指令,灵活控制互动礼物在直播间的投放。同时通过维持项目心跳作为兜底保护,避免因项目异常退出导致的道具无法下线,其他互动玩法无法开启等问题。

考虑到不使用官方PC直播姬开播的主播群体,我们针对主播侧推出了身份码,以关联互动玩法的使用。并且为开发者提供了统一的身份码认证UI。

同时,通过开放平台的统一收口,开发者被纳入了评级系统,通过开发者成长体系,开发者们可以获取更多的数据权限和定制服务。


开放平台的差异化探索


如果说 官方API/SDK/数据服务 都是通用基建,那么以大前端团队为主导,B站直播开放平台还进行了很多业务差异化探索。


图5 bilibili直播开放平台全景图


 通用互动面板能力开放


大部分的互动玩法通过轮播公告告知用户具体玩法,但是这一形式触达的效率较低,观众的理解成本较高。

为了帮助直播间观众更好地理解互动玩法,我们将玩法的核心能力抽象成“弹幕指令”、“礼物指令”、“玩法介绍”,包装在通用互动面板中。并且通过开发者后台,将各模块的配置能力暴露给开发者。


图6 通用互动面板


等同于互动礼物投放的生命周期,当互动玩法start时,互动面板会投放在玩法开启的指定直播间。


定制互动控件与商业化应用


对外提供开放平台服务支持的同时,在公司内部,我们也在积极探索直播游戏化。直播技术联合星体工作室,打造了一系列标杆案例,基于定制互动控件的玩法作为游戏内容端到端的延伸,进一步提升了观众的沉浸感。

2022年的小年夜,直播团队与星体工作室合作,进行了第一次大型活动官号“真直播”。在小年夜活动预热内容时,直播了“心愿快车”玩法,直播间观众通过控件端进行“点餐”、“许愿”等交互,还原了过年回家云春运的氛围,也为直播商业化积累了经验。


图7 2022年小年夜 心愿快车直播


从定制控件、开放平台再到游戏客户端,每次商单的交付,只需进行前端和游戏内的换皮适配工作,成本可控。基于以上模式,2022年我们先后合作了林肯、大众、肯德基、康师傅等品牌方,也服务了鹿鸣首播等互动直播案例。


为了进一步突破弹幕/礼物等互动形式的局限性,我们还与星体工作室/第三方厂商合作,积极探索更多元化的互动模式,包括但不限于:

  • 小地图寻路游戏:2D小地图映射3D游戏端内场景,应用于泠鸢生日会

  • 摄像头动捕&音游:直播间节奏大师玩法,应用于直播星球

  • 虚拟形象换装&:应用于弹幕狼人杀

  • 直播云游戏

  • ...

这一类互动控件扩展了弹幕/礼物功能的局限性,提供了更强大的交互能力;避免了直播流信息的滞后性,能实时同步游戏内信息;提供了千人千面的内容触达,并且防止直播间观众直接请求第三方接口,通过直播开放平台提供了更强大的负载能力。


以弹幕狼人杀互动控件为例,用户进入主播房间后,会与房间创建一个websocket连接。

主播启动互动游戏后,第三方会调用接口通知到开放平台,开放平台websocket长连方式将定制面板配置信息推送给房间内所有的用户。第三方同时将获取这次游戏的场次id,场次id会与启动互动关游戏的房间有个一对一的绑定关系。

第三方可以通过场次id,通过调用直播开放平台网关接口(会通过第三方的access_key进行权限校验),对于这个房间内所有或面板消息的更新和删除(也可以额外增加uid 参数,对于指定用户进行面板更新和删除的屏蔽)。

第三还可以通过场次id,通过调用直播开放平台网关接口(会通过第三方的access_key进行权限校验),与用户uid对于这个房间内指定用户所有或面板消息的更新和删除。

第三方会根据互动玩法的内容来进行面板内容的切换。如:狼人杀身份牌下发,用户投票阶段的发起,游戏玩法的介绍,与游戏相关的信息触达等等。

用户在如果刷新页面,或者有新用户加入房间。会查询开放平台获取最新的面板信息。



直播用户端实时互动探索


弹幕互动玩法是有明确的瓶颈和限制的。

延时问题:由于众所周知的直播推流延迟问题,作为一个直播间观众,从发出弹幕到看到视频流游戏内容反馈,有一个普遍10s左右的时间差。

共享屏幕:所有直播间观众只能从主播视角看到游戏推流画面,且受游戏渲染限制,同屏能涵盖的内容有限,派对游戏一般都有角色数量上限,很难承载动辄上万的直播间同时在线用户数。

基于以上限制,常见的解法是放弃直播推流,改造C端直播间,使直播间用户真正进入游戏空间(也是元宇宙概念的一种展现形式)。

这里面有几条技术选型及其优缺点:

  • Unity渲染:Unity作为成熟的跨端游戏引擎,无论是开发者生态还是游戏质量都是几个方案中的最优解。除去移动化适配的成本,主要的卡点是引擎本身的包体积问题,很难在用户端落地。

  • WebGL渲染:

  • 可以采用Unity官方的WebGL发布,与原生应用相比,它存在一定的性能限制和浏览器兼容性问题,需要通过合理的场景设计、优化纹理和代码、选用合适的压缩技术等方法,优化Unity WebGL发布的性能

  • 也可以选择前端技术栈诸如babylon.js之类3D渲染引擎,但是基于WebGL技术的游戏开发相比Unity游戏更为复杂,上手周期更长,需要更多的代码和知识储备,且仍受限于浏览器性能和兼容性

  • 云渲染:通过云主机渲染,可以轻松实现跨平台,无需高性能硬件支持。对网络要求很高,游戏画面和帧率受网速影响,最大的问题是云主机的成本高昂

基于以上信息,用户端实时互动的探索要结合业务场景,尽可能选择高ROI的技术方案。


开放平台的未来


当前,开放平台技术侧已进入低成本维护阶段,以平台运营为主,稳定支持开发者服务。过去半年我们主要面临的困境是商业模式的问题,通过礼物分成结算的方式,创作者变现的营收效率极低,也会一定程度影响到现有的主播生态。

孵化一款高质量作品投入的成本过高,而高质量的作品未必能带来同等的汇报,这样的运营方式无法规模化贡献平台收益。开放平台的未来需要引入更多的创作者变现手段,诸如广告、商单、游戏推广,通过打正开发者的成本与收益提升创作者规模,进一步验证商业模式是否可行。

不能放弃我们在创作者生态上的投入,通过开放差异化技术服务能力的方式,提升开发者效率,吸引生态靠近平台。


结语


直播开放平台自上线以来,累计服务个人开发者5800余人,企业开发者160余人,技术团队提交技术专利5例,开放差异化技术能力10+例。

在这个过程中,直播技术团队以创作者为核心,深入业务,快速试错,通过技术驱动提供技术服务,也为未来的业务攻坚积攒下了宝贵的经验。


【参考资料】

  1. bilibili直播创作者服务中心:https://open-live.bilibili.com/

  2. 直播开放平台开发者文档:https://open-live.bilibili.com/document/

  3. 直播互动应用商店(饭贩商店):https://play-live.bilibili.com/

  4. bilibili直播弹幕互动玩法分区:https://live.bilibili.com/p/eden/area-tags?parentAreaId=6&areaId=460

以上是今天的分享内容,如果你有什么想法或疑问,欢迎大家在留言区与我们互动,如果喜欢本期内容的话,欢迎点个“在看”吧!


往期精彩指路

继续滑动看下一个

直播互动开放技术探索之路

兔兔 哔哩哔哩技术
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存