当前位置: 首页 > 知识库问答 >
问题:

MPEG-DASH-DASH无效!错误

夏侯航
2023-03-14

我一直在尝试学习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>

共有1个答案

诸葛煜
2023-03-14

深入研究后,ffmpeg是个问题。我更改了编码命令,它开始工作了。奇怪的是,虽然它有效,但我仍然得到一个Dash无效!错误,不知道为什么。

 类似资料:
  • 我正在尝试实施Android应用程序来播放受小程序保护的视频。我在Exoplayer上构建我的应用程序,但我对有问题。 我有这个异常。我发现这个异常被抛出在这行代码中: 方法的所有参数都设置正确,但调用此方法失败,并引发上述异常。 你知道我该怎么解决吗?谢谢你的帮助。

  • 我正在写关于流媒体直播的论文。我使用了ffmpeg、带有rtmp模块和dash的ngix服务器。来自Dash industry的js。我通过ffmpeg启动流到服务器,并通过dash播放,播放器运行良好,但存在一些问题。 仅当mpd dash play list仍有chunk t=0时,玩家才能玩,所以每当用户请求玩家和*。mpd已更新,但块t=0玩家不运行。 我上传我的*。mpd文件发送到Das

  • 我对碎片化mp4的理解是它是一个文件,但内部它是以片段的形式构建的。有人能向我解释一下如何在DASH的. mpd文件中处理这些片段吗?我看到的. mpd文件似乎使用单独的url处理不同的段,但我想碎片化mp4必须通过字节偏移量来处理同一个url。那么浏览器如何知道什么时间对应于什么字节范围?

  • 我正在尝试使用shaka packager实现Mpeg DASH流媒体。要生成每个持续时间为5秒的分段,-segment_duration param帮助我实现这一点。 https://google.github.io/shaka-packager/html/documentation.html#chunking-选项 我可以从下面的链接中看到一段片段视频是如何呈现的 什么是碎片化mp4(fMP4

  • 我正在创建一个可以播放静态mpeg DASH文件的应用程序。我一直在使用MP4Box来创建短跑。mp4和。mpd文件。MPD文件包含一个字节范围偏移量列表,这些偏移量位于单个字节中。mp4文件。这很好,但我见过范围是单个文件的实现。 我想知道哪种是创建DASH文件的“行业首选”方式?是在文件中包含一个带有偏移量的. mp4文件,还是为每个段创建单独的. mp4文件? 如果是单个文件,那么每个文件在

  • 我想在不断从客户端接收实时视频流的情况下使用MPEG-DASH技术。Web服务器获取实时视频流,不断生成m4s文件,并在mpd中声明它。因此可以不断播放新片段。(我使用的是FFMPEG的ffserver。因此视频流继续累积在 /tmp/feed1.ffm文件中。) 使用MP4Box似乎能够生成mpd,init。mp4,M4用于现有文件。但它似乎不支持直播。 我想要片段格式的MP4而不是mpeg-t