转载请注明出处:https://blog.csdn.net/impingo
项目地址:https://github.com/im-pingo/pingos
项目官网:https://pingos.io
上篇文章分布式直播系统(十一)【nginx-rtmp-module鉴权接口】已经介绍了oclp_play和oclp_publish的鉴权使用方法。这篇文章将介绍如何利用oclp_push和oclp_pull实现动态转推和动态回源的方法,用法与oclp_play和oclp_publish非常类似,对配置不熟悉的朋友可以参考前面的文章。
动态转推oclp_push
动态转推是通过push通知实现的,利用oclp_push配置可以实现将本机器上的流转推到其他rtmp服务器。
之所以称此种操作为动态转推是因为转推地址可以通过查询结果动态指定。
oclp_push http://xxx.xxx.xxx.xxx/xxx stage=start,update,done args=k=v update=2s timeout=3s;
oclp_push最多可配置8条,每条都会触发一路转推。
服务器收到实时流的发布消息(如rtmp推流、rtmp回源和http-flv回源,总之只要有流输入进来就会触发oclp_push操作)之后马上向配置的http://xxx.xxx.xxx.xxx/xxx 发送http get请求 并且携带uri参数call=push&act=start&domain=$domain&app=$app&name=$name
返回值:
http 200 : 不转推,不触发update(act=update)和done(act=done)
http 302 :读取http header中的location一栏中的rtmp地址,并且向该地址推流。
如果配置了stage=update,则会周期性地触发参数call=push&act=update的http请求,直到推流结束。其他值:结束推流请求
动态回源oclp_pull
配置语法
Syntax: oclp_pull url [args=string] [stage=[start][,update][,done]] [timeout=time] [update=time];
Default: -
Context: application
具体参数含义可以参考上一篇文章,这里不再赘述。
QQ交流群:697773082
微信(cczjp1989)

508


【nginx-rtmp-module动态转推和动态回源】&spm=1001.2101.3001.11974&articleId=104852752&d=1&t=3&u=900d7f781f1e42c6b953dfe732de282b)

被折叠的 条评论
为什么被折叠?



