如何设置 DASH 流



我一直在尝试设置 mpeg dash 流,但我运气不佳。我有 dash.all.debug.js 添加到 html 中,但随后它要求我在这里找到的/dash.all.debug.js.map。但在那之后,什么都没有。显然有些东西正在工作,因为它要求地图文件,但在那之后,Chrome 和 Firefox 都没有做任何事情。他们要求 mpd,我给出并在随机网站上进行了验证,但没有向服务器提出任何请求。

HTML 代码是:

 <html>
    <head>
    <script src="dash.all.debug.js"></script>
    <script>
        (function(){
            var url = "http://dash.edgesuite.net/envivio/Envivio-dash2/manifest.mpd";
            var player = dashjs.MediaPlayer().create(); 
            player.initialize(document.querySelector("#videoPlayer"), url, true);
        })();
    </script>
    </head>
    <body>
    <img src="Soranin.jpg" alt="not found" height=500>

    video:
    <video id="videoPlayer" src="media/movies/Demo/video.mpd" type="application/dash+xml"></video>
    </body>
</html>

控制台日志显示

[10] [dash.js 2.6.8] MediaPlayer has been initialized 

所以某个地方必须有一些东西在工作,对吧?我错过了什么?

这里有几个问题。

主要问题是初始化播放器的脚本中的 querySelector 返回 null,因为脚本在 DOM 准备就绪之前运行。将此脚本移动到正文底部以解决此问题,或者确保脚本在 DOM 准备就绪时运行,而不是立即运行。

第二种情况是无法将源设置为 DASH 清单并获得视频播放,因为大多数浏览器(Edge 除外(都无法进行本机 DASH 播放。如果是这样,你就不需要破折号.js了。从视频代码中移除srctype属性,并将上述初始化脚本中的url变量设置为清单网址。

请按照 https://github.com/Dash-Industry-Forum/dash.js/#standard-setup 获取完整说明。还有一个超级简单的版本,你不需要编写任何代码:https://github.com/Dash-Industry-Forum/dash.js/#quick-start-for-users。

最新更新