视频互动直播是当前比较热门的玩法,我们经常见到有PK 连麦、直播答题、一起 KTV、电商直播、互动大班课、视频相亲等。
本文将教你如何通过声网Agora 视频 SDK 在iOS端实现一个视频直播应用。注册声网账号后,开发者每个月可获得 10000 分钟的免费使用额度,可实现各类实时音视频场景。
话不多说,我们开始动手实操。
一、 通过开源Demo,体验视频直播
可能有些人,还不了解我们要实现的功能最后是怎样的。所以我们在 GitHub上提供一个开源的基础视频直播示例项目,在开始开发之前你可以通过该示例项目体验视频直播的体验效果。


Agora 在 GitHub 上提供开源的互动直播示例项目 OpenLive-iOS-Objective-C 与 OpenLive-iOS-Swift。在实现相关功能前,你可以下载并查看源代码。
Objective-C Github链接:Basic-Video-Broadcasting/OpenLive-iOS-Objective-C at master · AgoraIO/Basic-Video-Broadcasting · GitHub 4
Swift Github链接:Basic-Video-Broadcasting/OpenLive-iOS at master · AgoraIO/Basic-Video-Broadcasting · GitHub 1
二、 视频直播的技术原理
我们在这里要实现的是视频直播,Agora 的视频直播可以实现互动效果,所以也经常叫互动直播。你可以理解为是多个用户通过加入同一个频道,实现的音视频的互通,而这个频道的数据,会通过声网的 Agora SD-RTN 实时网络来进行低延时传输的。
需要特别说明的是,Agora互动直播不同于视频直播。视频通话不区分主播和观众,所有用户都可以发言并看见彼此;而互动直播的用户分为主播和观众,只有主播可以自由发言,且被其他用户看见。
下图展示在 App 中集成 Agora 互动直播的基本工作流程:
如图所示,实现视频直播的步骤如下:
- 获取 Token:当 app 客户端加入频道时,你需要使用 Token 验证用户身份。在测试或生产环境中,从 app 服务器中获取 Token。
- 加入频道:调用 joinChannel 创建并加入频道。使用同一频道名称的 app 客户端默认加入同一频道。频道可理解为专用于传输实时音视频数据的通道。
- 在频道内发布和订阅音视频流:加入频道后,app 客户端均可以在频道内发布和订阅音视频。
App 客户端加入频道需要以下信息:
- App ID:Agora 随机生成的字符串,用于识别你的 App,可从 Agora 控制台获取,(Agora控制台链接:Dashboard
- 用户 ID:用户的唯一标识。你需要自行设置用户 ID,并确保它在频道内是唯一的。
- Token:在测试或生产环境中,app 客户端从你的服务器中获取 Token。在本文介绍的流程中,你可以从 Agora 控制台获取临时 Token。临时 Token 的有效期为 24 小时。
- 频道名称:用于标识视频直播频道的字符串。
三、 开发环境
声网Agora SDK 的兼容性良好,对硬件设备和软件系统的要求不高,开发环境和测试环境满足以下条件即可:
• Xcode 9.0或以上版本
• 支持语音和视频功能的真机
• App 要求支持iOS 8.0或以上版本的iOS设备
以下是本文的开发环境和测试环境:
开发环境
• macOS 11.6版本
• Xcode Version 13.1
测试环境
• iPhone7 (iOS 15.3)
如果你此前还未接触过声网 Agora SDK,那么你还需要做以下准备工作:
• 注册一个声网账号,进入后台创建 AppID、获取 Token,
• 下载声网官方最新的视频直播SDK;(视频直播SDK链接:下载 - 视频通话 - 文档中心 - 声网Agora
四、 项目设置
1. 实现视频直播之前,参考如下步骤设置你的项目:
a) 如需创建新项目, Xcode里,打开 Xcode 并点击 Create a new Xcode project。(创建 iOS项目链接:https://developer

image870×600 51.2 KB
最低0.47元/天 解锁文章
498

被折叠的 条评论
为什么被折叠?



