存储访问受限的视频的最佳方法是什么?

问题描述

我正在创建在线健身培训服务。用户付款后可以获得课程视频,因此我需要能够关闭对视频的访问。所以我有两个问题:

  1. 考虑到该课程将有大约10000个客户并且他们都将观看视频,我应该在哪里存储视频?
  2. 如何管理对视频的访问?我可以为客户创建任何令牌,cookie等,但是如何管理来自第三方服务的访问?还是这些流量必须通过我自己的服务进行?

解决方法

如果要将视频流传输到通过质量不同的网络连接的不同设备上的多个人,通常的方法是使用自适应比特率流(https://stackoverflow.com/a/42365034/334402)。

ABR基本上会为您的内容创建多个比特率版本并将其分块,因此客户端可以从设备和当前网络状况的最佳比特率中选择下一个分块。

您可能会发现最容易使用托管服务,或者如果自己托管视频,则使用商业服务器(例如Wowza,United,AWS Media Services等)最简单,但是如果您有一些如何构建简单的ABR服务器的示例,也进行搜索(例如,在撰写本文时:https://www.instructables.com/id/Making-Your-Own-Simple-DASH-MPEG-Server-Windows-10/

要限制访问并防止内容被复制,您需要权衡工作量/成本与使其难以复制之间的重要性。

您可以建立简单的防复制障碍,例如身份验证,以使用视频URL,混淆的URL等访问页面,但是最终,如果视频必须在设备上播放,则必须下载该视频,并且可以通过某种方式复制该视频。坚定的黑客。

通常,下一步是使用某些专用通道或公认的DRM系统对内容进行加密并安全地共享密钥。

请记住,人们可以将相机对准屏幕并进行复制,但是质量通常不好,而且很费时间。如果这是一个问题,则无法停止摄像机录制,但是如果您具有不可见的取证水印,则可以跟踪用户,并且可以访问复制的视频。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...