Javascript 视频 Blob URL 和 MPEG-Dash
Posted
技术标签:
【中文标题】Javascript 视频 Blob URL 和 MPEG-Dash【英文标题】:Javascript Video Blob URL and MPEG-Dash 【发布时间】:2017-05-22 22:11:40 【问题描述】:我正在使用 mpeg-dash 将我们的视频播放器从普通视频源切换到分块渐进式视频流。当使用 mpeg-dash 而不是链接到实际视频源时,您链接到 mpeg-dash 清单文件,该文件包含有关每个块的所有信息,并允许您的播放器随着带宽的变化而换入和换出块。现在所有这一切似乎都很简单,但是我也在努力设置 blob url 以隐藏我们的源文件位置,我遇到了问题。这是如何工作的,因为我可以在 blob 响应中找到的所有文档要么完全在 JS 中,要么返回一个 XMLHttpRequest。
您可以在 dash.js 文档中看到一个示例,它完全符合我的要求 http://mediapm.edgesuite.net/dash/public/nightly/samples/dash-if-reference-player/index.html 如果您检查它具有 blob url 并以块的形式加载的元素,但我找不到任何有关如何执行此操作的文档。
所以本质上我的问题是,如何让 mpeg-dash 清单文件与 blob url 系统一起工作以隐藏源 URL。
【问题讨论】:
【参考方案1】:我还在努力设置 blob url 以隐藏我们的源文件位置
我向你保证,你不会有用地掩盖任何东西。数据必须来自某个地方。无论您认为您在客户端如何模糊它,确定从哪里开始都是微不足道的。
别管这个了。
这是如何工作的,因为我能找到的关于 blob 响应的所有文档要么完全在 JS 中,要么返回一个 XMLHttpRequest。
您在基于 Web 的 DASH 播放器中看到 blob 的原因是它们首先使用 MediaSource Extensions (MSE) 来获取数据。视频播放器实际上有一个由浏览器管理的 blob 源。您的 javascript 下载块并将它们发送到浏览器以通过编解码器运行并输出到视频元素。
在 MDN 上有一个不错的 MSE 示例:https://developer.mozilla.org/en-US/docs/Web/API/MediaSource
【讨论】:
以上是关于Javascript 视频 Blob URL 和 MPEG-Dash的主要内容,如果未能解决你的问题,请参考以下文章