“初始化段错过了预期的 aac 轨道。”甚至附加了音频初始段
Posted
技术标签:
【中文标题】“初始化段错过了预期的 aac 轨道。”甚至附加了音频初始段【英文标题】:"Initialization segment misses expected aac track." even audio initial segment is appended 【发布时间】: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" band 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" band 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 获取的音频部分。 关于原因的任何帮助?
【问题讨论】:
【参考方案1】:为多路复用内容创建的单个 SourceBuffer 需要一个包含两个轨道的初始化信息的初始化段 - 您有两个初始化段,每个段都有一个轨道,因此您会收到此错误。
您需要有单独的 SourceBuffers - 每个适配集一个。
【讨论】:
以上是关于“初始化段错过了预期的 aac 轨道。”甚至附加了音频初始段的主要内容,如果未能解决你的问题,请参考以下文章
使用相同的变量附加python列表会导致在所有列表位置注册变量的新更改[重复]