如何解决如何在 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 举报,一经查实,本站将立刻删除。