视频点播的视频播放地址过期

视频点播的视频播放地址过期

更新时间:2019-12-19 14:59:50

问题描述

当您使用阿里云视频点播产品,通过浏览器访问某视频点播地址时,访问失败,出现类似如下错误提示。

<Error>
<Code>AccessDenied</Code>
<Message>Request has expired.</Message>
<RequestId>5DF332644EAA4931361D1E43</RequestId>
<HostId>
outin-2cc63XXXXXXe1c955c.oss-cn-shanghai.aliyuncs.com
</HostId>
<Expires>2019-12-13T06:37:22.000Z</Expires>
<ServerTime>2019-12-13T06:40:36.000Z</ServerTime>
</Error>

 

问题原因

视频点播产品底层的存储依赖于OSS产品,如果没有添加视频点播域名,那么视频点播中的原始文件和转码文件地址,即流畅、标清、高清等视频都是使用类似于outin-6a6fd4XXXXXXe1a65b6.oss-cn-shanghai.aliyuncs.com样式的OSS域名。

 

由于视频点播底层使用的OSS存储空间默认是私有权限,所以需要使用带签名参数的URL访问,即URL中需要携带Expires、Signature和AccessKeyId三个签名参数。但是该签名URL是存在过期时间,签名URL中的Expires字段是UNIX时间戳,标识的就是过期时间。

 

综上所述,当以下条件成立时,你可能遇到上述问题:

  • 没有为视频点播产品添加视频点播域名。
  • 底层OSS存储权限并未设置为公共读,默认情况下底层OSS存储空间为私有权限。

 

解决方案

您可以通过以下两种方案解决此问题:

  • 方案一,添加视频点播产品的视频点播域名。
  • 方案二,将默认的OSS存储权限设置为公共读。

 

当使用视频点播底层的OSS域名进行访问时,不会使用视频点播的视频分发加速功能。这种情况下,播放视频时没有加速效果。而且所产生的访问流量也无法使用视频点播的流量包抵扣,而是会产生外网流出流量的费用,因为点播流量包只能抵扣使用视频点播域名播放视频产生的流量。如果使用视频点播域名播放视频,视频点播域名播放视频是可以基于点播底层的CDN加速分发视频,并且产生的流出流量可以使用流量包来抵扣,因此推荐使用第一种方案。

 

方案一:添加视频点播产品的视频点播域名

添加视频点播域名前,需要注意如下几点信息:

  • 由于视频点播域名需要配置CNAME记录,而CNAME记录和A记录是冲突的,具体冲突规则请参考解析记录冲突规则,因此配置CNAME记录前需要先删除A记录。
  • 建议视频点播域名不要使用网站站点的域名,因为站点域名通常是使用A记录进行解析。如果删除A记录后,将无法访问站点,因此建议使用新的域名进行配置。
  • 视频点播域名默认不开启鉴权,因此在未开启鉴权的情况下,使用视频点播域名的视频URL是没有过期时间。如果开启了视频点播域名的鉴权功能,那么视频URL也是有过期时间,鉴权相关信息请参考URL鉴权

 

参考以下步骤,添加视频点播域名。

  1. 登录点播控制台,依次选择 分发加速配置 > 域名管理,确认没有添加相关视频的点播域名。
    提示:若存在相关视频点播域名,但是没有启用域名的情况,请启用该域名并确认CNAME记录添加成功即可。
  2. 参考添加视频点播域名添加域名,然后配置CNAME即可。添加视频点播域名以后,为了有更好的加速效果,建议您添加缓存配置

 

方案二:将默认的OSS存储权限设置为公共读

在存储管理中将OSS权限修改成公共读,然后使用不带签名参数的URL进行访问,排除URL过期时间的影响。

  1. 登录点播控制台,依次选择 媒资管理配置 > 存储管理,确认没有添加相关视频的存储地址。
  2. 单击相关存储地址右侧 管理,然后单击权限右侧的 修改配置,选择 公共读 并单击 确定
    提示:也可以选择公共读写权限,但是建议不要设置为公共读写,公共读写存在很高的安全风险。
  3. 修改成公共读权限后,点播控制台默认提供的视频地址还是带签名参数的URL。因此,使用时需要去除URL"?"以及之后的签名参数,使用类似如下没有过期时间参数的URL访问即可。
    https://outin-ebdeeXXXXXX3e008181.oss-cn-shanghai.aliyuncs.com/1db42d58e9694bf681d838f0ed9e8a9b/d0a5a57cb830412ca133607e486c-ld.mp4

 

相关文档

若您不清楚需要使用视频点播还是对象存储OSS,可以参考视频点播和OSS两个产品之间的区别与联系

 

适用于

  • 视频点播