概述

本文主要介绍如何获取视频直播的播放地址及使用鉴权后的播放地址。

如何获取播放地址?

如何获取鉴权播放地址?

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

  • 控制台

    鉴权小工具计算播流鉴权URL地址,请参见配置URL鉴权

  • 代码获取播流鉴权URL地址
    鉴权算法参见鉴权URL组成,根据推流地址指定的APPName及StreamName得到未鉴权的播放地址,如rtmp://videolive.aliyuntest.club/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://videolive.aliyuntest.club";
    $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";
    }
                        

如何通过代码获取播放地址?

未鉴权的播放地址可以通过推流地址拼接得到,推流指定AppName及StreamName,播流的APPName及StreamName就确定。例如,推流地址为rtmp://video-center.alivecdn.com/APPName1/StreamName1?vhost=videolive.aliyuntest.club,则播放地址为rtmp://videolive.aliyuntest.club/AppName1/StreamName1

鉴权URL地址获取:鉴权算法参见鉴权URL组成,根据推流地址指定的APPName及StreamName得到未鉴权的播放地址,如rtmp://live8.aliyuntest.club/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://videolive.aliyuntest.club";
    $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";
}
            

为何播放地址不能正常播放?

场景

直播推流后,得到播放地址不能正常播放视频。

排查

  • 排查对应域名是否进行直播配置。

    视频直播控制台域名管理页面中能否看到对应的域名。

  • 排查推流是否成功,请参见直播推流异常排查
  • 排查直播加速是否成功。

    直播域名是否在域名服务商那边CNAME解析到直播域名CNAME域名上,详情参见配置CNAME域名解析。CNAME地址获取通过域名管理页面,在所需的域名右侧对应的CNAME列中获取。

    CNAME
  • 排查获取的播放地址是否正确,请参见如何获取播放地址?
  • 排查视频直播域名是否开启鉴权。

    获取的播放地址是否是鉴权URL地址,详情参见推流地址和播放地址

  • 排查直播域名是否开启鉴权,并且获取的播放地址是否过期,重新生成鉴权地址播放测试。
  • 排查对应的播放器是否支持该格式视频的播放,用户可以测试使用VLC播放视频看看是否正常。