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

MediaComposition视频渲染生成MP4文件无法被播放器识别问题求助

代码问题排查点
  • 核心对象未实例化
    你的代码里两个核心对象只做了声明没有初始化,会导致空引用异常,渲染流程直接中断,生成的是空的损坏文件:
    • MediaComposition mediaComposition; 只声明未实例化,需要改为 MediaComposition mediaComposition = new MediaComposition();
    • mediaOverlayLayer 变量未做实例化就直接调用Overlays.Add方法,你需要在循环生成overlay之前添加mediaOverlayLayer = new MediaOverlayLayer();完成初始化
  • 未设置合成视频的基础分辨率
    MediaComposition默认没有指定渲染分辨率,会导致生成的视频流参数无效,播放器无法识别。初始化之后需要手动设置宽高:
mediaComposition.CompositeRenderWidth = 1920;
mediaComposition.CompositeRenderHeight = 1080;
  • 未校验渲染结果
    RenderToFileAsync方法会返回MediaCompositionRenderStatus枚举标识渲染结果,你当前没有做校验,无法判断是否发生了编码失败、权限不足等问题,建议修改为:
var renderResult = await mediaComposition.RenderToFileAsync(file, MediaTrimmingPreference.Precise, MediaEncodingProfile.CreateMp4(VideoEncodingQuality.HD1080p));
if (renderResult != MediaCompositionRenderStatus.Success)
{
    // 这里可以添加错误提示逻辑,方便定位问题
}
  • 补充说明
    你当前生成的单段clip时长为90秒,叠加的10个overlay时长也都是90秒,总时长符合规范不会出现时间轴错乱的问题,把上述三个问题修复后即可正常生成可播放的MP4文件。

内容的提问来源于stack exchange,提问作者Jose Afonso Braga

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 03:21:04