RTSA Lite Java SDK for Linux 提供了一个简单的示例项目 RtsaLiteDemo.java
用于演示推流、拉流和信令发送接收的基本功能。
一台开发机,可以是电脑或嵌入式设备。环境要求详见 SDK 概述。本文以安装 Ubuntu 18.04 系统的个人电脑为例。
参考开始使用声网平台获取以下信息:
demo_channel
。user1
和 user 2
分别获取 RTM Token。本文将获取的 RTM Token 分别指代为 RTM_TOKEN_1 和 RTM_TOKEN_2。参考开始使用声网平台获取以下信息:
如果你使用 SDK 包自带的许可证文件进行免费体验,可跳过此步骤。
本文以 x86_64 的包为例。你可以参考 下载页面 获取其他平台的包。
# 获取 SDK
wget Agora-RTSALite-LRmRcAc-Java-x86_64-linux-gnueabihf-v1.7.1.tar
# 解压缩
tar xvf Agora-RTSALite-LRmRcAc-Java-x86_64-linux-gnueabihf-v1.7.1.tar
在 SDK 包 example 目录下打开 RtsaLiteDemo.java
并修改以下常量的值。
YOUR OWN APPID
替换你获取的 App ID。RTM_TOKEN
的值设置为你获取的 RTM Token。RTC_TOKEN
的值设置为你获取的 RTC 临时 Token。HOST_USER_ID
的值设置为 "user1"
。PEER_USER_ID
的值设置为 "user2"
。CHANNEL_NAME
的值设置为 "demo_channel"
。private final static String TAG = "DEMO/App";
private final static String APPID = "YOUR OWN APPID";
private final static String CHANNEL_NAME = "RTSA01";
private final static String HOST_USER_ID = "1";
private final static String PEER_USER_ID = "2";
private final static String RTC_TOKEN = "";
private final static String RTM_TOKEN = "";
在 SDK 包 example
目录下运行以下命令编译示例项目。
# 切换到示例项目目录
cd agora_rtc_sdk/example_java
# 构建并运行示例项目
./run.sh -a x86_64 -r
运行成功之后:
RTSA01
的 RTC 频道,并且开始发送 H.264 视频和 PCM 音频。音视频源默认为 SDK 包自带的 send_audio_16k_1ch.pcm
和 send_video.h264
文件。user1
作为用户 ID 登录 RTM 系统,并且每两秒向 ID 为 user2
的用户发送信令。如果你使用 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 证书。示例项目运行时会加载这个文件,并在初始化 SDK 之前通过 licenseVerify
接口调用来验证 License 证书的有效性。只有通过验证,SDK 才可以正常运行。
设备在每次运行 RTSA Lite SDK 前,都需要调用 licenseVerify
方法来验证 License 证书的有效性。只有通过验证,SDK 初始化才能够成功。
运行媒体流示例项目之后,你可以打开 RTC SDK Webdemo 链接,输入你的 App ID、频道名 demo_channel
及之前获取的 RTC 临时 Token。成功加入频道后,你就可以看到和听到实时音视频流了。
按照 跑通 Linux 示例项目(C API) 跑通 C API 示例项目的信令功能,即可与 Java 示例项目互相发送和接收信令。
cd out/x86_64
./hello_rtm --appId YOUR_APPID --rtmUid user2 --peerUid user1 --token RTM_TOKEN_1