将缓存控制元数据添加到 AWS Elastic Transcoder 输出

Add Cache-Control Metadata to AWS Elastic Transcoder Output

我目前正在将视频上传到 S3 存储桶,然后使用 AWS Elastic Transcoder 创建 webm 文件并输出缩略图。所有这些都有效,除了我无法在 ET 文件上设置任何元数据。

我正在尝试将缓存控制添加到 webm 和缩略图,但我无法在允许它的 PHP SDK 中找到任何地方。

我知道我可以做一个 S3 copyObject 并以这种方式添加元数据,但它看起来很麻烦。

下面是我创建 ET 作业的代码。

$result = $client->createJob(array(
    'PipelineId' => 'my-pipeline-id',
    'Input' => array(
        'Key' => $mp4Name,
        'FrameRate' => 'auto',
        'Resolution' => 'auto',
        'AspectRatio' => '16:9',
        'Interlaced' => 'auto',
        'Container' => 'mp4',
    ),
    'Outputs' => array(
        array(
            'Key' => $awsOutWebm,
            'ThumbnailPattern' => $thumbOut,
            'Rotate' => '0',
            'PresetId' => 'my-preset-id',
            'Watermarks' => array(
                array(
                    'PresetWatermarkId' => 'BottomRight',
                    'InputKey' => 'logo.png',
                ),
            ),
        ),
    ),
));

据我所知,没有办法告诉 Elastic Transcoder 您要为输出 objects.

设置什么 headers

我能想到的实现您正在寻找的目标的一种简单方法是使用 Lambda 函数。您可以在每次成功转码(使用 SNS 通知)时将其配置为 运行,并在输出 objects.

上设置 headers