1.一個可以忽略的前言
發起直播后可以在Nginx的自帶的頁面上查看到統計,那怎么知道發起了直播或者關閉了直播呢?我想到了這個統計頁,於是查看一下里面的內容看看如何獲取到的數據,
找到后發現是個xsl文件,莫非要寫個讀取該文件的代碼?好吧這是下下策。其實,Nginx-rtmp-module配置文件里,就可以通過簡單的配置回調URL來處理開啟或關閉直播的業務。
2.編寫回調處理接口
以下用到的是asp.net webapi,我寫了兩條接口來處理接收到的回調,主要內容是查看能收到來自Nginx-rtmp-module的什么參數,此處只展示1條,另一條內容相同,其中DebugLogHelper
類是作輸出日志文件處理。
3.配置回調URL
在nginx.config rtmp下加入
on_publish http://192.168.0.1/on_publish; on_publish_done http://
192.168.0.1
/on_publish_done;
on_publish 就是開啟推流的意思,done就是結束 后面接上你編寫的接口地址,觸發事件了就會發送請求到你填寫的接口上。
此外還有on_play_done與on_play用來監聽客戶端播放與播放結束事件
最后用OBS開啟直播,查看到的日志輸出下
傳來的參數是通過Form傳輸的,通過name可以獲取到具體標識符來做區別
參考來源:
http://www.ptbird.cn/rtmp-nginx-module-status-and-people.html