声网提供了一个简单的示例项目 hello_rtsa.c
和 hello_rtm.c
用于演示推流、拉流和信令发送接收的基本功能。该示例项目位于 RTSA Lite SDK 包 example 目录中。
你可以先编译并运行示例项目体验功能,初步了解 RTSA Lite SDK 的 API 调用,以便后续能够更高效地将 RTSA Lite 集成到你自己的应用程序中。
一台开发机,可以是电脑或嵌入式设备。环境要求详见 SDK 概述。本文以安装 Ubuntu 18.04 系统的个人电脑为例。
参考开始使用 Agora 平台获取以下信息:
demo_channel
。user1
和 user 2
分别获取 RTM Token。本文将获取的 RTM Token 分别指代为 RTM_TOKEN_1 和 RTM_TOKEN_2。参考开始使用 Agora 平台获取以下信息:
如果你使用 SDK 包自带的许可证文件进行免费体验,可跳过此步骤。
本文以 x86_64 的包为例。你可以参考 下载页面 获取其他平台的包。
# 获取 SDK
wget https://download.agora.io/rtsasdk/release/Agora-RTSALite-LRmAc-x86_64-linux-gnu-v1.7.0.tgz
# 解压缩
tar xvf Agora-RTSALite-LRmAc-x86_64-linux-gnu-v1.7.0.tgz
获取 SDK 包,解压并在 SDK 包 example 目录下运行以下命令编译示例项目。
# 切换到示例项目目录
cd agora_rtc_sdk/example
# 构建示例项目
./build-86_64.sh
如果你需要在设备端(通常是 ARM Linux 系统)运行
hello_rtsa
,请先参考 SDK 包中的移植指南(PORTING.md
文件)。
编译完成后,会在当前目录下生成以下可执行文件:
hello_rtsa
hello_rtm
license_query
: 运行 ./license_query
命令查看 License 具体信息。其中,license_key
稍后激活 License 时需要用到。license_activator
: 详见激活 License。如果你使用 SDK 包自带的许可证文件进行免费体验,可跳过此步骤。
如果你已经购买了商用 License,可以先通过 license_query 查询你的 App ID 下的所有 License key。
$ ./license_query --appId YOUR_APPID --customerKey YOUR_KEY --customerSecret YOUR_SECRET
其中:
YOUR_APPID
需要替换为你创建的 App ID。YOUR_KEY
需要替换为你刚才保存的 key_and_secret.txt
文件里的 key 值。YOUR_SECRET
需要替换为你刚才保存的 key_and_secret.txt
文件里的 secret 值。运行以下命令激活 License,生成对应的证书。
$ ./license_activator --appId YOUR_APPID --customerKey YOUR_KEY --customerSecret YOUR_SECRET --deviceId YOUR_DEVICE_ID --certOutputDir .
其中:
YOUR_APPID
需要替换为你创建的 App ID。YOUR_KEY
需要替换为你刚才保存的 key_and_secret.txt
文件里的 key 值。YOUR_SECRET
需要替换为你刚才保存的 key_and_secret.txt
文件里的 secret 值。YOUR_DEVICE_ID
需要替换为设备的唯一标识码,比如设备的 IMEI 号码。该唯一标识码长度不得超过 128 字节。每次激活成功后,会消耗一个商业 License。激活成功后,默认在当前目录生成 certificate.bin , 它是和这个设备绑定的 License 证书。hello_rtsa 运行时会加载这个文件,并在初始化 SDK 之前通过 agora_rtc_license_verify
接口调用来验证 License 证书的有效性。只有通过验证,SDK 才可以正常运行。
设备在每次运行 RTSA Lite SDK 前,都需要调用agora_rtc_license_verify
方法来验证 License 证书的有效性。只有通过验证,SDK 初始化才能够成功。
你可通过以下命令行,把 YOUR_APP_ID
替换成你获取的 App ID,把 MY_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 MY_RTC_TOKEN
运行媒体流示例项目之后,你可以打开 RTC SDK Webdemo 链接,输入你的 App ID、频道名 demo_channel
及之前获取的 RTC 临时 Token。成功加入频道后,你就可以看到和听到实时音视频流了。
打开两个终端,分别在两个终端输入如下命令行,实现两个终端之间互相发送消息。
YOUR_APP_ID
替换成你在第一步中获取到的 App ID。RTM_TOKEN_1
替换成你获取的 RTM_TOKEN_1。RTM_TOKEN_2
替换成你获取的 RTM_TOKEN_2。# 终端 1
cd out/x86_64
./hello_rtm --appId YOUR_APPID --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