日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

nginx-rtmp源码概述

發(fā)布時(shí)間:2024/2/28 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nginx-rtmp源码概述 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

/* 點(diǎn)播相關(guān)*/

ngx_rtmp_dash_module

ngx_rtmp_mp4

ngx_rtmp_mp4

ngx_rtmp_mp4_module ? /* 主要支持rtmp MP4這塊點(diǎn)播相關(guān)功能,支持seek操作*/

ngx_rtmp_flv_module ?/* 主要是flv文件格式的點(diǎn)播相關(guān)功能,支持seek操作 */

ngx_rtmp_play_module ?/* ?rtmp點(diǎn)播相關(guān),支持本地,遠(yuǎn)程兩種方式點(diǎn)播,遠(yuǎn)程點(diǎn)播http方式,支持flv,mp4兩種格式 */

ngx_rtmp_record_module /* 視頻錄制默認(rèn)是flv格式, 支持按時(shí)間,按文件大小,幀個(gè)數(shù)錄制文件 */


/* hls文件切片相關(guān)*/

ngx_rtmp_hls_module

ngx_rtmp_mpegts


/* rtmp機(jī)制整體框架, 協(xié)議握手,初始化相關(guān),數(shù)據(jù)收發(fā)*/

ngx_rtmp_handshake 主要是是三次握手相關(guān)

ngx_rtmp_handler 主要是數(shù)據(jù)接收recv,發(fā)送send,ping命令相關(guān)

ngx_rtmp_init ?初始化連接相關(guān)的信息

ngx_rtmp_core_module 主要是rtmp協(xié)議核心配置相關(guān).

ngx_rtmp rtmp配置解析,rtmp事件框架的初始化信息,注冊(cè)事件回調(diào)函數(shù)(協(xié)議handler,amfhandler)


/* rtmp直播,以及統(tǒng)計(jì)、通知、控制相關(guān)功能*/

ngx_rtmp_receive 主要是rtmp協(xié)議數(shù)據(jù)接收這塊

ngx_rtmp_send 數(shù)據(jù)發(fā)送這塊,以及各種rtmp消息包發(fā)送封裝的函數(shù)

ngx_rtmp_live_module主要處理接收音視頻消息數(shù)據(jù),以及ngx_rtmp_live_av中進(jìn)行數(shù)據(jù)分發(fā),從接收到發(fā)送給每個(gè)其他session

ngx_rtmp_netcall_module 主要是http請(qǐng)求相關(guān)部分

ngx_rtmp_notify_module 主要rtmp發(fā)送http請(qǐng)求,通知作用主要監(jiān)聽connect,disconnect,play,publish,close,record_done等相關(guān)事件

ngx_rtmp_relay_module 主要是rtmp提供回源請(qǐng)求拉流,以及轉(zhuǎn)推,監(jiān)聽_result,_error, onStatus

ngx_rtmp_stat_module ?主要是rtmp流狀態(tài)信息可以輸出到本地文件

ngx_rtmp_shared 主要是rtmp協(xié)議內(nèi)存管理方面,其中用到了引用計(jì)數(shù)來管理內(nèi)存

ngx_rtmp_bandwidth 主要是rtmp協(xié)議的帶寬計(jì)費(fèi)

ngx_rtmp_cmd_module rtmp消息命令相關(guān)play,publish

ngx_rtmp_codec_module rtmp音視頻編解碼信息相關(guān)

ngx_rtmp_control_module 主要是一些控制接口,錄制開始/暫停,支持record,query,drop相關(guān)的接口

ngx_rtmp_eval ? ? ?主要提供一些變量替換的函數(shù)接口,有內(nèi)存泄漏

ngx_rtmp_amf ?ngx_rtmp_bitop ?主要是封裝讀,寫amf包信息

ngx_rtmp_access_module 監(jiān)聽play,publish事件,對(duì)ip做檢查訪問

ngx_rtmp_auto_push_module 多進(jìn)程方案,推流來時(shí),自動(dòng)推流到其他worker進(jìn)程

ngx_rtmp_exec_module 主要監(jiān)聽publish,play,close,record_done事件,然后進(jìn)行執(zhí)行腳本進(jìn)行相應(yīng)的業(yè)務(wù),如轉(zhuǎn)碼

ngx_rtmp_limit_module 主要監(jiān)聽connect以及disconnect事件,通過計(jì)算連接數(shù)量來限制連接個(gè)數(shù)

ngx_rtmp_log_module 主要是rtmp日志相關(guān),連接斷開disconncet事件的時(shí)候,輸出訪問日志相關(guān)


業(yè)務(wù)相關(guān)擴(kuò)展功能大體有四類:統(tǒng)計(jì)、通知、控制。它們的實(shí)現(xiàn)代價(jià)如下:
“統(tǒng)計(jì)”處理了數(shù)據(jù)收發(fā)部分的代碼;
“通知”事件框架;
“控制”耦合了具體功能的調(diào)用;
還有其他一些異常消息情況

總結(jié)

以上是生活随笔為你收集整理的nginx-rtmp源码概述的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。