如何设置DASH流媒体?

时间:2018-04-18 20:16:29

标签: video networking video-streaming html5-video mpeg-dash

我一直在尝试设置mpeg dash streaming,但我没有太多运气。我将dash.all.debug.js添加到html中,但随后它要求我找到here的/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 

所以某个地方必须有效,对吗?我错过了什么?

1 个答案:

答案 0 :(得分:1)

这里有几个问题。

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

第二种是无法将源设置为DASH清单并获得视频播放,因为大多数浏览器(Edge除外)都无法进行本机DASH播放。如果是的话,你就不需要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