AWS SDK for .NET MediaConvert创建MP4容器任务验证失败求助
AWS MediaConvert容器配置错误解决思路
错误核心分析
错误提示/outputGroups/0/outputs/0/containerSettings: Should have at most 2 properties,本质是容器配置的属性数量或结构不符合API要求,结合你MP4、RAW报错但M3U8正常的情况,问题集中在特定容器的配置处理逻辑上。
具体解决步骤
1. 修复RAW容器配置
RAW容器不需要额外子配置,但部分SDK版本会默认生成空的RawSettings字段,导致属性数量超标。显式设置该字段为null即可:
ContainerSettings thumbnailsContainerSettings = new ContainerSettings() { Container = ContainerType.RAW, RawSettings = null };
2. 排查MP4容器配置问题
你的MP4代码看起来合规(Container+Mp4Settings两个属性),但可从以下方向排查:
- 升级AWS MediaConvert SDK到最新版本,旧版本可能存在序列化bug
- 简化
Mp4Settings,只保留必填项逐步测试,排除枚举值或字段异常:
ContainerSettings mp4ContainerSettings = new ContainerSettings() { Container = ContainerType.MP4, Mp4Settings = new Mp4Settings() { MoovPlacement = Mp4MoovPlacement.PROGRESSIVE_DOWNLOAD } };
- 查看SDK生成的请求JSON,确认
containerSettings下是否有多余属性(可通过SDK日志或抓包工具获取)
3. 对比M3U8配置的参考逻辑
M3U8配置成功说明基础流程没问题,可对照检查:
- 确认未给MP4/RAW容器误添加其他容器类型的配置字段
- 验证API权限是否对MP4/RAW容器有特殊限制(虽然概率极低)
4. 用纯API请求验证
如果SDK层面排查困难,可手动构造符合规范的JSON请求调用REST API测试:
- MP4容器正确JSON示例:
"containerSettings": { "container": "MP4", "mp4Settings": { "moovPlacement": "PROGRESSIVE_DOWNLOAD" } }
- RAW容器正确JSON示例:
"containerSettings": { "container": "RAW" }
若手动请求成功,说明SDK序列化逻辑存在问题,需调整SDK配置或升级版本。
内容的提问来源于stack exchange,提问作者jsagno
相关产品推荐
相关产品推荐

