文档中心 云点播 解决方案 推荐实践 视频床问题与防范

视频床问题与防范

最近更新时间:2019-05-07 17:19:41

UGC(用户生产内容)和 PGC(专业生产内容)是视频行业中常见的两类场景,可以由视频分享者自由上传和分享视频内容。

然而,第三方的视频平台,可能会冒充 App 的普通用户,上传自有视频,然后将视频的播放 URL 放在自己的平台上播放。这样,他们就能“寄生”于开发者的平台,享受“免费”的视频存储和加速播放。因为开发者的视频平台被当做了他人视频的温床,我们称之为“视频床”。

寄生者产生的所有存储和播放带宽流量上的费用,全部需要 App 开发者来承担,是一项严重的经济损失。

视频床问题产生的原因

UGC 和 PGC 平台的一般交互方式

UGC(或 PGC)的视频平台,与内容提供方、内容消费方和云点播的交互方式如下(第 1-3 步,可参考 客户端上传):

  1. 视频 App 后台对内容提供方进行鉴权,鉴权通过后派发视频上传签名。
  2. 内容提供方执行上传,把分享的内容上传到腾讯云点播。
  3. 云点播通知视频 App 后台成功上传的视频 fileId,以及播放 URL 等相关信息。
  4. 内容消费方向视频 App 后台请求视频的播放 URL。
  5. 内容消费方通过播放 URL,从腾讯点播加速播放视频。

恶意用户如何实现视频床

恶意的第三方视频平台,会冒充开发者 App 平台的普通用户。首先,以视频提供方的身份,将自有视频上传到云点播中(第 1,2 步),然后再以消费者的身份,从 App 平台获取视频的播放地址(第 4 步)。最后,恶意平台自己的用户,可以获取到这些播放地址(第 4 步),并通过云点播加速播放这些视频(第 5 步)。

导致问题的核心原因

恶意用户寻找猎物作为视频床的根本目的,是盗用他人的 CDN 带宽资源(附带也占用了存储资源)。恶意用户有机可乘的核心原因在于:

  • 第 4 步,恶意平台能无限制地从 App 快速获取视频的播放 URL,存储并分发给自己的消费用户。
  • 第 5 步,恶意平台的消费用户获取视频的播放 URL 后,能够无限制地加速播放视频。

视频床防范方案

面对视频床问题以上的核心原因,关键在于:

  • 防止第 4 步中的 无限制获取视频播放 URL
  • 防止第 5 步中的 无限制加速播放视频

下面,将分别介绍如何限制视频 URL 的 播放获取

限制视频 URL 的播放

云点播的 KEY 防盗链 提供了限制 URL 允许播放终端数的能力,防止一个视频 URL 被传播给任意多个客户终端播放。

为了实现对视频播放 URL 的控制,开发者需要在控制台开启防盗链,并且第 4 步中 App 后台需要按照 KEY 防盗链生成规则(参考“视频播放地址最多可播放 IP 数”的 示例)生成防盗链,限制 URL 的有效时间和允许播放的 IP 数。

限制视频 URL 的获取

若仅限制视频的加速播放,视频床的防范是不完整的:第 4 步中,恶意平台能对同一视频请求大量不同的防盗链 URL,然后为自己平台的用户分发各不相同的 URL,绕开 IP 播放数量的限制。

因此,App 后台需要识别第 4 步中的用户身份,对同一用户在给定时间内获取某一视频播放 URL 的次数进行频控,防止恶意用户短时间内获取视频的大量播放地址。