当前位置: 首页 > 知识库问答 >
问题:

“初始化段未命中预期的aac轨迹。”甚至音频初始段也被附加

葛和志
2023-03-14

我目前正在使用DASH播放媒体,在播放双声道(视频)时遇到问题

现在我有一个破折号清单如下:

<?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:

  1. 使用mimeType“video/mp4;codecs=avc1.4d0020,mp4a.40.2”创建mediaSouce
  2. 创建sourceBuffer并将其添加到mediaSource
  3. 从audioInitialFragmentUrl获取ArrayBuffer

然后我得到了错误“初始化段未命中预期的aac曲目”,但我非常确定缓冲区包含我从audioInitialFragmentUrl获取的音频部分。有什么原因吗?

共有1个答案

洪成济
2023-03-14

为多路复用内容创建的单个SourceBuffer需要一个包含两个曲目初始化信息的初始化段-您有两个初始化段,每个初始化段都有一个曲目,因此会出现此错误。

您需要有单独的SourceBuffers-每个适配集一个。

 类似资料:
  • 我用以下方式拍摄了我的Tello无人机摄像头镜头: 我正在使用MediaSource和SourceBuffer API在浏览器的一个元素中播放视频。我用一个webm格式的视频成功地做到了这一点,所以我知道我的传输管道很好。 当查看Chrome浏览器中的媒体内部日志时,我注意到以下错误: 我怎样才能解决这个问题并让视频播放?

  • 我使用FFMPEG-segment对桌面上的视频捕获进行分段,并通过网络发送它们,以便提供给客户,并使用dash.js播放。问题是播放器正在搜索初始化段,而我似乎不知道如何创建它。 我使用以下ffmpeg命令创建段: 我为流创建的清单如下所示: 播放机调试模式打印以下内容: 如何为生成的段创建初始化段?我似乎无法让它起作用。

  • 问题内容: 我在Go中有一个函数,如下所示: 我想用参数(“ Bob”,“ New York”,“ Builder”,30、1000)调用此函数,但我想在调用函数时使用字段名称。但是,以下技术均无效(它们会引发“未解决的参考错误”): 应该如何正确完成?我在初始化结构时使用字段名称没有问题,但是对于函数来说,似乎缺少了一些东西。 问题答案: 该规范不允许你调用函数时指定参数名称。您只能列出希望作为

  • 当变量只在OnCreate中声明时,为什么我的片段不进入onCreateView?

  • 我希望转换之间的HLS和MPEG破折号。我不能访问原始的完全串联的视频文件,只有个别的HLS段。 在进行到MPEG破折号的转换时,我需要为破折号manifest.mpd文件提供一个初始化段。 我的问题是: null 非常感谢。 更新:使用原始hls段的流代码段。视频一直在播放,但只是黑色的。

  • 我正在开发我的第一个 Swing 应用程序,现在提出了一个难题:在静态初始化期间或开始实际执行后执行引导和资源初始化。我是什么意思...我有单例: 因此,方法如下所示 或者,也许我在启动后手动初始化资源,然后运行它。逻辑上正确的方式是什么?