我正在使用 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"
}
}
"合成"对象包含构成剪辑的设置 输出文件。目前,您只能指定 每个输出文件一个剪辑。组合对象不能为空。 播放列表中的所有作业必须具有相同的剪辑设置。