本文提供了媒体处理PHP SDK创建HLS标准加密工作流的API调用示例。
前提条件
创建HLS标准加密工作流
调用AddMediaWorkflow创建媒体工作流,HLS加密参数可根据您的实际业务需要自行配置,接口参数和返回字段详细信息请参见新增媒体工作流,调用示例如下:
<?php
// This file is auto-generated, don't edit it. Thanks.
namespace AlibabaCloud\SDK\Sample;
use AlibabaCloud\SDK\Mts\V20140618\Mts;
use Darabonba\OpenApi\Models\Config;
use AlibabaCloud\SDK\Mts\V20140618\Models\AddMediaWorkflowRequest;
class Sample {
/**
* 使用AK&SK初始化账号Client
* @param string $accessKeyId
* @param string $accessKeySecret
* @return Mts Client
*/
public static function createClient($accessKeyId, $accessKeySecret){
$config = new Config([
// 您的AccessKey ID
"accessKeyId" => $accessKeyId,
// 您的AccessKey Secret
"accessKeySecret" => $accessKeySecret
]);
// 访问的域名
$config->endpoint = "mts.cn-shanghai.aliyuncs.com";
return new Mts($config);
}
/**
* @param string[] $args
* @return void
*/
public static function main($args){
$client = self::createClient("accessKeyId", "accessKeySecret");
$addMediaWorkflowRequest = new AddMediaWorkflowRequest([
//工作流名称
"name" => "HLS加密工作流",
//工作流拓扑结构
"topology" => "{\"Activities\":{\"Act-Report\":{\"Type\":\"Report\",\"Parameters\":{},\"Name\":\"Act-Report\"},\"Act-HLS-Encryption\":{\"Type\":\"Transcode\",\"Parameters\":{\"OutputBucket\":\"<OutputBucket>\",\"Outputs\":[{\"ObjectRegex\":\"Act-HLS-Encryption/{RunId}/{FileName}\",\"Encryption\":{\"Type\":\"hls-aes-128\",\"KeyUri\":\"<解密密钥的URI>\"},\"TemplateId\":\"S00000001-100020\"}],\"OutputLocation\":\"<OssLocation>\"},\"Name\":\"Act-HLS-Encryption\"},\"Act-Start\":{\"Type\":\"Start\",\"Parameters\":{\"PipelineId\":\"<PipelineId>\",\"InputFile\":{\"Bucket\":\"<InputBucket>\",\"ObjectPrefix\":\"<InputPath>\",\"Location\":\"<OssLocation>\"}},\"Name\":\"Act-Start\"}},\"Dependencies\":{\"Act-Report\":[],\"Act-HLS-Encryption\":[\"Act-Report\"],\"Act-Start\":[\"Act-HLS-Encryption\"]}}"
]);
$client->addMediaWorkflow($addMediaWorkflowRequest);
}
}
$path = __DIR__ . \DIRECTORY_SEPARATOR . '..' . \DIRECTORY_SEPARATOR . 'vendor' . \DIRECTORY_SEPARATOR . 'autoload.php';
if (file_exists($path)) {
require_once $path;
}
Sample::main(array_slice($argv, 1));