Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Video 如何设置DASH流媒体?_Video_Networking_Video Streaming_Html5 Video_Mpeg Dash - Fatal编程技术网

Video 如何设置DASH流媒体?

Video 如何设置DASH流媒体?,video,networking,video-streaming,html5-video,mpeg-dash,Video,Networking,Video Streaming,Html5 Video,Mpeg Dash,我一直在尝试设置mpeg dash流媒体,但运气不太好。我已经将dash.all.debug.js添加到html中,但是它要求我找到一个/dash.all.debug.js.map。但在那之后,什么也没有了。很明显,有些东西正在工作,因为它需要地图文件,但在那之后,Chrome和Firefox都没有做任何事情。他们要求我提供mpd,我在一个随机网站上验证了它,但没有向服务器提出任何请求 html代码是: <html> <head> <script

我一直在尝试设置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>

所以某个地方一定有办法,对吧?我错过了什么

这里有几个问题

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

第二个问题是,无法将源设置为短划线清单并获得视频播放,因为大多数浏览器(Edge除外)都无法进行本机短划线播放。如果是,你就不需要dash.js了。从视频标记中删除
src
type
属性,并将上面初始化脚本中的
url
变量设置为清单url


请遵循完整的说明。还有一个超级简单的版本,您不需要编写任何代码:。

这里有几个问题

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

第二个问题是,无法将源设置为短划线清单并获得视频播放,因为大多数浏览器(Edge除外)都无法进行本机短划线播放。如果是,你就不需要dash.js了。从视频标记中删除
src
type
属性,并将上面初始化脚本中的
url
变量设置为清单url


请遵循完整的说明。还有一个超级简单的版本,您不需要编写任何代码:。

谢谢。我遵循这一点,它似乎对其他人的舱单有效。然而,当我放入清单时,它会显示“[ScheduleController][video]start denied”,音频也是如此。它得到了它需要的所有数据(我认为),所以不应该有任何问题,对吗?我将继续查看并验证整个文件是否已发送。是的,我正在尝试使其正常工作,但它不断要求超出文件范围的字节,我不知道为什么。我一直发回416个错误,直到它停止,但是什么也没有。玩家请求文件之外的范围的最可能原因是如果清单不正确:-)谢谢。我就是这么想的,但在清单中找不到指定文件字节长度的任何地方?例如,chrome在其请求中明确要求在结束后停止,例如“1500-3000/2000”,并且持续时间是正确的。我需要比几秒钟更精确吗?谢谢。我遵循这一点,它似乎对其他人的舱单有效。然而,当我放入清单时,它会显示“[ScheduleController][video]start denied”,音频也是如此。它得到了它需要的所有数据(我认为),所以不应该有任何问题,对吗?我将继续查看并验证整个文件是否已发送。是的,我正在尝试使其正常工作,但它不断要求超出文件范围的字节,我不知道为什么。我一直发回416个错误,直到它停止,但是什么也没有。玩家请求文件之外的范围的最可能原因是如果清单不正确:-)谢谢。我就是这么想的,但在清单中找不到指定文件字节长度的任何地方?例如,chrome在其请求中明确要求在结束后停止,例如“1500-3000/2000”,并且持续时间是正确的。我是否需要比秒更精确?
[10] [dash.js 2.6.8] MediaPlayer has been initialized