模块功能描述
- push转推:支持同时多个push转推,并且有失败重推机制
- pull回源拉流:
- 回源拉流,只支持单个回源拉流,且拉流失败没有重试机制
- 支持static预拉流,且有重试功能,进程起来就开始拉流
以下是模块源码里面给出的功能图,很直接清晰描述了push和pull的过程
源码解读
本模块的源码主要理解relay模块数据怎么组织设计,和对端服务rtmp交互相关逻辑,连接关闭回收
relay的数据结构
ngx_rtmp_relay_static_t结构体主要是预拉流的一些数据
typedef struct {
ngx_rtmp_conf_ctx_t cctx; // 保存了整个配置文件的信息main,srv, app
ngx_rtmp_relay_target_t *target; // 回源相关的地址信息等
} ngx_rtmp_relay_static_t;