微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 AWS Elemental MediaConvert 上转码带有 SRT 字幕的 MP4 视频

如何解决如何在 AWS Elemental MediaConvert 上转码带有 SRT 字幕的 MP4 视频

我有一个带 SRT 字幕的 MP4 视频,我需要使用媒体转换器对它们进行转码。在媒体转换中,我设置了自动 ABR 并指定了 SRT 原始路径。

目前,我已经测试了以下内容

对于第一次测试,作业成功完成,但在 S3 存储桶上没有任何 .SRT 文件。对于第二个测试,作业失败并显示“选项目标类型 [SRT] 需要原始多路复用器”。留言

这是我第一次测试的 JSON

{
  "Queue": "arn:aws:mediaconvert:us-east-1:{{ACCOUNT-NUMBER}}:queues/Default","UserMetadata": {},"Role": "arn:aws:iam::{{ACCOUNT-NUMBER}}:role/{{MY-ROLE-NAME}}","Settings": {
    "TimecodeConfig": {
      "Source": "ZEROBASED"
    },"OutputGroups": [
      {
        "Name": "DASH ISO","Outputs": [
          {
            "ContainerSettings": {
              "Container": "MPD"
            },"VideoDescription": {
              "ScalingBehavior": "DEFAULT","TimecodeInsertion": "disABLED","AntiAlias": "ENABLED","Sharpness": 50,"CodecSettings": {
                "Codec": "H_264","H264Settings": {
                  "InterlaceMode": "PROGRESSIVE","ScanTypeConversionMode": "INTERLACED","NumberReferenceFrames": 3,"Syntax": "DEFAULT","Softness": 0,"GopClosedCadence": 1,"GopSize": 90,"Slices": 1,"GopBReference": "disABLED","SlowPal": "disABLED","EntropyEncoding": "CABAC","FramerateControl": "INITIALIZE_FROM_SOURCE","RateControlMode": "QVBR","CodecProfile": "MAIN","Telecine": "NONE","MinIInterval": 0,"AdaptiveQuantization": "AUTO","CodecLevel": "AUTO","FieldEncoding": "PAFF","SceneChangeDetect": "ENABLED","QualityTuningLevel": "MULTI_PASS_HQ","FramerateConversionAlgorithm": "DUPLICATE_DROP","UnregisteredSeiTimecode": "disABLED","GopSizeUnits": "FRAMES","ParControl": "INITIALIZE_FROM_SOURCE","NumberBFramesBetweenReferenceFrames": 2,"RepeatPps": "disABLED","DynamicSubGop": "STATIC"
                }
              },"AfdSignaling": "NONE","DropFrameTimecode": "ENABLED","RespondToAfd": "NONE","ColorMetadata": "INSERT"
            },"AudioDescriptions": [
              {
                "AudioTypeControl": "FOLLOW_INPUT","AudioSourceName": "Audio Selector 1","CodecSettings": {
                  "Codec": "AAC","AacSettings": {
                    "AudioDescriptionbroadcasterMix": "norMAL","Bitrate": 96000,"RateControlMode": "CBR","CodecProfile": "LC","CodingMode": "CODING_MODE_2_0","RawFormat": "NONE","SampleRate": 48000,"Specification": "MPEG4"
                  }
                },"StreamName": "latino","LanguageCodeControl": "FOLLOW_INPUT","LanguageCode": "SPA"
              }
            ]
          },{
            "ContainerSettings": {
              "Container": "MPD"
            },"CaptionDescriptions": [
              {
                "CaptionSelectorName": "Captions Selector 1","DestinationSettings": {
                  "DestinationType": "SRT"
                },"LanguageCode": "SPA","LanguageDescription": "latino"
              }
            ]
          }
        ],"OutputGroupSettings": {
          "Type": "DASH_ISO_GROUP_SETTINGS","DashIsoGroupSettings": {
            "SegmentLength": 30,"MinFinalSegmentLength": 0,"Destination": "s3://{{BUCKET-NAME}}/streaming15/dash-iso/","FragmentLength": 2,"SegmentControl": "SINGLE_FILE","MpdProfile": "ON_DEMAND_PROFILE","HbbtvCompliance": "NONE"
          }
        },"AutomatedEncodingSettings": {
          "AbrSettings": {
            "MaxAbrBitrate": 8000000,"MinAbrBitrate": 600000
          }
        }
      }
    ],"AdAvailOffset": 0,"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","CaptionSelectors": {
          "Captions Selector 1": {
            "SourceSettings": {
              "SourceType": "SRT","FileSourceSettings": {
                "SourceFile": "s3://{{BUCKET-NAME}}/PROMO_CAP_01.srt"
              }
            }
          }
        },"FileInput": "s3://{{BUCKET-NAME}}/PROMO_CAP_01.mp4"
      }
    ]
  },"accelerationSettings": {
    "Mode": "disABLED"
  },"StatusUpdateInterval": "SECONDS_60","Priority": 0
}

我缺少什么?

解决方法

根据 AWS Elemental MediaConvert 用户指南,当输入字幕类型为 SRT 时,DASH-ISO 输出组不支持 SRT 输出。

这是该指南的链接(参考第 176 页): https://docs.aws.amazon.com/mediaconvert/latest/ug/mediaconvert-guide.pdf

DASH-ISO 中 SRT 输入支持的字幕输出为:

  • 燃烧
  • IMSC(作为 sidecar .fmp4)
  • IMSC(作为 sidecar .xml)
  • TTML(作为 sidecar .fmp4)
  • TTML(作为 sidecar .ttml)

此外,文档中存在空白。支持 SRT->DASH-ISO+WebVTT,即使它没有列出。文档将得到更正,但我想与您分享,以防万一。

如果您必须将 SRT 发送到输出目的地,那么您可以创建一个单独的输出组,其中字幕位于没有容器的轨道中(请参阅文档中的第 192-196 页)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。