数据包看起来像这样吗(我假设HLS和MPEG-DASH以相同的方式适合HTTP,如果有错,请纠正我)
<HTTP HEADERS>
</HTTP HEADERS>
<HTTP BODY>
<HLS HEADERS>
</HLS HEADERS>
<HLS BODY>
</HLS BODY>
</HTTP BODY>
或者这样的标头包含在HTTP标头中?
<HTTP WITH HLS HEADERS>
</HTTP WITH HLSHEADERS>
<HTTP BODY>
<HLS PAYLOAD>
</HLS PAYLOAD>
</HTTP BODY>
答案 0 :(得分:0)
我不确定您是否完全清楚您的问题,但希望对HLS和DASH的结构进行解释会有所帮助。
HLS和DASH均提供索引或清单文件,其中包含有关视频或媒体流的音频,视频,字幕等流的信息。
播放器查看索引文件,该文件本质上只是XML文件,并使用媒体流的URL下载并播放媒体-该URL可以是绝对URL或相对于基本URL。
视频流的信息通常将为视频的每个片段包括不同的比特率流。这样,播放器便可以从相关流中选择最适合设备和当前网络状况的下一个片段。
实际的视频和音频流本身通常是碎片结构-基于TS(MPEG传输流)或某种碎片MP4(fMP4)。
在撰写本文时,Mozilla网站提供了许多示例DASH清单文件,其中包括:
<?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>
({{3)} )
查看此清单的详细信息: