播流初始化设置

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

播流常见问题

如何获取播流地址

如何获取鉴权播流地址

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

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

    1. 登录视频直播控制台

    2. 选择所需的域名并单击右侧的域名配置

      域名配置
    3. 单击鉴权配置页签进入鉴权配置页面。

      域名配置-配置鉴权
    4. 填入对应的信息计算鉴权URL地址,详情参考鉴权算法

      生成鉴权URL
  • 有效时间内输入过期时间,即用户希望多久后该鉴权地址过期,不能访问。A鉴权实际过期时间为设置的有效时间1800s,如客户设置的有效时间为3000s,那么改鉴权地址4800s后过期。
  1. 代码获取播流鉴权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地址获取:鉴权算法参考 鉴权算法,根据推流地址指定的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
  • 排查获取的播流地址是否正确。

  • 排查视频直播域名是否开启鉴权,获取的播流地址是否是鉴权URL地址,详情参考推流地址和播流地址(转码)推流地址与播流地址(原画)

  • 排查直播域名是否开启鉴权,并且获取的播流地址是否过期,重新生成鉴权地址播放测试。

  • 排查对应的播放器是否支持该格式视频的播放,用户可以测试使用VLC播放视频看看是否正常。