我一直在尝试设置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
所以某个地方必须有效,对吗?我错过了什么?
答案 0 :(得分:1)
这里有几个问题。
主要问题是初始化播放器的脚本中的querySelector返回null,因为脚本在DOM准备好之前运行。将此脚本移动到正文的底部以解决此问题,或确保在DOM准备好而不是立即执行时运行脚本。
第二种是无法将源设置为DASH清单并获得视频播放,因为大多数浏览器(Edge除外)都无法进行本机DASH播放。如果是的话,你就不需要dash.js.从视频代码中删除src
和type
属性,并将上面初始化脚本中的url
变量设置为您的清单网址。
关注https://github.com/Dash-Industry-Forum/dash.js/#standard-setup获取完整说明。还有一个非常简单的版本,您无需编写任何代码:https://github.com/Dash-Industry-Forum/dash.js/#quick-start-for-users。