什么时候需要使用直播鉴权功能?

为了保护您的直播不被盗录、盗播,鉴权功能默认为开启状态,建议您保持默认开启状态。

视频直播的推流端和播流端均提供了地址供用户操作,但该地址为公网地址,即在没有配置安全控制时任何人获知该地址后均可操作。这就导致该地址可能被恶意盗用而导致用户大量计费的情况。

视频播放链接所在域名的根目录下,添加crossdomain.xml文件,其中添加播放器所在域名的权限,默认配置的所有域名均可跨域访问(配置如下)。
<!--播流域名crossdomain.xml内容-->
<cross-domain-policy>
<allow-access-from domain="*"/>
</cross-domain-policy>

因此,为了对推流、播流地址进行安全限制,您可以通过设置鉴权功能的过期时间戳。详情参见URL鉴权

视频直播还提供Referer防盗链和IP黑白名单的安全功能,您可以根据需要进行设置。详情参见访问控制

如何配置鉴权功能?

控制台:URL鉴权支持默认鉴权和自定义鉴权两种方式。
  • 默认鉴权中,鉴权KEY随机分配,有效时长30分钟。超过有效时间,鉴权失效。具体操作,请参见地址生成器
  • 自定义鉴权:如不采用默认配置,您也可以对鉴权主KEY、副KEY、有效时长进行自定义,并输入原始URL,然后再生成鉴权URL进行推流。具体操作,请参见配置URL鉴权

您还可以通过代码获取鉴权URL。

鉴权算法请参见鉴权URL,根据推流地址指定的AppName及StreamName得到未鉴权的播流地址,如rtmp:/DomainName/AppName/StreamName;再根据鉴权算法代码实现,填入对应的播流地址计算鉴权URL。

获取鉴权URL的代码示例,请参见鉴权代码示例

使用鉴权功能需要注意什么?

  • 鉴权功能默认为开启状态,建议您保持默认开启状态,否则会出现直播被盗录、盗播的风险。如果您想要关闭鉴权功能,需要了解盗刷风险并在控制台URL鉴权页面签署《直播服务关闭URL鉴权免责协议》。
  • 鉴权功能默认为开启状态,但是配置鉴权auth_key参数必须需要业务端根据鉴权原理自行实现,暂时没有提供API接口计算鉴权auth_key参数。
  • 开启鉴权后推流或播流地址均需要添加鉴权auth_key参数才可正常播放。暂时不支持仅推流或者播流一个地址开启鉴权的功能。
  • 鉴权URL提供的是过期时间戳的限制,即在该时间段内该地址可以一直访问,不会有任何限制,鉴权还无法实现设置某个URL仅能够一次访问的功能。
  • 鉴权auth_key参数是根据去掉queryString后的URI计算MD5值后拼接得到的,参见前述设置鉴权参数小节。因此,推流和播流地址的URI均为AppName/StreamName;这样会导致推流和播流地址的鉴权auth_key参数其实是一致的。建议用户业务逻辑中如果推流地址有泄漏的情况下设置过期时间戳在业务许可范围内尽量短一些,避免播流地址被恶意访问。
  • 鉴权仅会在推流或者播流开始的时候进行验证,在推流或者播流过程中即不会验证,也就是说推流或者播流过程中如果超过了鉴权时间戳也可以继续播放。