如何通过隐藏或屏蔽来保护视频流 url?
How to protect a video streaming url by hiding or masking it?
我需要在我的网站上添加一个视频播放器,用于播放来自视频流(YouTube Live、Azure 媒体服务或托管公司的任何流媒体服务)的内容。
播放器仅对经过身份验证的用户可见,但由于流式传输 URL 不会改变,我需要对用户隐藏它(可能使用我域中的 DNS 配置或其他方式)。
你知道保护流媒体的方法吗URL?
鉴于您不希望人们看到视频的要求,即使他们已经获得 URL(“所以没有注册我的网络研讨会的人将无法watch it”),并且考虑到该播放器仅供经过身份验证的用户使用,我有一个建议:
在您的域中为每个视频流创建唯一的 URL。
当用户点击流的 URL 时,执行以下操作:
使用您的身份验证逻辑查看用户是否具有权限。
如果用户有权限,使用 301 或将流传递给播放器。
如果用户没有权限,将用户重定向到登录页面(或其他)。
重复。
根据经验,一旦您的复杂性远远超出了该级别,您就需要开始将执行此操作的服务视为其业务模型。否则你运行有掉进兔子洞的危险。
这里需要注意的是,一旦用户拥有流,有动力的人仍然可以识别源 URL 并对其进行任何操作。
如果你想保护你的内容,你必须为经过身份验证的用户加密和解密。用于解密的内容密钥可能与特定的媒体内容相关联并且已过期。在这种情况下,即使知道流式 uri 的用户也必须获得用于解密的内容密钥。您可以使用明文密钥加密或 DRM 服务来存档此场景。 https://azure.microsoft.com/en-us/services/media-services/content-protection/ - 包含 Azure 媒体服务中内容保护选项的概述。
如果您只是通过提供重定向来屏蔽 url,则没有什么可以阻止用户打开任何浏览器开发工具并复制目标 uri。
我需要在我的网站上添加一个视频播放器,用于播放来自视频流(YouTube Live、Azure 媒体服务或托管公司的任何流媒体服务)的内容。
播放器仅对经过身份验证的用户可见,但由于流式传输 URL 不会改变,我需要对用户隐藏它(可能使用我域中的 DNS 配置或其他方式)。
你知道保护流媒体的方法吗URL?
鉴于您不希望人们看到视频的要求,即使他们已经获得 URL(“所以没有注册我的网络研讨会的人将无法watch it”),并且考虑到该播放器仅供经过身份验证的用户使用,我有一个建议:
在您的域中为每个视频流创建唯一的 URL。
当用户点击流的 URL 时,执行以下操作:
使用您的身份验证逻辑查看用户是否具有权限。
如果用户有权限,使用 301 或将流传递给播放器。
如果用户没有权限,将用户重定向到登录页面(或其他)。
重复。
根据经验,一旦您的复杂性远远超出了该级别,您就需要开始将执行此操作的服务视为其业务模型。否则你运行有掉进兔子洞的危险。
这里需要注意的是,一旦用户拥有流,有动力的人仍然可以识别源 URL 并对其进行任何操作。
如果你想保护你的内容,你必须为经过身份验证的用户加密和解密。用于解密的内容密钥可能与特定的媒体内容相关联并且已过期。在这种情况下,即使知道流式 uri 的用户也必须获得用于解密的内容密钥。您可以使用明文密钥加密或 DRM 服务来存档此场景。 https://azure.microsoft.com/en-us/services/media-services/content-protection/ - 包含 Azure 媒体服务中内容保护选项的概述。 如果您只是通过提供重定向来屏蔽 url,则没有什么可以阻止用户打开任何浏览器开发工具并复制目标 uri。