首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建MPEG-DASH初始化段

创建MPEG-DASH初始化段
EN

Stack Overflow用户
提问于 2016-01-04 16:01:05
回答 1查看 11.6K关注 0票数 7

我希望在HLS和MPEG Dash之间转换。我不访问原始完全连接的视频文件,只有个别的HLS段。

在对MPEG Dash进行此转换时,我需要为Dash清单.mpd文件提供一个初始化段。

我的问题是:

  1. Dash视频初始化段的结构是什么?
  2. 如何在不需要原始完整文件的情况下生成/创建一个?

可能有一种解决方案是让MP4Box 将“.ts”HLS段转换为正在进行自初始化的Dash '.m4s‘段,但我不确定如何实现这一点?

任何想法都是非常感谢的。

非常感谢。

更新:使用原始的hls段进行流的片段。视频一直播放,但只是黑色。。

代码语言:javascript
复制
  <Representation width="426" height="238" frameRate="25" id="238p 400kbps" bandwidth="400000">
    <SegmentList timescale="25000" duration="112500">
           <SegmentURL media="video_0_400000/hls/segment_0.ts"/>
           <SegmentURL media="video_0_400000/hls/segment_1.ts"/>
          <SegmentURL media="video_0_400000/hls/segment_2.ts"/>
    </SegmentList>
   </Representation>
</AdaptationSet>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-05 08:06:42

Dash视频初始化段的结构是什么?

初始化段包含初始化视频解码器所需的信息。初始化段是可选的(请参阅ISO/IEC 23009-1)。

对于ISO BMFF (通常称为mp4),这包括moov盒(在ISO/IEC14496-12中指定)。对于MPEG-TS,通常没有初始化段。当出现时,它包含几个在帕斯中携带初始化数据的数据包。

如何在不需要原始完整文件的情况下生成/创建一个?

如果目标播放器支持所需的特性,则将HLS转换为MPEG-DASH非常简单。首先,你需要一个支持MPEG-TS的播放器。然后,您实际上不需要初始化段,因为初始化数据包含在每个HLS段中。要将和HLS播放列表转换为MPEG-破折号mpd,必须创建一个segment listsegment template。下面是一个示例:

HLS:

代码语言:javascript
复制
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXTINF:10.0,
stream0.ts
#EXTINF:10.0,
stream1.ts
#EXTINF:10.0,
stream2.ts

MPD:

代码语言:javascript
复制
...
<SegmentList duration="10">
   <SegmentURL media="stream0.ts"/>
   <SegmentURL media="stream1.ts"/>
   <SegmentURL media="stream2.ts"/>
</SegmentList>
...

如果您的目标播放器不支持MPEG-TS或SegmentList,那么您必须使用一些外部工具(如MP4Box )将HLS流转换为MPEG-破折号。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34595036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档