MediaConvert将视频拆分为多个块,但持续时间长度不同

问题描述

我有一部录像带1小时的时间。

我想按指定范围将不同部分分成块。

例如:

  1. 0到10分钟
  2. 10至40分钟
  3. 40至60分钟

我知道ffmpeg可以实现,但是我想通过 MediaConvert 来做到这一点。

这是ffmpeg的示例,但我想使用 MediaConvert

做同样的事情
ffmpeg -i input.mp4 -c copy -f segment -segment_times 0,600,2400 output%d.mp4

解决方法

您可以通过使用MediaConvert中的输入剪辑来完成此操作。您需要创建多个作业才能获得所需的输入限幅范围和输出。

在作业设置中,输入块如下所示。

工作1

"Inputs": [
      {
        "AudioSelectors": {
          "Audio Selector 1": {
            "Offset": 0,"DefaultSelection": "DEFAULT","ProgramSelection": 1
          }
        },"VideoSelector": {
          "ColorSpace": "FOLLOW","Rotate": "DEGREE_0","AlphaBehavior": "DISCARD"
        },"FilterEnable": "AUTO","PsiControl": "USE_PSI","FilterStrength": 0,"DeblockFilter": "DISABLED","DenoiseFilter": "DISABLED","InputScanType": "AUTO","TimecodeSource": "ZEROBASED","FileInput": "s3://bucket/media.mp4","InputClippings": [
          {
            "StartTimecode": "00:00:00:00","EndTimecode": "00:10:00:00"
          }
        ]
      }
    ]

工作2

    "Inputs": [
      {
        "AudioSelectors": {
          "Audio Selector 1": {
            "Offset": 0,"InputClippings": [
          {
            "StartTimecode": "00:10:00:00","EndTimecode": "00:40:00:00"
          }
        ]
      }
    ]

工作3

    "Inputs": [
      {
        "AudioSelectors": {
          "Audio Selector 1": {
            "Offset": 0,"InputClippings": [
          {
            "StartTimecode": "00:40:00:00","EndTimecode": "01:00:00:00"
          }
        ]
      }
    ]

这里要注意的是,裁剪区域是基于输入源上的时间码的。在我的示例中,我将时间码源设置为从零开始,这意味着服务将时间码从0开始并打勾。您确实可以选择指定开始时间码或在文件上使用嵌入式时间码。

请注意,时间代码必须采用SMPTE语法(HOURS:MINUTES:SECONDS:FRAMES)[2]

==文档==

[1] https://docs.aws.amazon.com/mediaconvert/latest/ug/assembling-multiple-inputs-and-input-clips.html

[2] https://en.wikipedia.org/wiki/SMPTE_timecode

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...