我一直在尝试学习MP4Box和Dash,我正在取得一些进展,但我似乎无法让我的视频工作。我按照说明将播放器添加到一个简单的html页面,我用它测试了Dash的测试页面中的已知MPD,一切都与播放器完美配合,所以我缩小了MPD文件的范围。
我通过Dash验证器运行我的MPD文件,但它失败了。我得到以下错误:
Start XLink resolving
=====================
XLink resolving successful
Start MPD validation
====================
Line:Col[5:20]:cvc-elt.1: Cannot find the declaration of element 'MPD'.
MPD validation not successful - DASH is not valid!
BUILD FAILED
/var/www/html/conformance/current/webfe/mpdvalidator/build.xml:65: Java
returned: 4
Total time: 53 seconds
我使用MP4Box对mp4进行分段,因此这可能是一个不正确的命令。我使用的是下面的命令:
MP4Box -dash 4000 -frag 1000 -rap -segment-name segment_ rogue_one.mp4
当我查看MPD文件时,我不确定我在寻找什么,但我确实浏览了它,试图找出任何明显的错误,但它对我来说很好。这是我的MPD文件:
<MPD type="static" xmlns="urn:mpeg:DASH:schema:MPD:2011" profiles="urn:mpeg:dash:profile:full:2011" minBufferTime="PT1.5S" mediaPresentationDuration="PT0H2M28.34S">
<ProgramInformation moreInformationURL="http://gpac.sourceforge.net">
<Title>Media Presentation Description for file rogue_one.mp4 generated with GPAC </Title>
</ProgramInformation>
<Period start="PT0S" duration="PT0H2M28.34S">
<AdaptationSet>
<ContentComponent id="1" contentType="video"/>
<ContentComponent id="2" contentType="audio" lang="eng"/>
<Representation id="1" mimeType="video/mp4" codecs="avc1.640029,mp4a.40.02" width="1920" height="816" sampleRate="44100" numChannels="2" lang="eng" startWithSAP="1" bandwidth="7969270">
<SegmentList timescale="1000" duration="10050">
<Initialization sourceURL="rogue_one_dash.mp4"/>
<SegmentURL media="segment_1.m4s"/>
...
<SegmentURL media="segment_43.m4s"/>
</SegmentList>
</Representation>
</AdaptationSet>
</Period>
</MPD>
发布于 2017-04-12 10:19:02
深入研究之后,ffmpeg成了问题所在。我更改了编码的命令,它开始工作了。奇怪的是,虽然它可以工作,我仍然得到一个破折号是无效的!错误,不确定原因。
https://stackoverflow.com/questions/43355064
复制相似问题