美文网首页
Nginx rtmp 推流(publish) 解析

Nginx rtmp 推流(publish) 解析

作者: mfdalf | 来源:发表于2021-12-06 14:31 被阅读0次

    系列文章:
    Nginx rtmp 拉流播放(play)_fdsafwagdagadg6576的专栏-CSDN博客
    Nginx rtmp 拉流(转发pull)_fdsafwagdagadg6576的专栏-CSDN博客
    Nginx rtmp 转推_fdsafwagdagadg6576的专栏-CSDN博客
    Nginx rtmp 点播流程_fdsafwagdagadg6576的专栏-CSDN博客

    1 整体结构图:

    send streaming

    先建立信令,然后接收媒体

    2 流程图

    image

    3 阶段

    • 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);
    

    如果对您有所帮助,请随手点赞,谢谢

    相关文章

      网友评论

          本文标题:Nginx rtmp 推流(publish) 解析

          本文链接:https://www.haomeiwen.com/subject/lbngxrtx.html