2024/10/17 14:17:33
实现极速直播
本文介绍如何集成声网实时互动 SDK,在一个基础的音视频互动基础上进行少量代码修改,即可实现一个极速直播 App。
极速直播是区别于互动直播的一种直播场景,两者的区别在于观众端的延时级别:
- 互动直播:观众端的延时级别为超低延时,以便满足主播和观众需要频繁进行音视频互动的需求。
- 极速直播:观众端的延时级别为低延时,可以满足主播与观众较低频率的音视频互动,或者回应观众文字、弹幕及打赏信息。
更多关于极速直播的延时指标、同步性、互动体验以及费用介绍,详见直播场景区别和计费策略。
前提条件
开始前,请确保已在你的项目中实现基本的实时音视频功能。详见实现音视频互动。
实现步骤
将直播场景下观众端的延时级别修改为低延时,即可将一个互动直播 App 修改为极速直播 App,有以下两种实现方式:
-
在加入频道后,调用 SetClientRole 方法,将 clientroletype 参数设置为 CLIENT_ROLE_AUDIENCE(观众);将 options 参数设置为 AUDIENCE_LATENCY_LEVEL_LOW_LATENCY(低延时)。
-
在调用 JoinChannel 加入频道时:
- 勾选 Client Role Type Set Value 并设置 Client Role Type 为 CLIENT_ROLE_AUDIENCE,设置用户角色为主观众
- 勾选 Audience Latency Level Set Value 并设置 Audience Latency Level 为 AUDIENCE_LATENCY_LEVEL_LOW_LATENCY,将观众端延时级别设为低延时。
后续步骤
- 如果你的目标平台是 macOS 或 iOS,则需要在打包时添加实时互动所需的摄像头和麦克风等权限,详见如何为 Unreal Engine 项目添加实时互动所需的权限?
- 本文的示例使用了临时 Token 加入频道。在测试或生产环境中,为保证通信安全,声网推荐从服务器中获取 Token,详情请参考使用 Token 鉴权。
参考信息
示例项目
声网提供了开源的示例项目供你参考,你可以前往下载或查看其中的源代码。
常见问题
- 直播场景下,如何监听远端观众角色用户加入/离开频道的事件?
- 如何处理视频黑屏问题?
- 为什么我无法打开摄像头?
- 如何处理频道相关常见问题?
- 如何设置日志文件?
- 为什么部分 Android 版本应用锁屏或切后台后采集音视频无效?
- 编译 Xcode 项目时遇到无法打开 framework 的弹窗警告怎么办?