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

时间:2016-02-11 16:38:25

标签: php amazon-web-services amazon-s3 amazon-elastic-transcoder

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

我正在尝试将Cache-Control添加到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',
                ),
            ),
        ),
    ),
));

1 个答案:

答案 0 :(得分:0)

据我所知,没有办法告诉Elastic Transcoder你想要设置为输出对象的标题。

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