`
猫耳呀
  • 浏览: 165553 次
社区版块
存档分类
最新评论

视频直播常见问题与解决办法汇总【系列三—直播推流】

阅读更多
摘要: 直播推流初始化设置 要进行直播推流,您必须开启直播加速 > 配置直播域名 > 直播推流,详情参考 快速开始。 如何获取推流地址 直播加速配置成功后,您可以通过以下方式获取对应的推流地址。 登录 视频直播控制台。

直播推流初始化设置

要进行直播推流,您必须开启直播加速 > 配置直播域名 > 直播推流,详情参考 快速开始。

如何获取推流地址

直播加速配置成功后,您可以通过以下方式获取对应的推流地址。

登录 视频直播控制台。
单击 域名管理。
选择所需地域。
选择所需的域名。
选择所需域名,并单击右侧的 管理。
在 基本信息 中,获取对应的推流地址:rtmp://video-center.alivecdn.com/AppName/StreamName?vhost=videolive.aliyuntest.club 。

注意:
直播配置成功后,对应的推流地址获取是不需要调用 API 或者 SDK 生成或者初始化的,使用推流工具推流的时候,填入需要的 AppName 或者 StreamName 进行推流即可。如指定推流地址:rtmp://video-center.alivecdn.com/1/2?vhost=live.aliyun.com。
推流地址中 APPName 是应用名称,支持自定义,可以更改。
推流地址中 StreamName 是流名称,支持自定义,可以更改。
推流的 APPName 或 StreamName 不建议设置为中文字符。

为何OBS推流不成功

OBS 推流不成功,对应 视频直播控制台 > 流管理,正在推流信息中不能看到对应流.OBS如何进行推流,详情参考 OBS 操作指南。

排查
排查对应域名是否进行直播配置:视频直播控制台 > 域名管理 中能否看到对应的域名。直播加速配置参考 直播加速配置。
排查OBS推流配置填写的是否准确,详情参考 OBS 推流。
OBS推流配置如下:
FMS URL / URL: rtmp://video-center.alivecdn.com/AppName
播放路径/串码流(如果存在)/ 流秘钥: StreamName?vhost=live.aliyun.com
排查直播域名是否开启了A鉴权。
1.登录 视频直播控制台。
2.单击 域名管理。
3.选择所需的地域。
4.选择所需的域名。
5.单击所选域名右侧 管理。
6.单击 鉴权配置。

如果开启,计得算推流地址(rtmp://video-center.alivecdn.com/AppName/StreamName?vhost=videolive.aliyuntest.club)的鉴权地址进行推流,鉴权地址计算参考 快速开始 第4点鉴权配置。



直播推流支持哪些协议

视频直播只支持rtmp协议推流

直播推流如何进行鉴权推流

直播鉴权开启及鉴权地址计算参考 快速开始 第4点鉴权配置。

鉴权地址计算完成后,使用对应的鉴权地址进行推流:
OBS推流配置类似如下:
FMS URL / URL: rtmp://video-center.alivecdn.com/AppName
播放路径/串码流(如果存在)/ 流秘钥: StreamName?vhost=live8.aliyuntest.club&auth_key=1487766738-0-0-a96e76d2ebf9bbd855b0d4a9168ee600;

如何确认推流成功

1.登录 视频直播控制台。
2.单击 流管理。
3.选择所需的地域。
4.选择所需的域名。
5.流状态选择 正在推流。
6.如果可以查看到存在对应流,则推流成功。


禁止推流的情况该如何实现?

用户存在业务场景需求某路流临时禁止推流。例如,对应的鉴权推流地址暴露,客户恶意推流该地址、业务需求禁止该推流URL进行推流等,就可以使用直播的禁止推流功能满足该需求。推流及鉴权推流地址概念参考 直播推流地址相关问题。

直播控制台禁止推流

1.获取正在推流地址并加入黑名单
直播推流成功后,您可以在 视频直播控制台 > 流管理 > 选择所需的地域和域名 > 选择正在推流,查看到正在推流的地址,单击 加入黑名单 即可。

2.获取历史推流地址并加入黑名单
直播推流成功后,您可以在 视频直播控制台 > 流管理 > 选择所需的地域和域名 > 选择历史推流,查看到历史推流地址,单击 加入黑名单 即可。

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", accessId, accessKey);
          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("<domainname>");
       request.setAppName("<appname>");
       request.setStreamName("<streamname>");
       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,表示服务器端错误。如果没有抛出异常则表示接口调用成功。

如何查看推流黑名单

1.直播控制台查看推流黑名单
直播推流成功后,您可以在 视频直播控制台 > 流管理 > 选择所需的地域和域名 > 选择黑名单,查看到黑名单中的推流地址。

2.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类为DescribeLiveStreamsBlockListRequest及DescribeLiveStreamsBlockListResponse,Java代码示例如下:

public static void main(String[] args) throws Exception  {
         IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessId, accessKey);
         DefaultAcsClient client = new DefaultAcsClient(profile);
         DescribeLiveStreamsBlockListResponse res=DescribeLiveStreamsBlockListR(client);
         System.out.println(res.getStreamUrls());
  }
static DescribeLiveStreamsBlockListResponse DescribeLiveStreamsBlockListR(DefaultAcsClient client){
      DescribeLiveStreamsBlockListRequest request =new DescribeLiveStreamsBlockListRequest();
      request.setDomainName("<domainname>");
      DescribeLiveStreamsBlockListResponse 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,表示服务器端错误。如果没有抛出异常则表示接口调用成功。

如何恢复黑名单直播流推送地址

1.直播控制台恢复
直播推流成功后,您可以在 视频直播控制台 > 流管理 > 选择所需的地域和域名 > 选择正在推流 > 选择黑名单,查看到黑名单中的推流地址,进行恢复。

2.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类为ResumeLiveStreamRequest及ResumeLiveStreamResponse,Java代码示例如下:

public static void main(String[] args) throws Exception  {
         IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessId, accessKey);
         DefaultAcsClient client = new DefaultAcsClient(profile);
         ResumeLiveStreamResponse res=ResumeLiveStreamR(client);
         System.out.println(res.getRequestId());
  }
static HttpResponse ForbidLiveStream(DefaultAcsClient client){
      ForbidLiveStreamRequest request =new ForbidLiveStreamRequest();
      request.setDomainName("<domainname>");
      request.setAppName("<appname>");
      request.setStreamName("<streamname>");
      request.setLiveStreamType("publisher");
      HttpResponse response=null;
      try {
           response = client.doAction(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,表示服务器端错误。如果没有抛出异常则表示接口调用成功。


原文链接:https://yq.aliyun.com/articles/556695?spm=a2c41.11181499.0.0

分享到:
评论

相关推荐

    DOU音短视频和直播带货运营常见问题汇总及解决办法.png

    DOU音短视频和直播带货运营常见问题汇总及解决办法.png

    计算机常见问题解决办法汇总

    计算机常见问题及解决办法 在日常使用计算机的过程中,我们可能会遇到各种各样的小问题,这些问题虽然看似简单,但如果不了解解决方法,可能会浪费不少时间。本文将针对一些常见的计算机问题,提供详细的解决策略,...

    hadoop常见问题及解决办法

    Hadoop常见问题及解决办法汇总 Hadoop是一个基于Apache的开源大数据处理框架,广泛应用于大数据处理、数据分析和机器学习等领域。然而,在使用Hadoop时,经常会遇到一些常见的问题,这些问题可能会导致Hadoop集群...

    收集的常见的专业问题解决办法.rar

    2009-02-24 08:40 156913 33699 常见的专业问题解决办法\JS对select控件的操作汇总整理.mht 2009-02-24 08:40 173330 36602 常见的专业问题解决办法\Js获取当前日期时间及其它操作_Believe ┭┮ YourSelf.mht 2009-...

    Oracle BIEE常见问题解决办法汇总

    Oracle BIEE 常见问题解决办法汇总 问题1:提示组合 * 添加筛选器选择对应的列 * 在筛选器属性页面,运算符中选择提示 知识点: 在 Oracle BIEE 中,添加筛选器可以根据需要选择对应的列,并在筛选器属性页面中...

    IIS常见错误解决办法汇总

    ### IIS常见错误解决办法汇总 #### 一、概述 在使用Internet Information Services(IIS)过程中,用户可能会遇到各种各样的问题,其中一种常见的问题是“world wide web publishing服务无法启动”。本文将针对这...

    HPLC常见问题和解决方法总汇.doc

    文档“HPLC常见问题和解决方法总汇.doc”主要涉及高效液相色谱(HPLC)使用过程中遇到的各种问题及对应的解决方案。高效液相色谱是化学分析中常用的一种技术,用于分离、鉴定和定量混合物中的化合物。以下是根据文档...

    汇总Android视频录制中常见问题

    【Android 视频录制常见问题详解】 在Android应用开发中,视频录制是一项常见的功能,但同时也伴随着各种问题。本文将深入探讨在Android视频录制中可能遇到的问题及其解决方案,旨在帮助开发者更好地理解和解决这些...

    ES常见启动报错解决办法

    ES常见启动报错解决办法汇总

    金蝶云.星空常见问题汇总集合

    《金蝶云会计常见问题汇总.docx》涵盖云会计系统的操作疑问,包括账务处理、成本计算、报表分析等内容,有助于提升会计工作的效率和准确性。 6. **总账模块问题**: 《金蝶云星空(总账)常见问题集锦.docx》集中...

    用友常见问题解决办法

    【用友常见问题解决办法】 1. **凭证作废后的断号问题**:在使用用友软件时,如果凭证被作废导致凭证编号出现断号,可以通过进入[填制凭证]菜单下的[制单]子菜单,选择[整理凭证]功能来重新编排凭证号,确保凭证...

    K3常见问题及解决方案汇总供应链

    K3常见问题 汇总 供应链 金蝶 ERP 供应链 问题解决方案;金蝶 ERP 供应链 问题解决方案;金蝶 ERP 供应链 问题解决方案;金蝶 ERP 供应链 问题解决方案;金蝶 ERP 供应链 问题解决方案;金蝶 ERP 供应链 问题解决...

    常见浏览器兼容性问题汇总及解决方案

    所谓的浏览器兼容性问题,是指因为不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况。在大多数情况下,我们的需求是,无论...所以浏览器的兼容性问题是前端开发人员经常会碰到和必须要解决的问题。

    OA客户端常见问题及解决方案汇总.pdf

    在重新安装客户端后,如果仍有上述异常现象,可以手动设置浏览器来解决问题。 1.2.1 检查浏览器及其版本 建议使用微软浏览器(IE)7及以上版本,以确保浏览器的兼容性。 1.2.2 清楚浏览器缓存 清除浏览器缓存...

    fluent模拟常见问题解决办法

    Fluent 模拟常见问题解决办法 Fluent 软件模拟常见问题解决方法汇总 1. 如何使用 FLUENT 对网格文件进行优化处理? 在 Fluent 中,优化网格文件是非常重要的。操作方法包括:运动或缩放结点坐标,为并行处理分离...

    鼎信诺审计软件常见问题汇总

    鼎信诺审计软件常见问题汇总

    【正点原子】I.MX6U 常见问题汇总V1.31

    本文档“【正点原子】I.MX6U 常见问题汇总V1.31”主要针对用户在使用I.MX6U过程中遇到的问题进行收集和解答,帮助用户更好地理解和解决技术难题。 1. 资料获取和硬件检查: - 资料获取:用户可以通过官方提供的...

    钢材横剪加工中常见问题及解决思路汇总.doc

    钢材横剪加工中常见问题及解决思路汇总.doc

    MTK线刷常见错误信息汇总和解决办法

    ### MTK线刷常见错误信息汇总与解决办法 MTK线刷是指利用特定工具通过USB数据线连接的方式,对基于MediaTek(联发科)处理器的智能手机进行系统更新或修复的一种技术手段。线刷过程中可能会遇到多种错误信息,本文...

Global site tag (gtag.js) - Google Analytics