nginx_rtmp_relay_module模块解读

11 篇文章 57 订阅 ¥9.90 ¥99.00
本文详细介绍了 Nginx RTMP Relay 模块的功能,包括 push 转推、pull 回源拉流、static 预拉流等。源码解读部分探讨了数据结构、RTMP 交互逻辑和回源请求流程。同时,文章指出模块存在的问题,如无回源失败重试机制,并提出了改进方案,如增加主备切换和重试策略。
摘要由CSDN通过智能技术生成

模块功能描述

  • 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;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值