ngx_rtmp_live_module 模块

11 篇文章 56 订阅 ¥9.90 ¥99.00
本文详细分析了ngx_rtmp_live_module模块,包括流的组织结构,涉及ngx_rtmp_live_stream_t、ngx_rtmp_live_ctx_t和ngx_rtmp_live_app_conf_t结构体。流的组织通过hash和链表实现,而流的分发主要在ngx_rtmp_live_av函数中完成,处理音视频数据转发。此外,还讨论了资源回收和流数据的处理。
摘要由CSDN通过智能技术生成

ngx_rtmp_live_module 模块整体描述

live模块是负责音视频流的分发作用,主要将接收来自publisher推流上来的音视频数据分发给每个player播放连接。本文章主要集中分析以下三点

1)流的组织结构
2)流数据的分发
3)流资源的回收

模块数据结构分析

直播服务器是支持多路不同的流名同时推流,而且每路流是可以支持很多个观众同时并发的,那么这些多个推流拉流行为,在服务器内部是怎样组织起来的呢。

流的组织结构主要涉及到以下三个结构体 ngx_rtmp_live_stream_t 、 ngx_rtmp_live_ctx_t以及ngx_rtmp_live_app_conf_t

/* 主要保存了所有流的结构信息,包过推流和拉流,流名,当前流的带宽信息等 */
struct ngx_rtmp_live_stream_s {
    u_char                              name[NGX_RTMP_MAX_NAME];  当前流的流名
    ngx_rtmp_live_stream_t             *next;                     其他不同流名的流就是通过当前链表指针结构组织起来的
    ngx_rtmp_live_ctx_t                *ctx;               
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值