Amazon Elastic Transcoder - 为输出返回错误添加持续时间


Amazon Elastic Transcoder - Adding duration to output returning error

我正在使用 AWS SDK PHP。

使用->createJob(一切都很好,但是当我添加

'Composition' => array(
                    'TimeSpan' => array(
                        'StartTime' => '00:00:00.000',
                        'Duration' => '00:00:02.000'
                    )
                )

到其中一个输出,我收到以下错误:

{"error":{"type":"Aws''ElasticTranscoder''Exception

''ElasticTranscoderException","message":"在意外的地方找到结构或映射的开头.","file":"/Applications/XAMPP/xamppfiles/htdocs/breves/vendor/aws/aws/sdk-php/src/Aws/Common/Exception/NamespaceExceptionFactory.php","line":91}}

我正在尝试剪切视频。

有什么难点吗?

亚马逊开发工具包 API 开发人员指南

找出答案:

它应该是一个"剪辑"数组,如下所示:

'Composition' => array(
array(
    'TimeSpan' => array(
        'StartTime' => '00:00:00.000',
        'Duration' => '00:00:02.000'
    )

就我而言,我只需要 1 个剪辑。

有关持续时间的更多信息,请参阅此处:(可选)剪辑开始时间 -(开始时间)您可以创建包含输入文件摘录的输出文件。剪辑开始时间指示输入文件中希望剪辑开始的位置。格式可以是 HH:mm:ss。SSS(最大值:23:59:59.999;SSS是千分之一秒)或SSSS。SSS(最大值:86399.999)。如果您未指定值,弹性转码器将从输入文件的开头开始。

可选)剪辑持续时间(持续时间)摘录剪辑的持续时间。格式可以是 HH:mm:ss。SSS(最大值:23:59:59.999;SSS是千分之一秒)或SSSS。SSS(最大值:86399.999)。如果未指定值,弹性转码器会将剪辑从剪辑开始时间剪辑到文件末尾。

如果您指定的值长于输入文件的持续时间,弹性转码器将从剪辑开始时间转码到文件末尾,并返回警告消息。

有关 AWS 转码器的详细信息,请单击此处

我正在发布一个答案,以添加更多信息

来解决此问题。

您可以使用 Amazon Elastic Transcoder 生成 内容,或 "剪辑",来自源媒体。

正如@jplozano在他的后续文章中提到的,每个源文件应该只有一个剪辑。以下是 Amazon Elastic Transcoder API 参考的摘录

"Composition":[
        {
           "TimeSpan":
              {
                 "StartTime":"starting place of the clip, in
                    HH:mm:ss.SSS or sssss.SSS",
                 "Duration":"duration of the clip, in HH:mm:ss.SSS
                    or sssss.SSS"
              }
        }

"合成"对象包含构成剪辑的设置 输出文件。目前,您只能指定 每个输出文件一个剪辑。组合对象不能为空。 播放列表中的所有作业必须具有相同的剪辑设置。