![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
rtmp
lio19
wechat: lqq510
展开
-
srs拉流的流程
概述srs拉流的步骤前面几步和推流差不多,就不再赘述了。这边直接从playing函数调用开始开始讲起。srs推流的流程在connect和create stream完毕后调用palying用于开始拉流。值得一提的是,在集群模式下,如果源站没有流这边会去判断别的源站是否有流。在play的时候会开启新协程,SrsQueueRecvThread用于接受Message,处理对应的Message。旧协程会从consumer队列中消费推流协程生产的Message,将它发送给拉流端。开始play流程在pla原创 2020-09-18 23:24:28 · 1766 阅读 · 0 评论 -
srs推流的流程
简述在accept一个链接后,创建对应的SrsRtmpConn。SrsRtmpConn自身是一个协程的子类,运行后进行rtmp协议中的handshake、connect、create stream。并且判断是publish之后,创建SrsRecvThread来接受推流。但是有一点比较奇怪的写法就是,在handshake之后,connect之前就根据发的包内容来判断是一个publish还是play。这点和我认知的rtmp协议不同,在我的认知里面,rtmp协议在create stream会发play或者原创 2020-09-17 21:12:17 · 1561 阅读 · 0 评论 -
ngx_rtmp_module直播流程
我们介绍最简单的rtmp直播流程概括通过ngx_rtmp_module中的配置ngx_rtmp_block函数去建立对应的ngx_listening_t对象,并且将回调设置为ngx_rtmp_init_connection函数在ngx_rtmp_init_connection接受到回调后开始调用ngx_rtmp_handshake握手,更改连接读的回调:ngx_rtmp_handshake_recv,写回调:ngx_rtmp_handshake_send,开始进行rtmp握手协议。握手完毕后调用n原创 2020-08-20 15:26:15 · 350 阅读 · 0 评论