Nginx rtmp 推流(publish) 解析

系列文章:
Nginx rtmp 拉流播放(play)_fdsafwagdagadg6576的專欄-CSDN博客
Nginx rtmp 拉流(轉(zhuǎn)發(fā)pull)_fdsafwagdagadg6576的專欄-CSDN博客
Nginx rtmp 轉(zhuǎn)推_fdsafwagdagadg6576的專欄-CSDN博客
Nginx rtmp 點(diǎn)播流程_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無(wú)論是轉(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的下一個(gè)函數(shù).這里為 ngx_rtmp_live_publish。*/
    //因?yàn)槭莕ext,所以不是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);

如果對(duì)您有所幫助,請(qǐng)隨手點(diǎn)贊,謝謝

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

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

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

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