amazon-web-services - AWS Elemental MediaConvert:不支持 mov 文件
问题描述
我想使用 AWS Elemental MediaConvert 在另一部电影 (.mp4) 上叠加一部电影 (.mov)。
我上传了一个 .mov 文件和一个 .mp4 到 S3,两者的尺寸相似。
在 AWS Elemental MediaConvert 中,我创建了一个作业:
- 输入:.mp4 文件
- 动态图像插入器:.mov 文件
- 输出文件将是一个 mp4 文件
结果:作业失败,错误消息:
MGILoaderMOV [s3://test/overlay.mov] file contains unsupported pixel format.
.mov 文件运行良好,因为我可以在笔记本电脑上播放它,IAM 包括对您的 Amazon S3 资源的完全访问权限。
任何建议表示赞赏
***** 更多详情 *****
@Tiziano Coroneo,我得到了一个新的 overlay.mov(从 FFmpeg 转换而来,尺寸(450x450))。我将输出设置如下:
- 预处理器:输入裁剪矩形 X(100)、Y(100)、Width(450)、Height(450)
作业已成功执行,但输出不包括覆盖。
{
"Queue": "arn:aws:mediaconvert:yyyyyyy:xxxxxxxx:queues/Default",
"UserMetadata": {},
"Role": "arn:aws:iam::xxxxxxxxxxxxx:role/my_media_role",
"Settings": {
"OutputGroups": [
{
"Name": "File Group",
"Outputs": [
{
"ContainerSettings": {
"Container": "MP4",
"Mp4Settings": {
"CslgAtom": "INCLUDE",
"FreeSpaceBox": "EXCLUDE",
"MoovPlacement": "PROGRESSIVE_DOWNLOAD"
}
},
"VideoDescription": {
"ScalingBehavior": "DEFAULT",
"Crop": {
"Height": 450,
"Width": 450,
"X": 100,
"Y": 100
},
"TimecodeInsertion": "DISABLED",
"AntiAlias": "ENABLED",
"Sharpness": 50,
"CodecSettings": {
"Codec": "H_264",
"H264Settings": {
"InterlaceMode": "PROGRESSIVE",
"NumberReferenceFrames": 3,
"Syntax": "DEFAULT",
"Softness": 0,
"GopClosedCadence": 1,
"GopSize": 90,
"Slices": 1,
"GopBReference": "DISABLED",
"SlowPal": "DISABLED",
"SpatialAdaptiveQuantization": "ENABLED",
"TemporalAdaptiveQuantization": "ENABLED",
"FlickerAdaptiveQuantization": "DISABLED",
"EntropyEncoding": "CABAC",
"Bitrate": 1000000,
"FramerateControl": "INITIALIZE_FROM_SOURCE",
"RateControlMode": "CBR",
"CodecProfile": "MAIN",
"Telecine": "NONE",
"MinIInterval": 0,
"AdaptiveQuantization": "HIGH",
"CodecLevel": "AUTO",
"FieldEncoding": "PAFF",
"SceneChangeDetect": "ENABLED",
"QualityTuningLevel": "SINGLE_PASS",
"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"
},
"Extension": ".mp4",
"NameModifier": "overlay_video"
}
],
"OutputGroupSettings": {
"Type": "FILE_GROUP_SETTINGS",
"FileGroupSettings": {
"Destination": "s3://XXXXXXX/files/"
}
}
}
],
"AdAvailOffset": 0,
"MotionImageInserter": {
"InsertionMode": "MOV",
"Input": "s3://XXXXXXX/converted_overlay.mov",
"Offset": {
"ImageX": 0,
"ImageY": 0
},
"Playback": "ONCE"
},
"Inputs": [
{
"FilterEnable": "AUTO",
"PsiControl": "USE_PSI",
"FilterStrength": 0,
"DeblockFilter": "DISABLED",
"DenoiseFilter": "DISABLED",
"TimecodeSource": "EMBEDDED",
"FileInput": "s3://XXXXXXX/sample_video.mp4"
}
]
},
"StatusUpdateInterval": "SECONDS_60"
}
解决方案
经过反复试验,我发现动态图形叠加文件需要为像素格式argb
。
此处的错误消息告诉您 mov 文件具有不同的像素格式。如果您已ffmpeg
在您的机器上安装,您可以运行以下命令将文件转换为正确的格式:
ffmpeg -i your_input_file.mov -sn -dn -an -vcodec qtrle -pix_fmt argb -f mov your_output_file.mov
-i
是指定输入文件,-sn
删除任何字幕轨道-dn
删除任何数据轨道-an
删除任何音轨-vcodec qtrle
将“Quicktime Animation”设置为编解码器-pix_fmt argb
设置argb
为像素数据格式-f mov
设置mov
为输出文件容器类型。
祝你好运!
推荐阅读
- microsoft-dynamics - Dynamics Business Central 中是否有自定义(word)报告数据集中的字段概览
- pentaho - Pentaho commandline nullpointer exception
- sql - 如何解决 cx_Oracle.DatabaseError: DPI-1043: invalid number 错误?
- java - 如何在 Spring 中将资源类型从 ServletContextResource 更改为 FileSystemResource
- db2 - 将 DB2 10.5 FixPackge 10 恢复到 DB2 11.5 失败
- reactjs - 使用 Redux Dispatch 时如何返回多个值?
- python - 之后提取双引号中的字符串和base64数据
- neo4j - 如何获取子图中不相交的集群的计数
- python - 枕头(PIL Fork):使用带有自定义字体的 ImageFont/ImageDraw 方法时出错
- python - Django 本地主机连接中止