MPEG-DASH验证器报告定时错误

时间:2016-08-31 08:51:40

标签: validation mp4 h.264 mpeg-dash

我的问题可能与我设置中的任何一个组件有关,所以我只想在这里描述整个内容。

我从blackmagic h.264 Pro Recorder中获取h.264个NAL数据包,然后将它们打包到mp4容器中以供DASH使用。我的目标是从录像机中设置实时MPEG-DASH流。

我的mp4 init和segment文件似乎没问题(我可以使用MP4Explorer打开它们并确认各个字段已按照我想要的方式设置),并且我的mpd文件使用http://dashif.org/conformance.html处的验证器通过验证。

我从IIS服务器提供DASH流并尝试使用相同的验证器验证它,我收到以下错误:

WARNING: unknown mvex atom 'trep'
WARNING: unknown/unexpected atom 'meta'
tfdt base media decode time 2.816000 not equal to accumulated decode time 0.000000 for track 1 for the first fragment of the movie. This software does not handle incomplete presentations. Applying correction.
### error: 
### tfdt base media decode time 4.816000 not equal to accumulated decode time 6.656000 for track 1 for sequence_number 2 (fragment absolute count 2)
### error: 
### tfdt base media decode time 6.816000 not equal to accumulated decode time 12.416000 for track 1 for sequence_number 3 (fragment absolute count 3)
### error: 
### tfdt base media decode time 8.816000 not equal to accumulated decode time 20.096000 for track 1 for sequence_number 4 (fragment absolute count 4)
### error: 
### tfdt base media decode time 10.816000 not equal to accumulated decode time 29.696000 for track 1 for sequence_number 5 (fragment absolute count 5)
### error: 
### tfdt base media decode time 12.816000 not equal to accumulated decode time 41.216000 for track 1 for sequence_number 6 (fragment absolute count 6)
### error: 
### tfdt base media decode time 14.816000 not equal to accumulated decode time 54.656000 for track 1 for sequence_number 7 (fragment absolute count 7)

...more of the same, and finally...

### error: 
### Buffer underrun conformance error: first (and only one reported here) for sample 1 of run 1 of track fragment 1 of fragment 1 of track id 1 (sample absolute file offset 3835, fragment absolute file offset 863, bandwidth: 5000)

所以我怀疑我没有正确填写我的tfdt时间字段,或者我没有正确设置我的DASH流。我将我的文件与其他mp4进行了比较,似乎时间字段应该像我一样线性增加(我可能会误解规范:ISO / IEC 14496-12)。那些知道h.264和DASH的人都可以帮我解决这个问题吗?

我的mpd文件:

<?xml version="1.0"?>
<MPD 
    availabilityStartTime="1970-01-01T00:00:00Z" 
    publishTime="2016-07-14T13:59:43Z" 
    maxSegmentDuration="PT2S" 
    minBufferTime="PT1S" 
    minimumUpdatePeriod="P100Y" 
    profiles="urn:mpeg:dash:profile:isoff-live:2011"
    timeShiftBufferDepth="PT1M" 
    type="dynamic" 
    xmlns="urn:mpeg:dash:schema:mpd:2011">

    <ProgramInformation moreInformationURL="http://gpac.sourceforge.net">
        <Title>BLACKMAGIC DASH</Title>
    </ProgramInformation>

<Period id="p0" start="PT0S">
    <AdaptationSet segmentAlignment="true" maxWidth="1920" maxHeight="1080" maxFrameRate="60" par="16:9" lang="und">
        <ContentComponent id="1" contentType="video" />
        <!--ContentComponent id="2" contentType="audio" /-->
        <Representation id="V300" mimeType="video/mp4" codecs="avc3.640028,mp4a.40.2" width="1280" height="720" frameRate="60" sar="1:1" audioSamplingRate="48000" startWithSAP="1" bandwidth="5000">
            <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
            <SegmentTemplate timescale="1000" media="$RepresentationID$/$Number$.m4s" startNumber="0" duration="2000" initialization="$RepresentationID$/init.mp4"/>
        </Representation>
    </AdaptationSet>
</Period>

</MPD>

我可以根据要求提供更多信息(以及DASH流的链接)。

0 个答案:

没有答案