直播播流不成功如何排查-阿里云开发者社区

开发者社区> 阿里云支持与服务> 正文

直播播流不成功如何排查

简介: 本博文将介绍,视频直播加速配置后,播流不成功要如何进行排查及解决;

1. 排查对应的域名是否进行直播加速配置

要进行直播推流,用户必须得开启直播加速—》配置直播域名—》直播推流,可以参考【快速开始】;

2. 排查推流是否成功

在直播控制台—流管理—选择对应的域名—正在推流的流中是否存在对应的流,存在表示推流成功
1

不存在,参考【直播推流不成功如何排查】;

3. 排查直播加速是否成功

直播域名是否在域名服务商那边cname解析到直播域名cname域名上,域名解析看【域名解析】, cname地址获取:控制台—》视频直播—》具体域名—》管理—》基本信息中获取;
2

4. 排查获取的播流地址是否正确

如何获取播流地址

直播推流成功后,用户可以在阿里云控制台—》视频直播—》流管理—》选择具体域名—》选择正在推流,获取得到对应的播流地址:rtmp://live.aliyun.com /AppName/2;

3

客户也可以通过推流地址直接拼接得到播流地址:推流指定了AppName及StreamName,播流的APPName及StreamName就定了,比如推流地址为rtmp://video-center.alivecdn.com/APPName1/StreamName1?vhost=live.aliyun.com,那么播流地址便为rtmp://live.aliyun.com /AppName1/StreamName1;
如果客户的直播域名开启鉴权,获取得到对应的播流地址为鉴权播流地址类似:rtmp:// live.aliyun.com /AppName/2?auth_key=1488458560-0-0-70dfd45ec3e3340d3456488969821044;
4

直播控制台获取的鉴权URL地址过期时间较短,如果客户想获取过期时间较长的鉴权URL地址,可以调用鉴权小工具或者鉴权算法代码实现;

1) 鉴权小工具计算播流鉴权URL地址

控制台—》视频直播—》域名管理—》选择具体域名—》管理—》鉴权配置,填入对应的信息计算鉴权URL地址,鉴权算法参考【鉴权算法https://help.aliyun.com/document_detail/27135.html?spm=5176.product27099.6.581.TQkZ2i】;

5

注意:

  • I.
    原始的播流地址就是:rtmp://live.aliyun.com /AppName/2 这样的未鉴权的播流地址;
  • II.
    未鉴权的播流地址可以通过推流地址拼接得到,推流指定了AppName及StreamName,播流的APPName及StreamName就定了,比如推流地址为rtmp://video-center.alivecdn.com/APPName1/StreamName1?vhost=live.aliyun.com,那么播流地址便为rtmp://live.aliyun.com /AppName1/StreamName1;

2)代码获取播流鉴权URL地址

鉴权算法参考【[鉴权算法](https://help.aliyun.com/document_detail/27135.html?spm=5176.product27099.6.581.TQkZ2i)】,根据推流地址指定的APPName及StreamName得到未鉴权的播流地址,如rtmp://live.aliyun.com/AppName1/StreamName1;再根据鉴权算法代码实现,填入对应的播流地址计算鉴权URL;

PHP demo代码实现如下:

//http://DomainName/Filename?auth_key=timestamp-rand-uid-md5hash
//sstring = "URI-Timestamp-rand-uid-PrivateKey" (URI是用户的请求对象相对地址, 如 /Filename)
//HashValue = md5sum(sstring)
function PrivateKeyA(){
    $time=strtotime("-800 seconds");//("+1 hours");
    $key="aliyun2013";
    $domain="rtmp://live.aliyun.com";
    $filename="/AppName1/StreamName1";
    //$sstring = "URI-Timestamp-rand-uid-PrivateKey" 
    $sstring = $filename."-".$time."-0-0-".$key;
    $md5=md5($sstring);
    $auth_key="auth_key=".$time."-0-0-".$md5;
    $url=$domain.$filename."?".$auth_key;
    echo $url."\n";
}

5. 排查视频直播域名是否开启鉴权

获取的播流地址是否是鉴权URL地址,参考《如何获取播流地址》获取鉴权URL地址;

6. 排查直播域名是否开启鉴权

并且获取的播流地址是否过期,重新生成鉴权地址播放测试;

7. 排查对应的播放器是否支持该格式视频的播放

客户可以测试使用VLC播放视频看看是否正常;

版权声明:本文中所有内容均属于阿里云开发者社区所有,任何媒体、网站或个人未经阿里云开发者社区协议授权不得转载、链接、转贴或以其他方式复制发布/发表。申请授权请邮件developerteam@list.alibaba-inc.com,已获得阿里云开发者社区协议授权的媒体、网站,在转载使用时必须注明"稿件来源:阿里云开发者社区,原文作者姓名",违者本社区将依法追究责任。 如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:developer2020@service.aliyun.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

分享阿里云支持与服务团队最佳实践、经典案例与故障排查。

官方博客
文档