应用云端运行时,在虚拟会议、主播直播、虚拟党建等场景下存在需要通过主播端操控应用 , 观众端实时观看应用画面的需求。为满足应用画面可以共享给千万观众同时不占用您额外的云实例资源,云渲染提供了通过RTMP协议推送应用画面至直播间这一功能。
传统直播场景的痛点
- 手机启动游戏PK操作成本高,本地带宽压力大
- 主播端手机需要预下载游戏安装包,游戏版本更新难
- 手机端APP无法实现无人在线直播,应用离线推播需要占用本地设备
- 直播画面实现导播能力,无法应用内和观众创建互动(如:弹幕、观众上麦、切换应用内视角)
云渲染解决方案
方案简述
3D 应用程序在云实例上时,主播可通过渲染链接在浏览器操控应用程序完成导播、画面切换、游戏操作等动作,观众可通过观众链接加入主播所在的虚拟场景,实现0下载安装即可完成广播级演播效果和实时互动。与此同时,该客户还可通过配置推流地址将云端应用的画面低延迟推流至指定直播间,让千万名直播间观众不额外占用云渲染资源也可以在直播间观看整场虚拟活动的精彩动态。
方案优势
- 无需配置高带宽、高显卡配置实例,云端提供高性能显卡、万兆带宽,可将应用画面无损画质推送至直播间,带给观众4K分辨率、60帧超强观看体验!
- 实时配置推流地址,可按照业务需求动态开启直播推流、动态更改推流目的地!
- 支持多种交互输入,游戏可通过DataChannel发送弹幕指令、打造炫酷交互效果 ,可通过web页面键鼠超低延迟操控应,也可通过智能语音、手势交互、电竞手柄等新型交互方式远程操控应用!
- 支持无人直播模式,应用启动后,无人操控仍能持续推流,从而实现无客户端连接的情况下仍保持云端应用的运行和不间断的直播推流!
操作流程
使用流程
以下是从启动应用到开始推流的指导说明:
首先,您需要制作一个可在windows系统中运行的应用程序,若您需要游戏带交互功能,需要在应用层自行开发相关交互接口。制作完成后将应用打包为一个zip/7z/rar格式压缩包。
- 开通实时云渲染服务](https://www.ctyun.cn/document/10019425/10024931)。
- 参考 快速入门 的操作指引,将应用上传至云渲染平台,完成云端部署。
- 应用部署完成后,通过JS-SDK接入前端页面,启动应用。
- 在JSSDK中设置启动推流:
1)若您需要主控端推流(如主播操控游戏),可将baseOption中的webrtcEnable 为 true ,并 onPlay 中执行liveStart(Url),应用启动成功后会根据您配置的Url自动开始直播推流。
const launch: Launcher = await RCRLaunch({
appId,
baseOptions: {
startType: 1,
webrtcEnable: true, // 默认为 true
},
extendOptions: {
onPlay: () => {
// 开始推流
launch.liveStart(liveStartUrl)
},
2)如您不需要在本地电脑的前端窗口查看画面,可以使用无客户端的启动模式,将baseOption中的webrtcEnable设置为false,当 webrtcEnable 为 false 时,需要在 dataChannelConnected 事件中执行推流操作。允许无客户端连接的情况下仍保持云端 App 运行,并能通过DataChannel发送直播间弹幕至应用内。
if (!launch.option.baseOptions.webrtcEnable) {
connection.event.dataChannelConnected.on(() => {
// 开始推流
launch.liveStart(liveStartUrl)
});
}
说明* 如您需要修改推流协议、编码格式,请联系我们客服进行后台配置。
* 当前推流默认格式为:音频编码AAC、视频编码H264、封装格式RTMP。
落地场景
-
某直播行业客户,将直播场景应用程序运行云渲染平台,主播通过web端操控应用程序,互动观众亦可通过观众链接加入主播所在的虚拟场景,无需预下载安装软件即可完成广播级演播效果和实时互动。与此同时,该客户还将云端应用的画面实时推流至直播间,让千万名直播间观众可以在线观看虚拟活动的精彩画面。
-
某云游戏行业客户,将云游戏运行至云渲染平台,只需三步:1)后台启动游戏,2)配置推流地址,3)通过数据通道发送指令至游戏内,即可实现游戏无人直播模式,云渲染提供的万兆带宽和高性能显卡,可将高分辨率运行的应用画面实时推送至直播间,增强直播间趣味性!