跑通基于 C API 的 Linux 示例项目
声网提供了一个简单的示例项目 hello_rtsa.c
和 hello_rtm.c
用于演示推流、拉流和信令发送接收的基本功能。该示例项目位于 RTSA SDK 包 example
目录中。
你可以先编译并运行示例项目体验功能,初步了解 RTSA SDK 的 API 调用,以便后续能够更高效地将 RTSA SDK 集成到你自己的应用程序中。
示例项目自带的 License 仅供测试,试用时效为 90 天且存在 10 路并发限制。如果你需要在生产环境中使用 RTSA SDK,请联系 sales@shengwang.cn 购买商业 License。详见申请和使用 License。
前提条件
开始前,请确保你的开发环境满足如下条件:
获取 SDK
本文以 x86_64 的 SDK 包为例。你可以点击下载获取其他平台的 SDK 包。
# 将 x.y.z 替换为具体的 SDK 版本号,如 1.9.1
# 可通过发版说明获取最新版本号
# 获取 SDK
wget https://download.agora.io/rtsasdk/release/Agora-RTSALite-RmAcAjCP-x86_64-linux-gnu-vx.y.z.tgz
# 解压缩
tar xvf Agora-RTSALite-RmAcAjCP-x86_64-linux-gnu-vx.y.z.tgz
编译示例项目
在 SDK 包 example
目录下运行以下命令编译示例项目:
# 切换到示例项目目录
cd agora_rtc_sdk/example
# 构建示例项目
./build-86_64.sh
如果你需要在设备端(通常是 ARM Linux 系统)运行 hello_rtsa
,请先参考 SDK 包中的移植指南(PORTING.md
文件)。
编译完成后,会在当前目录下生成以下可执行文件:
hello_rtsa
hello_rtm
运行媒体流示例项目
开始发送 H.264 视频和 PCM 音频
将以下命令行的 YOUR_APP_ID
替换成你获取的 App ID、YOUR_RTC_TOKEN
替换成你获取的 RTC 临时 Token 并运行命令。你就会加入名为 demo_channel
的频道,并且用默认参数开始发送 H.264 视频和 PCM 音频。音视频源默认为 SDK 包自带的 send_audio_16k_1ch.pcm
和 send_video.h264
文件。
cd out/x86_64
./hello_rtsa -i YOUR_APP_ID -c demo_channel --token YOUR_RTC_TOKEN
验证推流效果
运行媒体流示例项目之后,你可以按如下步骤进行验证:
-
克隆 API-Examples-Web 到本地,在浏览器中打开
Demo/index.html
文件。 -
点击 basicvideocalling 下的 tryitnow,进入视频通话 demo 界面。
-
输入你的 App ID、RTC 临时 Token、频道名
demo_channel
及任意用户名,点击 join。成功加入频道后,你就可以看到和听到实时音视频流了。
运行信令示例项目
打开两个命令行工具,分别在两个命令行工具中输入如下命令,实现在两个命令行工具之间互相发送消息。
- 把
YOUR_APP_ID
替换成你在第一步中获取到的 App ID。 - 把
RTM_TOKEN_1
替换成你为user1
获取的 RTM 临时 Token。 - 把
RTM_TOKEN_2
替换成你为user2
获取的 RTM 临时 Token。
# 命令行工具 1
cd out/x86_64
./hello_rtm --appId YOUR_APP_ID --rtmUid user1 --peerUid user2 --token RTM_TOKEN_1
# 命令行工具 2
cd out/x86_64
./hello_rtm --appId YOUR_APPID --rtmUid user2 --peerUid user1 --token RTM_TOKEN_2