获取正在推流地址并加入黑名单
直播推流成功后,您可以在 视频直播控制台 > 流管理 > 选择所需的域名 > 选择正在推流,查看到正在推流的地址,单击 加入黑名单 即可。
获取历史推流地址并加入黑名单
直播推流成功后,您可以在 视频直播控制台 > 流管理 > 选择所需的域名 > 选择历史推流,查看到历史推流地址,单击 加入黑名单 即可。
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,表示服务器端错误。如果没有抛出异常则表示接口调用成功。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。