版权声明:本文首发 http://asing1elife.com ,转载请注明出处。 https://blog.csdn.net/asing1elife/article/details/82788014
Java 实现阿里云直播推流在线列表查询
阿里云直播推流在线列表可以通过 API 的方式进行查询获取
更多精彩
官网
查询推流在线列表
初始化配置
-
Constants.ALI_ACCESS_KEY_ID 是阿里云服务密钥 id ,所有服务共用
-
Constants.ALI_ACCESS_SECRET 是阿里云服务密钥,所有服务共用
- 将客户端的初始化放置在静态块中可以保证配置只初始化一次
private static IAcsClient iAcsClient;
static {
String regionId = "cn-shanghai";
DefaultProfile profile = DefaultProfile.getProfile(regionId, Constants.ALI_ACCESS_KEY_ID, Constants.ALI_ACCESS_SECRET);
iAcsClient = new DefaultAcsClient(profile);
}
查询推流在线列表
-
Constants.ALI_LIVE_PULL_URL 是阿里云直播的推流地址
-
Constants.ALI_LIVE_APP_NAME 是阿流云直播的应用名称
- 如果不指定,则会查询出所有的应用的推流列表
- 只能是单纯的应用名称,和阿里云直播控制台设置的保持一直
- 获取到推流在线列表后,只需要进行流名称的匹配即可
public Boolean checkLiveBegin(String streamName) {
DescribeLiveStreamsOnlineListRequest listRequest = new DescribeLiveStreamsOnlineListRequest();
listRequest.setDomainName(Constants.ALI_LIVE_PULL_URL);
listRequest.setAppName(Constants.ALI_LIVE_APP_NAME.replace("/", ""));
try {
DescribeLiveStreamsOnlineListResponse response = iAcsClient.getAcsResponse(listRequest);
List<LiveStreamOnlineInfo> onlineInfos = response.getOnlineInfo();
for (LiveStreamOnlineInfo onlineInfo : onlineInfos) {
if (onlineInfo.getStreamName().equals(streamName)) {
return true;
}
}
} catch (ClientException e) {
logger.error("获取拉流信息失败!", e);
}
return false;
}