Javascript 视频 Blob URL 和 MPEG-Dash

标签 javascript php video mpeg-dash dash.js

我正在将我们的视频播放器从普通视频源切换到使用 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/

相关文章:

c# - 在 C# 中使用 ffmpeg.exe 将 MPG 转换为 AVI

javascript - MongoDB int64 和 JavaScript

javascript - 使用 Javascript 获取 URL Vars,当 QueryString 中存在多个值时不起作用

php - Stripe 结帐不起作用

php - 如果 header 已发送,我如何使用 PHP 重定向?

html - 全 Angular vimeo 包装背景

video - FFMPEG 结合图像、mp3 和 Logo 水印

javascript - 如何使用 AngularJS 实现像 Google 一样的右上角个人资料按钮?

javascript - 具有多个值的 Ractive 双向绑定(bind)

php - PDO 'n' 字母被删除,没有进入mysql数据库