You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS MediaConvert处理Safari录制视频报错1076,提示文件读取失败疑似截断

报错根因

你遇到的Demuxer: [ReadPacketData File read failed - end of file hit at length [13155941]. Is file truncated?]报错,核心是AWS MediaConvert对iOS浏览器录制的MP4封装兼容性不足,和本地MP4的差异点如下:

  • iOS端Safari/Chrome录制的MP4默认将moov元数据块放在文件尾部,而MediaConvert读取输入文件时会优先校验文件头部的元数据,找不到对应元数据就会判定文件被截断。本地导出的MP4一般默认将moov块放在头部,所以可以正常处理。
  • 部分iOS版本浏览器录制的MP4采用fMP4(碎片化MP4)封装结构,默认的MediaConvert输入配置未开启碎片化输入支持,导致解复用失败。

补充说明:AWS Elastic Transcoder默认兼容尾部moov块以及碎片化MP4输入,做了额外的兼容适配,所以处理相同文件不会触发报错。

解决方案

你可以任选以下一种方案修复:

  • 前端预处理录制文件:录制完成后,在前端调用FFmpeg.wasm执行命令ffmpeg -i 原录制文件.mp4 -movflags +faststart 输出文件.mp4,将moov块移到文件头部同时标准化封装结构,再上传到S3触发转码任务。
  • 修改MediaConvert任务配置:通过aws-sdk提交任务时,在Inputs参数对应的输入配置项中,将InputScanType设置为FRAGMENTED,开启碎片化输入兼容。
  • 服务端中转处理:如果前端修改成本较高,可以新增Lambda中转节点,给Lambda绑定FFmpeg层,收到S3文件上传事件后先标准化视频封装,再触发MediaConvert任务。
排查校验点

修改前可以先做以下校验排除其他问题:

  • 确认前端上传逻辑是在MediaRecorder的onstop事件完全触发后再执行上传,避免上传未完成的录制文件。
  • 下载触发报错的S3文件到本地,用普通播放器测试是否可以正常播放,排除文件上传截断问题。

内容的提问来源于stack exchange,提问作者Ravi Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 19:27:01