本页介绍如何设置环境以及集成声网录制 SDK。
你需要将声网录制 SDK 集成在你的 Linux 服务器上而不是你的 App 上。
如果你不想自行部署 Linux 服务器,可尝试声网云端录制。
录制某频道内的音视频信息相当于将一个特殊的观众加入该频道。该观众获取频道内的音视频信息,将获取到的信息转码并储存在 Linux 服务器上。 因此,你必须:
下表列出了安装声网录制 SDK 的基本要求:
硬件和网络 | 要求 |
服务器 | 物理或虚拟
|
网络 | 这台 Linux 服务器要接入公网,有公网 IP |
带宽 | 根据需要同时录制的频道数量和频道内情况确定所需带宽。以下数据可供参考:录制一个分辨率为 640*480 的画面需要的带宽约为 500kbps;录制一个有两个人的频道则需 1Mbps;同时录制 100 个这样的频道,需要带宽为 100Mbps。关于分辨率和带宽的关系,详见 录制 API。 |
域名解析 | 服务器允许访问 qos.agoralab.co,否则 SDK 无法上报必要的统计数据。 |
我们测试了以下云主机配置下的录制并发性能:
测试条件:
不同频道模式和录制模式下,录制并发性能如下:
频道模式 | 录制模式 | 测试结果 |
---|---|---|
直播模式 | 视频单流录制 | 215 个频道并发时,CPU 占用为 75% 左右 建议并发 200 个频道 |
视频合流录制 | 70 个频道并发时,CPU 占用 75% 左右 建议并发 60 个频道 |
|
纯音频合流录制 | 300 个频道并发时,CPU 占用为 75% 左右 | |
通信模式 | 视频单流录制 | 210 个频道并发时,CPU 占用为 75% 左右 建议并发 200 个频道 |
视频合流录制 | 60 个频道并发时,CPU 占用为 75% 左右 |
你可参考上述云主机配置和对应的录制性能,根据自己的录制需要选择和配置云主机,详见使用云容器部署录制 SDK。
在你的 Linux 服务器上进行以下操作:
下载最新的声网录制 SDK 软件包。软件包内容如下:
文件夹 | 描述 |
bin | AgoraCoreService 所在的目录 |
include |
|
libs | 录制的依赖库 |
samples | 代码示例
|
tools | 转码工具 |
为你的项目准备所需库:
librecorder.a
库文件。安装编译器: gcc 4.4+ 。
如果你的网络环境设置了防火墙限制外网访问,请使用云代理服务。
打开所有的录制进程所使用的 UDP 端口,端口为在 RecordingConfig
中指定的 lowUdpPort
和 highUdpPort
范围之间的端口。
- 录制一个频道的内容需要开启一个对应的录制进程;单个录制进程需要使用 4 个 UDP 端口。进程(包括各个录制进程和系统进程)之间不得有端口冲突。
- 声网建议指定录制进程使用端口的范围。你可以为多个录制进程统一配置较大的端口范围(声网建议 40000 ~ 41000 或更大)。此时,录制 SDK 会在指定范围内为每个录制进程分配端口,并避免端口的冲突。要设置端口范围,你需要配置参数
lowUdpPort
和highUdpPort
。- 如果不指定参数
lowUdpPort
和highUdpPort
,录制进程所使用的端口为随机端口,会有端口冲突的风险。- 使用
iptables -L
命令查看 UDP 端口。
为调试方便,声网建议你打开系统的 core dump 功能以记录可能产生的程序崩溃信息。
你已经集成了录制 SDK,可以选择以下任意一种方式开始录制:
这两种方式可以实现相同的功能,根据你的需要选择一种即可。