HLS 和 MPEG-DASH 是否存在于 HTTP 消息 body 中?

Does HLS and MPEG-DASH live in HTTP message body?

数据包看起来像这样吗(我假设 HLS 和 MPEG-DASH 以相同的方式适合 HTTP,如果错误请纠正我)

<HTTP HEADERS>
</HTTP HEADERS>
<HTTP BODY>
    <HLS HEADERS>
    </HLS HEADERS>
    <HLS BODY>
    </HLS BODY>
</HTTP BODY>

或者 headers 是否像这样包含在 HTTP headers 中?

<HTTP WITH HLS HEADERS>
</HTTP WITH HLSHEADERS>
<HTTP BODY>
    <HLS PAYLOAD>
    </HLS PAYLOAD>
</HTTP BODY>

我不确定我是否完全清楚你的问题,但希望对 HLS 和 DASH 结构的解释会有所帮助。

HLS 和 DASH 都提供索引或清单文件,其中包含有关视频或媒体流的音频、视频、字幕等流的信息。

播放器查看索引文件,它本质上只是一个 XML 文件,并使用 URL 用于媒体流下载然后播放媒体 - URL 可以是绝对的或相对于基数 URL.

视频流的信息通常包括每个视频片段的不同比特率流。这允许播放器从最适合设备和当前网络条件的相关流中 select 下一个片段。

实际的视频和音频流本身通常是一个碎片化的结构——要么基于 TS(MPEG 传输流),要么是一种碎片化的 MP4 (fMP4)。

有很多示例 DASH 清单文件可用,包括撰写本文时来自 Mozilla 站点的这个文件:

<?xml version="1.0" encoding="UTF-8"?>
<MPD xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns="urn:mpeg:dash:schema:mpd:2011"
  xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd"
  type="static"
  mediaPresentationDuration="PT654S"
  minBufferTime="PT2S"
  profiles="urn:mpeg:dash:profile:isoff-on-demand:2011">

  <BaseURL>http://example.com/ondemand/</BaseURL>
  <Period>
    <!-- English Audio -->
    <AdaptationSet mimeType="audio/mp4" codecs="mp4a.40.5" lang="en" subsegmentAlignment="true" subsegmentStartsWithSAP="1">
      <Representation id="1" bandwidth="64000">
        <BaseURL>ElephantsDream_AAC48K_064.mp4.dash</BaseURL>
      </Representation>
    </AdaptationSet>
    <!-- Video -->
    <AdaptationSet mimeType="video/mp4" codecs="avc1.42401E" subsegmentAlignment="true" subsegmentStartsWithSAP="1">
      <Representation id="2" bandwidth="100000" width="480" height="360">
        <BaseURL>ElephantsDream_H264BPL30_0100.264.dash</BaseURL>
      </Representation>
      <Representation id="3" bandwidth="175000" width="480" height="360">
        <BaseURL>ElephantsDream_H264BPL30_0175.264.dash</BaseURL>
      </Representation>
      <Representation id="4" bandwidth="250000" width="480" height="360">
        <BaseURL>ElephantsDream_H264BPL30_0250.264.dash</BaseURL>
      </Representation>
      <Representation id="5" bandwidth="500000" width="480" height="360">
        <BaseURL>ElephantsDream_H264BPL30_0500.264.dash</BaseURL>
      </Representation>
    </AdaptationSet>
  </Period>
</MPD>

(https://developer.mozilla.org/en-US/docs/Web/Apps/Fundamentals/Audio_and_video_delivery/Setting_up_adaptive_streaming_media_sources#MPEG-DASH_Encoding )

查看此清单的详细信息: