微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

具有非零重复计数的段列表的 Dash 播放器

如何解决具有非零重复计数的段列表的 Dash 播放器

  <Period programDateTime='2021-03-17T07:15:26.239Z' duration='PT1M04.078S'>
    <AdaptationSet contentType='video' mimeType='video/mp4' par='16:9' id='7'>
      <SegmentList timescale='90000' presentationTimeOffset='4327131510'>
        <SegmentTimeline>
          <!-- Doesn't work -->
          <S t='4327131510' d='2903310' r='1' />

<!--      Uncomment below and remove the above and manifest will work -->   
<!--      <S t='4327131510' d='2903310'/>-->
<!--      <S t='4330034820' d='2903310'/>-->
        </SegmentTimeline>
      </SegmentList>

      <Representation id='1280x720' codecs='avc1.4d0029' width='1280' height='720' bandwidth='100000'>
        <BaseURL>http://localhost:8000/downloaded/</BaseURL>
        <SegmentList>
          <Initialization sourceURL='1.m4v' />
          <SegmentURL media='1.m4v' />
          <SegmentURL media='2.m4v' />
        </SegmentList>
      </Representation>
    </AdaptationSet>
  </Period>

Dash 播放器开始播放清单,但它会跳过 2.m4v 并将视频的大小减小到第一个片段。但是,如果我删除重复计数字段并在 segmentTimeline 中明确指定每个段,则它可以正常工作。

此清单在 Shaka 播放器中也能正常工作。

解决方法

您的清单看起来不正确。我认为带有时间线的第一个片段列表不应该在那里。我会尝试:

<Period programDateTime='2021-03-17T07:15:26.239Z' duration='PT1M04.078S'>

  <AdaptationSet contentType='video' mimeType='video/mp4' par='16:9' id='7'>
  
    <Representation id='1280x720' codecs='avc1.4d0029' width='1280' height='720' bandwidth='100000'>
    
      <BaseURL>http://localhost:8000/downloaded/</BaseURL>
      
      <SegmentList timescale='90000' duration='2903310'>
      
        <Initialization sourceURL='1.m4v' />
        <SegmentURL media='1.m4v' />
        <SegmentURL media='2.m4v' />
        
      </SegmentList>
      
    </Representation>
    
  </AdaptationSet>
  
</Period>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。