如何保护通过 Media Source Extension API 播放的视频文件?

Posted

技术标签:

【中文标题】如何保护通过 Media Source Extension API 播放的视频文件?【英文标题】:How to secure a video file played through Media Source Extension API? 【发布时间】:2018-10-30 23:47:41 【问题描述】:

我使用媒体源扩展 API 制作了一个网络视频播放器。我的播放器下载和播放的视频和音频不安全。如您可以在谷歌浏览器Inspect 中访问Network 并下载视频和音频并通过媒体播放器播放。我想让我的音频和视频文件通过我的视频播放器播放。

这里有一个完美的安全视频文件示例。视频播放器:http://reference.dashif.org/dash.js/nightly/samples/dash-if-reference-player/index.html。你可以在输入中插入源:https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps.mpd。当我从谷歌浏览器Inspect中的Network下载文件时,我无法在VLC或其他地方播放.m4v的视频文件。所以我认为这是安全的。下载的播放文件可以在这里找到:http://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_1280x720_4000k。

Netflix 有非常非常安全的视频文件,其中文件尝试甚至没有定义。所以有人可以建议我如何保护我的视频和音频文件从其他地方下载和播放。谢谢

我的视频播放器项目示例:https://drive.google.com/file/d/156mDgIltBGMkXhx4LZfShxv3A8JrwkNP/view?usp=sharing

【问题讨论】:

【参考方案1】:

可以播放 m4v 文件,您只需要将它们附加到初始化片段中。 Netflix 不直接使用媒体源扩展。他们使用加密媒体扩展以及 DRM 提供程序,例如 Widevine。

【讨论】:

有演示版吗?我研究了加密媒体扩展,真的很混乱。 大部分开源播放器都会支持 eme。这是最好的演示。 但是演示在哪里可用?例如媒体源扩展演示是:nickdesaulniers.github.io/netfix/demo/bufferAll.html 你的谷歌和我的一样。在线免费提供博客、规范、开源示例等。我不知道您在“演示”中究竟想要什么。 我仍然无法像 NetFlix 那样确保视频文件的安全。是否有教程清楚地表明了这一点?

以上是关于如何保护通过 Media Source Extension API 播放的视频文件?的主要内容,如果未能解决你的问题,请参考以下文章

Media Source Extension官方文档(第二部分)

Naïve Media Player, Part 2

将BitmapImage转换为System.Windows.Media.Brush

通过挂载系统光盘搭建本地yum仓库的方法

如何通过脚本在 Ubuntu 中禁用 media_automount_open

Win10 如何把MP4格式视频制作成屏幕保护