我在使用dash.js播放器实现的Firefox(并且只有Firefox)中遇到了问题: Once a video element has been used for DRM content it looks like it refuses to play any other content. 这是显示DRM内容但中断它以显示视频广告所必需的 . 如何重现(你基本上可以跳过第4步,第5步和第6步,这只是mp4工作的一个演示):

  • 启动Firefox(我在Windows 10上使用的是48.02版)

  • 转到http://dashif.org/reference/players/javascript/v2.3.0/samples/dash-if-reference-player/index.html

  • 打开浏览器控制台

  • 用videoElement = document.querySelector('video')选择视频元素

  • 使用videoElement.src =“http://www.html5videoplayer.net/videos/toystory.mp4”将源设置为示例视频

  • 见证工作视频 . 你可以跳过第4步,第5步和第6步 . 我只是想证明当然firefox可以播放mp4文件 .

  • 从下拉菜单中将流源设置为Axinom - > Axinom multi-drm(1080p)

  • 点击右上角的蓝色"load"按钮

  • 见证DRM保护的内容在Firefox中播放!

  • 暂停视频

  • 输入videoElement.src =''清除视频元素源;在浏览器控制台中

  • 将流设置为mp4平面,如步骤5所示 . 我无法重新引用此步骤,因为我只能在此问题中发布两个链接 . 就像在第5步中完全一样
    控制台中出现

  • 见证错误消息:“ Media resource xxx could not be decoded.

如果您愿意,可以通过javascript附加新的视频元素到页面 . 这将播放视频,而第一个不播放 . 你可以摧毁旧的,一个新的也可以玩它 . 这在任何其他浏览器中都不会发生 . 这个问题当然不会发生在chrome中 . 甚至不是微软的优势 .

For my purposes I can not create a new video element. 周围有一个玩家构建,它拥有一个状态 . 很多听众都注册了视频元素 . 它不是删除视频元素或使用第二个视频元素的解决方案 .

所以,我的问题:

  • 我在Firefox中做错了吗?播放DRM内容后,如何清理我的视频元素以播放简单的mp4?

  • 这是一个错误吗?它是Firefox bug还是dash.js错误?