开发者社区> 问答> 正文

禁止推流的实现方式是什么?

禁止推流的实现方式是什么?

展开
收起
保持可爱mmm 2020-03-29 22:23:06 537 0
1 条回答
写回答
取消 提交回答
  •     获取正在推流地址并加入黑名单
    
        直播推流成功后,您可以在 视频直播控制台 > 流管理 > 选择所需的域名 > 选择正在推流,查看到正在推流的地址,单击 加入黑名单 即可。
    
        获取历史推流地址并加入黑名单
    
        直播推流成功后,您可以在 视频直播控制台 > 流管理 > 选择所需的域名 > 选择历史推流,查看到历史推流地址,单击 加入黑名单 即可。
    
    SDK实现禁止推流
    
    视频直播的API是基于阿里云的OpenAPI实现的。因此,SDK的调用也是对OpenAPI封装后调用。以Java SDK为例,Java SDK建议使用maven管理项目依赖,在pom.xml中添加如下的依赖项:
    
    <dependencies>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-cdn</artifactId>
            <version>2.3.1</version>
        </dependency>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-core</artifactId>
            <optional>true</optional>
            <version>2.3.8</version>
        </dependency>
    </dependencies>
    

    其中,aliyun-java-sdk-core是对阿里云OpenAPI封装的核心模块,在使用OpenAPI的产品调用Java SDK均需要添加该依赖项,而aliyun-java-sdk-cdn包括了视频直播接口的Request和Response类;其中禁止推流的Request和Response类为ForbidLiveStreamRequest及ForbidLiveStreamResponse,Java代码示例如下:

    public static void main(String[] args) throws Exception { IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", " ", " "); DefaultAcsClient client = new DefaultAcsClient(profile); ForbidLiveStreamResponse res=ForbidLiveStreamR(client); System.out.println(res.getRequestId()); } static ForbidLiveStreamResponse ForbidLiveStreamR(DefaultAcsClient client) { ForbidLiveStreamRequest request =new ForbidLiveStreamRequest(); request.setDomainName(" "); request.setAppName(" "); request.setStreamName(" "); request.setLiveStreamType("publisher"); ForbidLiveStreamResponse response=null; try { response = client.getAcsResponse(request); } catch (ServerException e) { e.printStackTrace(); } catch (ClientException e) { e.printStackTrace(); } return response; }

    Demo代码主要流程如下:

    初始化Client对象。SDK需要通过IAcsClient对象完成对OpenAPI的调用,而初始化IAcsClient对象时根据IClientProfile对象配置region、AccessKeyId和AccessKeySecret参数。其中,region请一直写cn-hangzhou,因为这里指的是OpenAPI的服务器所在区域。AccessKeyId和AccessKeySecret参数即是账号权限验证,如果是主账号的AccessKeyId和AccessKeySecret,则可以正常使用。如果是子账号的AccessKeyId和AccessKeySecret参数,则需要保证该子账号有视频直播的权限。
    
    初始化请求Request类。SDK对每个接口实现了对应的Request类和Response类,对应的禁止推流Request类需要传入哪些参数,看API接口定义 禁止推流API。
    
    发起请求获取结果。使用Client对象的getAcsResponse方法发起Request对象请求,并根据该方法反馈的反序列化的结果实例化为对应接口的Response类。并且在执行该方法时可以catch ServerException和ClientException异常类,当http status>=300且<500 SDK抛ClientException,表示客户端错误。当http status>=500 SDK抛ServerException,表示服务器端错误。如果没有抛出异常则表示接口调用成功。
    
    2020-03-29 22:31:44
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载