【发布时间】:2019-12-27 05:05:58
【问题描述】:
我目前正在使用 DASH 播放媒体,但在播放 2 轨(视频和音频)媒体时遇到了问题。
现在我有一个像这样的破折号清单:
<?xml version='1.0' encoding='UTF-8'?>
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xx xx>
<Period id="0" start="PT0S">
<AdaptationSet segmentAlignment="true" mimeType="video/mp4" startWithSAP="1">
<SegmentTemplate initialization="videoInitialFragmentUrl" timescale="1000" startNumber="19" media="someTemplateUrl">
<SegmentTimeline>
<S t="37968" d="1994" />
<S d="2067" />
</SegmentTimeline>
</SegmentTemplate>
<Representation id="video" bandwidth="492421" width="1920" height="1080" frameRate="14.99" codecs="avc1.4d4028" scanType="progressive"/>
</AdaptationSet>
<AdaptationSet segmentAlignment="true" mimeType="audio/mp4" startWithSAP="1">
<SegmentTemplate initialization="audioInitialFragmentUrl" timescale="1000" startNumber="19" media="someTemplateUrl">
<SegmentTimeline>
<S t="37968" d="1994"/>
<S d="2067" />
</SegmentTimeline>
</SegmentTemplate>
<Representation id="audio" bandwidth="64633" audioSamplingRate="8000" codecs="alaw">
<AudioChannelConfiguration xx xx/>
</Representation>
</AdaptationSet>
</Period>
</MPD>
我通过以下步骤初始化 souceBuffer:
- 使用 mimeType "video/mp4; codecs= 创建一个 mediaSouce avc1.4d0020, mp4a.40.2"
- 创建一个 sourceBuffer 并将其添加到 mediaSource
- 从 audioInitialFragmentUrl 和 audioInitialFragmentUrl 中获取 ArrayBuffer,并将它们连接起来。
- 将缓冲区附加到 sourceBuffer
然后我收到错误“初始化段错过预期的 aac 轨道”,但我很确定缓冲区包含我从 audioInitialFragmentUrl 获取的音频部分。 关于原因的任何帮助?
【问题讨论】:
标签: javascript mpeg-dash media-source