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

AWS MediaConvert生成的DASH MPD文件在Android Exoplayer无音频问题

ExoPlayer播放AWS MediaConvert生成的DASH流无音频的核心差异点

核心差异点

  • 音频编码格式差异:你生成的MPD中音频编码为mp4a.40.5(即HE-AAC v1),可正常播放的参考MPD音频编码为mp4a.40.2(即LC-AAC)。ExoPlayer 2.15.1版本对SegmentBase单文件封装的HE-AAC流适配存在缺陷,部分安卓设备的硬件解码器也默认不兼容该封装格式的HE-AAC,会直接跳过音频轨加载。
  • 音频AdaptationSet配置错误:你的音频AdaptationSet中segmentAlignment属性值为0(即不启用段对齐),且未添加startWithSAP="1"属性,参考MPD对应属性为segmentAlignment="true"且明确标注了随机接入点配置。ExoPlayer解析非对齐、无随机接入点标记的音频段时,会判定音频轨不可用,不进行加载。
  • 缺少音频声道配置字段:参考MPD的音频Representation节点下明确配置了<AudioChannelConfiguration>标签标注声道数,你的MPD中完全缺失该字段。ExoPlayer 2.15.1的DASH解析器解析urn:mpeg:dash:profile:isoff-main:2011 profile的静态MPD时,无此字段会无法识别音频声道参数,直接忽略音频轨。
  • 音频轨分设独立AdaptationSet:你将96kbps、64kbps两个码率的音频放在两个独立的AdaptationSet中,且二者语言参数均为eng。ExoPlayer 2.15.1的轨选择逻辑存在已知bug,面对同语言多独立音频AdaptationSet时会默认不选择任何音频轨,正确的做法是将同语言多码率音频Representation放在同一个AdaptationSet节点下。

快速验证方案

你可以先手动修改本地MPD文件测试:将两个音频Representation合并到同一个AdaptationSet,补充segmentAlignment="true" startWithSAP="1"属性到AdaptationSet节点,给每个音频Representation节点添加<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>,修改后如果可以正常输出音频,再对应调整MediaConvert的输出配置即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 09:57:01