弹性转码器:重复输出键错误

时间:2015-09-29 23:24:50

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

在尝试使用PHP SDK推送转码作业时,最后一天我们开始遇到一个有趣的错误:

'Aws\ElasticTranscoder\Exception\ElasticTranscoderException' with message 'Error executing "CreateJob" on "https://elastictranscoder.us-east-1.amazonaws.com/2012-09-25/jobs"; AWS HTTP error: Client error: 400 ValidationException (client): Playlists '64k' is a duplicate of an output key. - {"message":"Playlists '64k' is a duplicate of an output key."}' in /var/www/html/app/1.0/vendor/aws/aws-sdk-php/src/WrappedHttpHandler.php:152

我们推送到Elastic Transcoder的设置:

        'PipelineId'      => $this->config['pipeline_id'],
        'OutputKeyPrefix' => "$prefix/",
        'Input'           => [
            'Key' => "uploads/$input_filename.$input_extension",
        ],
        'Playlists'       => [
            'OutputKeys' => [$bitrate],
            'Name'       => $bitrate,
            'Format'     => 'HLSv4',
        ],
        'Outputs'         => [
            'PresetId'        => $preset_id,
            'Key'             => $bitrate,
            'SegmentDuration' => '9.0',
        ],

其中$bitrate'64k',转码作业的(目标)最终结果会创建文件:64k.ts64k.m3u864k_v4.m3u8

我的第一个想法可能是S3键冲突,因为前缀已经存在,但即使在清除输出桶之后,错误仍然存​​在。据我所知,64k.ts64k.m3u8在S3中被视为不同的对象。

在这种情况下,重复的输出键是引用S3对象还是转码作业中的冲突?

更多信息: 将Playlists:Name更改为除比特率之外的任何内容$bitrate . '_v3',似乎可以防止出错。我仍然可以使用指定的前缀进入输出存储区,并将64k_v3.m3u8重命名为64k.m3u8,没有任何问题。在这种情况下,为什么Elastic Transcoder会阻止创建名为64k.m3u8

的播放列表

0 个答案:

没有答案