Jquery 使用DASH进行直播时混淆HTML视频播放器行为

Jquery 使用DASH进行直播时混淆HTML视频播放器行为,jquery,html,ajax,mpeg-dash,Jquery,Html,Ajax,Mpeg Dash,我正在将MPEG DASH视频从raspberry pi摄像头实时流到外部网站。该网站只包含几个基本的HTML标记 <script src="scriptFunctions.js"></script> <script src="scripts.js"></script> </head> <body> <main> <div id="videoArea"> </div>

我正在将MPEG DASH视频从raspberry pi摄像头实时流到外部网站。该网站只包含几个基本的HTML标记

  <script src="scriptFunctions.js"></script>
  <script src="scripts.js"></script>
</head>
<body>
  <main>
    <div id="videoArea"> </div>
js文件包含带有AJAX请求的javascript函数

function getElements() {
  $.get("response.php?getInfo", function(info) {
    if(info == "something") { loadVideoPlayer(); }
  });
}

function loadVideoPlayer() {
  $("#videoArea").load("response.php?getVideo");
}
如果GET请求匹配,response.php文件将回显视频播放器

if(isset($_GET['getVideo'])) {
  echo '<video data-dashjs-player 
               controls autoplay
               src="http://<ip>/dash/streamtest/index.mpd"
        </video>';
}
即使页面刷新成功,此错误也会与控制台中的上述错误输出一起在视频播放器中显示一秒钟。当流变得可观察时,After将跟随Dash.js的控制台输出

[10] EME detected on this user agent! (ProtectionModel_21Jan2015) 
[12] Streaming Initialized 
[16] Playback Initialized 
[16] [dash.js 2.6.7] MediaPlayer has been initialized 
[18] Converted primaryVideo1 to dash.js player and added content: http://<ip>/dash/streamtest_low/index.mpd 
[128] Parsing complete: ( xml2json: 26.0ms, objectiron: 12.0ms, total: 0.0380s) 
[132] SegmentTimeline detected using calculated Live Edge Time 
[132] MediaSource attached to element.  Waiting on open... 
[134] Manifest has been refreshed at Sun Apr 01 2018 16:25:24 GMT+0200 (Vest-Europa (sommertid))[1522592724.974]  
[164] MediaSource is open!

问题似乎是由使用MediaPlayerFactory设置引起的,如中所述。切换到标准设置后,问题消失了。添加这两个例子,取自他们的网站

<body>
  <video data-dashjs-player autoplay
         src="https://dash.akamaized.net/envivio/EnvivioDash3/manifest.mpd" controls>
  </video>
</body>
<body>
  <video id="videoPlayer" controls></video>
  <script>
        (function(){
            var url = "https://dash.akamaized.net/envivio/EnvivioDash3/manifest.mpd";
            var player = dashjs.MediaPlayer().create();
            player.initialize(document.querySelector("#videoPlayer"), url, true);
        })();
    </script>
</body>
MediaPlayerFactory设置
<body>
  <video data-dashjs-player autoplay
         src="https://dash.akamaized.net/envivio/EnvivioDash3/manifest.mpd" controls>
  </video>
</body>
标准设置
<body>
  <video id="videoPlayer" controls></video>
  <script>
        (function(){
            var url = "https://dash.akamaized.net/envivio/EnvivioDash3/manifest.mpd";
            var player = dashjs.MediaPlayer().create();
            player.initialize(document.querySelector("#videoPlayer"), url, true);
        })();
    </script>
</body>