![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
nginx rtmp 模块源码学习
文章平均质量分 82
rtmp协议是流媒体传输协议,现在广泛应用于直播等平台中;经典的nginx同样也支持rtmp协议;下面的文章是我学习nginx的rtmp模块的一些记录;
brid.huang
这个作者很懒,什么都没留下…
展开
-
nginx-rtmp模块用户请求流程串联
前面的博文,我们已经介绍了rtmp请求的分发,接下来,我们将以用户连接请求为例,进行说明,看一下整个rtmp模块处理请求的流程;…原创 2021-03-21 16:33:54 · 269 阅读 · 0 评论 -
nginx-rtmp模块中的事件注册和事件分发
在上原创 2021-03-21 10:00:39 · 223 阅读 · 0 评论 -
nginx rtmp模块网络数据收发分析
上原创 2021-03-20 18:00:22 · 253 阅读 · 0 评论 -
nginx rtmp模块握手过程
上一篇文章,我们分析了rtmp模块接受用户请求的流程,主要介绍了一个用户请求到达server端之后,nginx rtmp模块如何接收请求,并为用户创建session,以及session的初始化等一系列操作;本章,我们将分析rtmp模块中的握手流程。 根据rtmp协议的规定,rtmp存在三次握手的过程,简单的来说,就是客户端发送C0、C1请求,服务端收到之后,发送S0、S1给客户端,客户端在收到S1之后需要发送C2,服务端在收到C1之后需要发送S2;只有当客户端收到S2之后,并且服务端收到...原创 2021-03-19 23:37:59 · 261 阅读 · 0 评论 -
rtmp用户请求连接建立
上一节,我们介绍了rtmp模块的初始化;在上一节中,我们提到了,当有rtmp模块的请求到达时,nginx处理网络事件的event模块会回调rtmp模块的ngx_rtmp_init_connection接口,本节中,我们将分析一下RTMP模块是如何处理连接请求的。 我们首先看一下ngx_rtmp_init_connection该函数的函数体,在函数体部分有对关键部分的解释说明:voidngx_rtmp_init_connection(ngx_connection_t *c){ n.原创 2021-03-15 20:44:07 · 358 阅读 · 0 评论 -
nginx-rtmp模块初始化
nginx core模块加载其他模块的要求 了解过nginx源码的同学都知道,nginx是高度模块化的一个开源服务,nginx core模块提供了一个固定模式的接口,其他的模块只需要按照core模块提供的接口,做相应的实现,就能够被nginx core模块加载,也就能够成为nginx的一个工作的模块; nginx core提供的接口为ngx_command_s 结构体和ngx_module_s结构体,我们开发的其他模块,只要实现这两个接口提中的接口,就能够被nginx加载起来;接下来我们分别介绍一原创 2021-03-14 10:37:45 · 216 阅读 · 2 评论 -
nginx rtmp模块的介绍
nginx简单介绍 对于nginx服务,大家都知道,他是一个轻量级的高性能的http服务和方向代理服务,它也支持了pop3/IMAP等协议;最关键的是,它开放了相应的接口,支持其他第三方模块的接入;第三方模块只需要按照nginx开放的接口进行实现,就能够被nginx的core模块加载起来; 提到nginx的第三方模块的开发,顺带提一下nginx对模块的管理,nginx核心模块仅仅负责直接的子模块的和nginx全局状态的管理,对于子模块内部的数据或者模块,不做任何的管理;所以说nginx是一个高度结原创 2021-03-14 09:12:19 · 1006 阅读 · 0 评论 -
rtmp协议
RTMP协议基础知识RTMP协议定义:RTMP的全称为Real Time Message Protocol,即实时传输协议;它是基于TCP协议之上的一个应用协议;应用场景:他是adobe公司开发的用于客户机和服务器之间实时传输音频和视频实的一个协议;目前广泛应用于直播领域协议格式介绍: 在RTMP协议中存在message和chunk的概念;message是指一个需要传输的数据,<br>而当数据过大之后,不能再一个协议包中传输,这样的话,就需要将这个数据分多次传输到对端去,原创 2021-03-13 08:32:46 · 468 阅读 · 0 评论 -
nginx-rtmp模块中next_xxx方法调用链学习笔记
next_xxx方法管理 在nginx的rtmp模块的各个子模块中,我们会看见有很多的next_xxx方法的回调方法,例如next_play或者next_publish,他们调用的是什么方法?又是怎样赋值的呢? 我们使用next_publish回调方法进行说明: 首先,我们看一下该函数的定义,我们可以在各个会使用他的模块中都看到一个static的定义的全局回调方法:static ngx_rtmp_publish_pt next_publish; 在C语言中,stat原创 2021-03-13 11:03:34 · 234 阅读 · 0 评论