⾃适应流媒体协议——DASH协议
DASH安慰病人的话
协议框架如下:
说到DASH协议,必须从它的mpd(Media Prentation Description)⽂件开始讲起。MPD⽂件⽤来描述mpeg dash码流的构成,相当于HLS协议的m3u8⽂件钠摄入过多会怎样
。DASH的诞⽣就是为了制定统⼀的流媒体协议标准。因此DASH兼容了Smooth Streaming和HLS协议的特点。
Period : 标注了视频的时长信息,也可以看做是更新mpd⽂件的最长时长。
AdaptationSet : 包含了媒体呈现的形式,(视频/⾳频/字幕)。
Reprentaiton : 包含不同的码率、编码⽅式、帧率信息等。
Segment : 每⼀个具体的⽚段。(1,2,4,6,10s …)
MPD⽂件剖析如下:
下⾯举例说明
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright Digital TV Labs 2014 -->
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" minBufferTime="PT4.00S" profiles="urn:dvb:dash:profile:dvb-dash:2014,urn:dvb:dash:profile:dvb-dash:isoff-ex <Period id="p1" duration="PT1M" start="PT0S">
<AdaptationSet mimeType="video/mp4" codecs="avc1.4d401e" startWithSAP="1" gmentAlignment="true">
<Reprentation bandwidth="1000000" id="video.1000.1" frameRate="25" width="720" sar="64:45" height="576" scanType="interlaced">
<SegmentTemplate startNumber="0" duration="3000" initialization="720x576i_1000Kbps_3cg_MP30_169/media-01.fmp4/video/1/init.mp4" media="720 </Reprentation>
</Adaptati自我介绍的内容
onSet>
<AdaptationSet mimeType="audio/mp4" codecs="mp4a.40.5" startWithSAP="1" gmentAlignment="true"面试自我评价
lang="en">
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main" />
<Reprent句
ation农村房子装修
bandwidth="96000" id="audio.96" audioSamplingRate="48000">
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2" />
<SegmentTemplate startNumber="0" duration="3029" initialization="HEAAC_96K_3cg/media-01.fmp4/audio/init.mp4" media="HEAAC_96K_3cg/me </Reprentation>
</AdaptationSet>
</Period>
</MPD>
MPD⽂件中最⼤的单元就是period,包含该⽚段的duration和start time,如果是多形容花的句子
个period时,会有period ID来区分。接下来就
是AdaptationSet,分别有video和audio两种,赵云怎么死的
先介绍video的information。AdaptationSet下⾯的Reprentation则包含了该段video
的码率、帧率、分辨率等信息。SegmentTemplate则包含每⼀个具体的⽚段信息。
DASH能根据实际播放时的⽹速情况来不断地切换分辨率,这主要是因为每个gment都对应有不同的码率⽂件,⽹速好的情况下
选择⾼码率的视频播放,反之则选择低码率视频。