系列文章:
Nginx rtmp 拉流播放(play)_fdsafwagdagadg6576的专栏-CSDN博客
Nginx rtmp 拉流(转发pull)_fdsafwagdagadg6576的专栏-CSDN博客
Nginx rtmp 转推_fdsafwagdagadg6576的专栏-CSDN博客
Nginx rtmp 点播流程_fdsafwagdagadg6576的专栏-CSDN博客
1 整体结构图:
send streaming先建立信令,然后接收媒体
2 流程图
image3 阶段
- 1 handshake
- 2 connect
- 3 createStream
- 4 publish
- 5 接收av
- 6 转推
4 源码分析:
**ngx_rtmp_relay_publish(ngx_rtmp_session_t s, ngx_rtmp_publish_t v)
**s->relay **
//b) //s->relay无论是转推还是relay ;init is 0,转推,relay 一次之后变成1.直接next
if (ctx && s->relay) {
goto next;
}
**接收流媒体 **
/*从ngx_rtmp_relay_create_local_ctx函数返回后,就一直返回到ngx_rtmp_relay_publish函数中.
接着执行 next_publish的下一个函数.这里为 ngx_rtmp_live_publish。*/
//因为是next,所以不是ngx_rtmp_relay_publish,而是 ngx_rtmp_live_publish(relay先于live)
//ngx_rtmp_live_publish;ngx_rtmp_live_join as publish
return next_publish(s, v);
网友评论