本文提供了媒体处理PHP SDK创建HLS标准加密工作流的API调用示例。

前提条件

使用前请先安装及完成PHP SDK相关配置,详细信息,请参见前言。更多SDK及API调用示例,请参见OpenAPI

创建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));