Create MPEG-DASH Initialization segment

后端 未结 1 1179
不思量自难忘°
不思量自难忘° 2021-01-02 16:42

I am looking to convert between HLS and MPEG Dash. I do not access to the original fully concatenated video file, only the individual HLS segments.

In doing this t

相关标签:
1条回答
  • 2021-01-02 17:18

    What is the structure of a Dash video initialization segment?

    The initialization segment contains information required to initialize the video decoder. The initialization segment is optional (refer to ISO/IEC 23009-1).

    For ISO BMFF (commonly known as mp4) this includes the moov box (specified in ISO/IEC 14496-12). For MPEG-TS usually there is no initialization segment. When present it contains several packets that carry the initialization data in a PES.

    How can I generate/create one without the need for the original full file?

    Converting HLS to MPEG-DASH is trivial if your target player supports the required features. First you need a player that supports MPEG-TS. Then you don't actually need an initialization segment because the initialization data is contained inside each HLS segment. To convert and HLS playlist to a MPEG-DASH mpd you have to create a segment list or a segment template. Here is an example:

    HLS:

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

    ...
    <SegmentList duration="10">
       <SegmentURL media="stream0.ts"/>
       <SegmentURL media="stream1.ts"/>
       <SegmentURL media="stream2.ts"/>
    </SegmentList>
    ...
    

    If your target player does not support MPEG-TS or SegmentList then you have to convert the HLS stream to MPEG-DASH by the use of some external tool like MP4Box.

    0 讨论(0)
提交回复
热议问题