7

HLS と MPEG Dash 間の変換を検討しています。元の完全に連結されたビデオ ファイルにはアクセスせず、個々の HLS セグメントのみにアクセスします。

この MPEG Dash への変換を行うには、Dash マニフェスト .mpd ファイルの初期化セグメントを指定する必要があります。

私の質問は次のとおりです。

  1. Dash ビデオ初期化セグメントの構造は何ですか?
  2. 元の完全なファイルを必要とせずに生成/作成するにはどうすればよいですか?

おそらく解決策にはMP4Box、「.ts」HLS セグメントを自己初期化するダッシュ「.m4s」セグメントに変換することが含まれますが、これについてどうすればよいかわかりませんか?

どんなアイデアでも大歓迎です。

どうもありがとう。

更新: 元の hls セグメントを使用してストリーミングするためのスニペット。ビデオは最後まで再生されますが、真っ黒です。

  <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>
4

1 に答える 1

8

Dash ビデオ初期化セグメントの構造は何ですか?

初期化セグメントには、ビデオ デコーダーの初期化に必要な情報が含まれています。初期化セグメントはオプションです (ISO/IEC 23009-1 を参照)。

ISO BMFF (一般に mp4 として知られている) の場合、これにはボックスmoov(ISO/IEC 14496-12 で指定) が含まれます。MPEG-TS の場合、通常、初期化セグメントはありません。存在する場合、 PESで初期化データを運ぶ複数のパケットが含まれます。

元の完全なファイルを必要とせずに生成/作成するにはどうすればよいですか?

ターゲット プレーヤーが必要な機能をサポートしている場合、変換HLSは簡単です。MPEG-DASHまず、MPEG-TS をサポートするプレーヤーが必要です。初期化データは各 HLS セグメント内に含まれているため、実際には初期化セグメントは必要ありません。HLS プレイリストを MPEG-DASH mpd に変換するには、segment listまたはsegment template. 次に例を示します。

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>
...

ターゲット プレーヤーが MPEG-TS をサポートしていない場合、またはSegmentListのような外部ツールを使用して HLS ストリームを MPEG-DASH に変換する必要がある場合MP4Box

于 2016-01-05T08:06:42.440 に答える