NMS v3系列教程之 八、relay规则鉴权模板

模板说明

创建relay中继任务,实际上就是rtmp的play或publish操作。
当我们连接远端服务器时,对方可能开启了鉴权规则,那么我们的链接也必须要附带鉴权参数。
由于目前常用的鉴权方式是附带过期时间戳的,因此每次请求时都应该是不同的签名。
当然您也可以预生成一个过期时间特别久的比如1年以后过期。
使用nms的relay规则,可以在创建时填入签名参数的模板,在nms进行relay中继任务创建时根据模板生成新的签名参数。

模板例子

nms模板

讲解:
前面我们的鉴权算法中有说明到,生成签名前的字符串需要流信息+过期时间+密码后md5
上面的模板字符串可以分为3个部分

  1. {{$ts := gents 30}} 先生成一个30秒后过期的时间戳并赋值给变量ts
  2. {{$x := printf /%s/%s-%d-%s .App .Name $ts authkey@2019}} 将 流app,name,过期时间戳,密码进行字符串拼接,再赋值给变量x
  3. sign={{$ts}}-{{md5 $x}} 拼接键名,键值

阿里云模板

阿里云用户直接替换 your#aliyun#key 为您在阿里云后台设置的密码即可

腾讯云模板

待补充

网宿模板

待补充

可用函数

gents(add_time)

获取unix时间戳的加值,单位秒,参数不能为空可以是0

gentshex(add_time)

获取unix时间戳的加值的hex值,单位秒,参数不能为空可以是0

md5

32位md5函数

md516

16位md5函数

sha256

sha256函数

补充

如果对鉴权模板使用上有问题,或需要增加函数,欢迎留言讨论

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: NMS v3系列教程之 八、relay规则鉴权模板

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据