我正在将我们的视频播放器从普通视频源切换到使用 mpeg-dash 的分块渐进视频流。当使用 mpeg-dash 而不是链接到实际视频源时,您链接到 mpeg-dash list 文件,该文件包含有关每个 block 的所有信息,并允许您的播放器在带宽变化时换入和换出 block 。现在所有这些看起来都非常简单,但是我也在努力设置 blob url 以隐藏我们的源文件位置,但我遇到了问题。这是如何工作的,因为我能找到的所有关于 blob 响应的文档要么完全用 JS 编写,要么返回 XMLHttpRequest。
您可以在 dash.js 文档中看到一个示例,它正是我想要的 http://mediapm.edgesuite.net/dash/public/nightly/samples/dash-if-reference-player/index.html如果您检查该元素,它有一个 blob url 并以 block 的形式加载,但我找不到任何有关如何执行此操作的文档。
所以本质上我的问题是,如何让 mpeg-dash list 文件与 blob url 系统结合使用来隐藏源 URL。
最佳答案
I am also working on setting up blob urls to obscure our source file location
我向你保证,你并没有掩盖任何东西。数据必须来自某个地方。无论您认为如何在客户端掩盖它,确定从哪里都很简单。
不用管这个。
How does this work since all the documentation I can find on blob responses are either entirely in JS or return an XMLHttpRequest.
您在基于 Web 的 DASH 播放器中看到 blob 的原因是它们首先使用 MediaSource Extensions (MSE) 来获取数据。视频播放器实际上有一个由浏览器管理的 blob 源。您的 JavaScript 下载 block 并将它们发送到浏览器,以通过编解码器运行并输出到视频元素。
MDN 上有一个不错的 MSE 示例:https://developer.mozilla.org/en-US/docs/Web/API/MediaSource
关于Javascript 视频 Blob URL 和 MPEG-Dash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44122896/