Nginx rtmp 推流(publish) 解析

系列文章:
Nginx rtmp 拉流播放(play)_fdsafwagdagadg6576的專欄-CSDN博客
Nginx rtmp 拉流(轉(zhuǎn)發(fā)pull)_fdsafwagdagadg6576的專欄-CSDN博客
Nginx rtmp 轉(zhuǎn)推_fdsafwagdagadg6576的專欄-CSDN博客
Nginx rtmp 點播流程_fdsafwagdagadg6576的專欄-CSDN博客

1 整體結(jié)構(gòu)圖:

send streaming

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

2 流程圖

image

3 階段

  • 1 handshake
  • 2 connect
  • 3 createStream
  • 4 publish
  • 5 接收av
  • 6 轉(zhuǎn)推

4 源碼分析:

**ngx_rtmp_relay_publish(ngx_rtmp_session_t s, ngx_rtmp_publish_t v)

**s->relay **

    //b) //s->relay無論是轉(zhuǎn)推還是relay ;init is 0,轉(zhuǎn)推,relay 一次之后變成1.直接next
    if (ctx && s->relay) {
        goto next;
    }

**接收流媒體 **

    /*從ngx_rtmp_relay_create_local_ctx函數(shù)返回后,就一直返回到ngx_rtmp_relay_publish函數(shù)中.
        接著執(zhí)行 next_publish的下一個函數(shù).這里為 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);

如果對您有所幫助,請隨手點贊,謝謝

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 系列文章:Nginx rtmp 推流(publish) 解析_fdsafwagdagadg6576的專欄-CSDN...
    mfdalf閱讀 1,164評論 0 0
  • 目錄 1 Rtmp 定義 2 Rtmp 基礎(chǔ)3 協(xié)議組成4 Rtmp 消息流程5 實例分析:項目使用librt...
    mfdalf閱讀 992評論 0 0
  • nginx模塊概述 1:Module Configuration Struct(s)模塊配置結(jié)構(gòu) 這個結(jié)構(gòu)的命名規(guī)...
    samYang2閱讀 1,705評論 0 1
  • 譯序:截至 Jul 8th,2013 官方公布的最新 Nginx RTMP 模塊 nginx-rtmp-modul...
    淘淘小窩閱讀 4,762評論 0 1
  • Rtmp 分析參見:https://blog.csdn.net/fdsafwagdagadg6576/articl...
    mfdalf閱讀 1,906評論 0 0

友情鏈接更多精彩內(nèi)容