我正在创建一个在线健身训练服务。用户在付款后可以获得课程视频,所以我需要能够关闭对视频的访问。所以我有两个问题:
- 考虑到该课程将有大约10000名客户,并且他们都将观看视频,我应该将视频存储在哪里
- 如何管理对视频的访问?我可以为客户创建任何令牌、cookie等,但我如何管理第三方服务的访问?还是这种交通必须通过我自己的服务
如果您想将视频流式传输给通过不同质量网络连接的不同设备上的多个人,通常的方法是使用自适应比特率流式传输(https://stackoverflow.com/a/42365034/334402)。
ABR基本上为您的内容创建多个比特率版本并将其分块,因此客户端可以从设备和当前网络条件的最佳比特率中选择下一个分块。
您可能会发现使用托管服务最容易,或者,如果您自己托管视频,则使用商业服务器(如Wowza、United、AWS Media Services等(最容易,但如果您也进行搜索(例如,在撰写本文时:https://www.instructables.com/id/Making-Your-Own-Simple-DASH-MPEG-Server-Windows-10/)
为了限制访问和保护内容不被复制,您需要平衡工作量/成本与使其难以复制的重要性。
你可以建立简单的反复制障碍,比如使用视频URL、模糊URL等访问页面的身份验证,但最终如果视频必须在设备上播放,就必须下载,并且有办法为坚定的黑客复制它。
下一个级别通常是加密内容,并使用一些私人频道或公认的DRM系统安全地共享密钥。
请记住,人们可以将相机指向屏幕并进行复制,但质量通常不好,而且很耗时。如果这是一个问题,你不能停止相机录制,但如果你有不可见的取证水印,并且你可以访问复制的视频,你可以跟踪用户。