MP4Box -dash-live如何处理dash.js

时间:2018-01-10 22:34:52

标签: mpeg-dash mp4box dash.js

我正在尝试使用mp4box进行伪直播并使用apache或mamp中的dash.js进行可视化,我的操作系统是sierra。 对于我的测试,我使用已经编码为Simpsons http://www.h264info.com/clips.html的视频, 因为我明白ffmpeg的编码只是为了多比特率目的而且我不需要它。 Osmo工作正常,可以快速阅读清单 Dash.js示例与html中的他们的清单链接一起正常工作,但它不适用于我的清单。所以我明白Dash.js可以工作。

命令行: sudo MP4Box -dash-live 1000 -frag 1000 -profile live -subdur 1000 -mpd-refresh 1000 -time-shift 16 -bs-switching no -segment-name output-seg -out manifest.mpd video_test.mp4

我使用sudo因为我正在使用osx,但我相信不会产生任何问题。 我尝试了不同的浏览器,即dashifk一致性页面。 我无法理解为什么在Mamp或Apache上,页面无法可视化我为伪实时使用而生成的清单。 哪里我错了? 你可以帮帮我吗? 谢谢! 马西莫

清单:

<?xml version="1.0"?>
<!-- MPD file Generated with GPAC version 0.7.2-DEV-rev358-g433fbcc3-master  at 2018-01-10T19:37:33.515Z-->
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" minBufferTime="PT1.500S" type="dynamic" publishTime="2018-01-10T19:37:33Z" availabilityStartTime="2018-01-10T19:28:35.335Z" timeShiftBufferDepth="PT0H1M4.000S" mediaPresentationDuration="PT0H0M16.227S" maxSegmentDuration="PT0H0M1.333S" profiles="urn:mpeg:dash:profile:isoff-live:2011">
 <ProgramInformation moreInformationURL="http://gpac.io">
  <Title>manifest.mpd generated by GPAC</Title>
 </ProgramInformation>

 <Period id="DID1" start="PT0H0M0.000S">
  <AdaptationSet segmentAlignment="true" maxWidth="320" maxHeight="240" maxFrameRate="15" par="4:3" lang="eng">
   <ContentComponent id="1" contentType="audio" />
   <ContentComponent id="2" contentType="video" />
   <SegmentTemplate media="output-seg$Number$.m4s" timescale="1000" startNumber="1" duration="1000" initialization="output-seginit.mp4"/>
   <Representation id="1" mimeType="video/mp4" codecs="mp4a.40.2,mp4v.20.2" width="320" height="240" frameRate="15" sar="1:1" startWithSAP="1" bandwidth="108411">
    <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="1"/>
   </Representation>
  </AdaptationSet>
 </Period>
</MPD>

测试的基本HTML

THE BASIC HTML FOR TEST

`<script src="https://cdn.dashjs.org/latest/dash.all.min.js"></script>
...
<style>
    video {
       width: 640px;
       height: 360px;
    }
</style>
...
<body>
   <div>
       <video data-dashjs-player autoplay src="manifest.mpd" controls></video>
   </div>
</body>

1 个答案:

答案 0 :(得分:0)

如果你希望它与dash.js播放器兼容,你需要添加标志-profile dashavc264:live。

MP4Box -h dash