文档

CDN和视频点播中使用脚本刷新预热M3U8资源

更新时间:
一键部署

概述

本文主要介绍在使用CDN、视频点播时,通过脚本程序实现对M3U8资源刷新和预热的操作方法。该脚本程序可实现以下场景:

  • 对URL进行资源刷新和预热。
  • 对M3U8资源的TS文件进行刷新和预热。
  • 通过本地文件对URL进行批量刷新和预热。
  • 对URL进行目录刷新。

注意:CDN和视频点播对于刷新限制默认是每日2000条,预热限制默认是每日500条。

详细信息

以下是通过脚本程序实现对M3U8资源刷新和预热的准备工作、命令详解和常见报错。

准备工作

以下是准备工作:

  • 脚本程序由Java实现,建议使用JDK 1.7及以上的版本。
  • 下载jar脚本,下载后可直接使用。
  • jar所在目录需要有log文件存放运行日志。
  • 下载并解压源码Maven项目工程。

命令详解

基本概念

使用jar脚本的格式如下所示,其中[$Parameter]是您需要使用的参数。

java -jar refreshPush.jar [$Parameter]

以下是部分jar脚本命令的详细说明:

  • --help:jar脚本命令的帮助说明。
  • --product:支持的产品分类取值cdn或者是vod,必填。
  • --accessKeyId:用户的AccessKeyId信息,必填。
  • --accessKeySecret:用户的AccessKeySecrest信息,必填。
  • --source: 需要刷新或者预热的源,可以填URL地址或者文件路径,必填。
  • --type:填写url或者dir,代表对URL刷新或预热,如果是目录刷新则填写dir。
  • --action:填写push或者refresh,代表预热或者是刷新,默认为refresh。
  • --ts: 填写true或者false,true代表对M3U8资源的TS文件进行刷新和预热,默认为false。

对URL资源进行刷新

对URL资源进行刷新,请参考以下命令。

java -jar refreshPush.jar --product=[$Product] --accessKeyId=[$AccesskeyId] --accessKeySecret=[$AccessKeySecret] --source=[$URL]

说明

  • [$Product]:可填写cdn或者vod,代表CDN产品或者视频点播产品。
  • [$AccesskeyId]:您的AccesskeyId。
  • [$AccessKeySecret]:您的AccessKeySecret。
  • [$URL]:需要刷新的URL资源,例如https://example.com/shj/RTC/AliRTC-1.12-WebSample/index.html

对URL目录进行刷新

对URL目录进行刷新,请参考以下命令。

说明:目录刷新中URL必须以HTTPS或HTTP开头,并且以/结尾,例如https://example.com/shj/RTC/AliRTC-1.12-WebSample/

java -jar refreshPush.jar --product=[$Product] --accessKeyId=[$AccesskeyId] --accessKeySecret=[$AccessKeySecret] --source=[$URL] --type=dir --action=refresh

对URL资源进行预热

对URL资源进行预热,请参考以下命令。

说明:使用CDN时,仅能对URL资源进行预热,暂时不支持对URL目录进行预热。

java -jar refreshPush.jar --product=[$Product] --accessKeyId=[$AccesskeyId] --accessKeySecret=[$AccessKeySecret] --source=[$URL] --type=url --action=push

对URL进行批量刷新和预热

通过本地文件对URL进行批量刷新,请参考以下命令。

java -jar refreshPush.jar --product=[$Product] --accessKeyId=[$AccesskeyId] --accessKeySecret=[$AccessKeySecret] --source=[$File] --action=[$Action] --type=url

说明

  • [$File]:本地文件,文本中包含多个URL,每个URL间以换行符进行分割。
  • [$Action]:填写refresh为刷新操作,填写push为预热操作,若不填写该参数,则默认为刷新操作。

对M3U8资源的TS文件进行刷新和预热

对M3U8资源的TS文件进行刷新和预热,请参考以下命令。

java -jar refreshPush.jar --product=[$Product] --accessKeyId=[$AccesskeyId] --accessKeySecret=[$AccessKeySecret] --source=[$M3U8_URL] --action=[$Action] --ts=true

说明:[$M3U8_URL]为M3U8资源的URL地址。

常见报错

报错信息 报错内容
Specified access key is not found 使用的AccessKey错误

params error,please check or use --help

命令中使用的参数命令有误,请用--help参数查看命令使用说明

Specified Access Key Secret is not valid

使用的AccessKeySecret错误

url is not start with https or  http

URL没有以HTTPS或者HTTP开头

url is not start with https or  http,end with /

目录中URL要以HTTPS或者HTTP开头,同时以“/”结尾
Your preload attempts have exceeded the daily limit 预热达到了上限
Your refresh attempts have exceeded the daily limit 刷新达到了上限

适用于

  • CDN
  • 视频点播