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

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

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

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

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

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

如何配置鉴权功能?

控制台:URL鉴权支持默认鉴权和自定义鉴权两种方式。
  • 默认鉴权:默认为A方式。详细信息请参见直播地址生成器
  • 自定义鉴权:如不采用默认配置可自定义配置,具体操作,请参见配置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参数其实是一致的。建议用户业务逻辑中如果推流地址有泄漏的情况下设置过期时间戳在业务许可范围内尽量短一些,避免播流地址被恶意访问。
  • 针对RTMP、FLV、RTS格式的推播流地址鉴权仅会在推流或者播流开始的时候进行验证,在推流或者播流过程中不会验证,即推流或者播流过程中如果超过了鉴权时间戳也可以继续播放。
  • 针对M3U8格式的播流地址鉴权会在播流开始以及播流过程中进行验证,即在播流过程中如果超过了鉴权时间戳,M3U8格式的播流地址将不能正常播放。

直播URL鉴权有效时长是什么作用?

有效时长是指该URL鉴权仅在有效期内可用来发起推流或者播放,直播推流和播放都是长链接行为。
  • 针对RTMP、FLV、RTS格式的推播流地址鉴权仅会在推流或者播流开始的时候进行验证,在推流或者播流过程中不会验证,即在有效期内已经发起的直播推流或者播放行为,不会因为有效期过期而中止,但新发起的推流和播放请求会因为有效时长过期会失败。
  • 针对M3U8格式的播流地址鉴权会在播流开始以及播流过程中进行验证,即在播流过程中会因为有效期过期而中止。

鉴权有效时长可设置的取值范围?

为保证生成的直播鉴权URL可用,URL鉴权有效时长最小需设置为1分钟,无上限限制。但为保证直播内容的安全性,建议根据业务需求合理设置有效时长。

是否可以生成永久的鉴权直播地址?

为保证视频直播安全,不支持生成永久的鉴权直播地址,建议根据业务需求合理设置有效时长。如果需要获取永久的直播地址,可关闭URL鉴权配置。