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>
查看此清单的详细信息:
数据包看起来像这样吗(我假设 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>
查看此清单的详细信息: