Java 实现阿里云直播推流在线列表查询

简介: 版权声明:本文首发 http://asing1elife.com ,转载请注明出处。 https://blog.csdn.net/asing1elife/article/details/82788014 ...
版权声明:本文首发 http://asing1elife.com ,转载请注明出处。 https://blog.csdn.net/asing1elife/article/details/82788014

Java 实现阿里云直播推流在线列表查询

阿里云直播推流在线列表可以通过 API 的方式进行查询获取

更多精彩

官网

查询推流在线列表

初始化配置

  1. Constants.ALI_ACCESS_KEY_ID 是阿里云服务密钥 id ,所有服务共用
  2. Constants.ALI_ACCESS_SECRET 是阿里云服务密钥,所有服务共用
  3. 将客户端的初始化放置在静态块中可以保证配置只初始化一次
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);

    // 本地调试
    // System.setProperty("http.proxyHost", "127.0.0.1");
    // System.setProperty("http.proxyPort", "8080");
}

查询推流在线列表

  1. Constants.ALI_LIVE_PULL_URL 是阿里云直播的推流地址
  2. Constants.ALI_LIVE_APP_NAME 是阿流云直播的应用名称
    • 如果不指定,则会查询出所有的应用的推流列表
    • 只能是单纯的应用名称,和阿里云直播控制台设置的保持一直
  3. 获取到推流在线列表后,只需要进行流名称的匹配即可
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;
}
目录
相关文章
|
12天前
|
SQL NoSQL Java
Java使用sql查询mongodb
通过使用 MongoDB Connector for BI 和 JDBC,开发者可以在 Java 中使用 SQL 语法查询 MongoDB 数据库。这种方法对于熟悉 SQL 的团队非常有帮助,能够快速实现对 MongoDB 数据的操作。同时,也需要注意到这种方法的性能和功能限制,根据具体应用场景进行选择和优化。
44 9
|
2月前
|
Arthas 监控 Java
拥抱 OpenTelemetry:阿里云 Java Agent 演进实践
本文介绍了阿里云 Java Agent 4.x 版本在基于 OTel Java Agent 二次开发过程中的实践与思考,并重点从功能、性能、稳定性、兼容性四个方面介绍了所做的工作。同时也介绍了阿里云可观测团队积极参与开源建设取得的丰厚成果。
248 7
拥抱 OpenTelemetry:阿里云 Java Agent 演进实践
|
2月前
|
SQL Java
使用java在未知表字段情况下通过sql查询信息
使用java在未知表字段情况下通过sql查询信息
39 8
|
3月前
|
SQL Java 关系型数据库
java连接mysql查询数据(基础版,无框架)
【10月更文挑战第12天】该示例展示了如何使用Java通过JDBC连接MySQL数据库并查询数据。首先在项目中引入`mysql-connector-java`依赖,然后通过`JdbcUtil`类中的`main`方法实现数据库连接、执行SQL查询及结果处理,最后关闭相关资源。
253 6
|
3月前
|
缓存 Java 数据处理
java查询大量数据优化
通过结合的高性能云服务,如其提供的弹性计算资源与全球加速网络,可以进一步增强这些优化策略的效果,确保数据处理环节更加迅速、可靠。蓝易云不仅提供稳定的基础架构,还拥有强大的安全防护和灵活的服务选项,是优化大型数据处理项目不可或缺的合作伙伴。
47 0
|
4月前
|
SQL Java
使用java在未知表字段情况下通过sql查询信息
使用java在未知表字段情况下通过sql查询信息
41 1
|
4月前
|
存储 SQL 分布式计算
Java连接阿里云MaxCompute例
要使用Java连接阿里云MaxCompute数据库,首先需在项目中添加MaxCompute JDBC驱动依赖,推荐通过Maven管理。避免在代码中直接写入AccessKey,应使用环境变量或配置文件安全存储。示例代码展示了如何注册驱动、建立连接及执行SQL查询。建议使用RAM用户提升安全性,并根据需要配置时区和公网访问权限。具体步骤和注意事项请参考阿里云官方文档。
427 10
|
5月前
|
Java 开发工具
通过Java SDK调用阿里云模型服务
在阿里云平台上,可以通过创建应用并使用模型服务完成特定任务,如生成文章内容。本示例展示了一段简化的Java代码,演示了如何调用阿里云模型服务生成关于“春秋战国经济与文化”的简短文章。示例代码通过设置系统角色为历史学家,并提出文章生成需求,最终处理并输出生成的文章内容。在实际部署前,请确保正确配置环境变量中的密钥和ID,并根据需要调整SDK导入语句及类名。更多详情和示例,请参考相关链接。
|
5月前
|
存储 Java
如何在 Java 中打印字符串数组列表
【8月更文挑战第23天】
54 2
|
5月前
|
Java 开发者
在Java编程中,if-else与switch作为核心的条件控制语句,各有千秋。if-else基于条件分支,适用于复杂逻辑;而switch则擅长处理枚举或固定选项列表,提供简洁高效的解决方案
在Java编程中,if-else与switch作为核心的条件控制语句,各有千秋。if-else基于条件分支,适用于复杂逻辑;而switch则擅长处理枚举或固定选项列表,提供简洁高效的解决方案。本文通过技术综述及示例代码,剖析两者在性能上的差异。if-else具有短路特性,但条件增多时JVM会优化提升性能;switch则利用跳转表机制,在处理大量固定选项时表现出色。通过实验对比可见,switch在重复case值处理上通常更快。尽管如此,选择时还需兼顾代码的可读性和维护性。理解这些细节有助于开发者编写出既高效又优雅的Java代码。
72 2