使用Nginx-rtmp怎么實(shí)現(xiàn)一個(gè)直播媒體實(shí)時(shí)流效果?針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。
創(chuàng)新互聯(lián)公司是一家專(zhuān)業(yè)提供祁縣企業(yè)網(wǎng)站建設(shè),專(zhuān)注與成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、H5開(kāi)發(fā)、小程序制作等業(yè)務(wù)。10年已為祁縣眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專(zhuān)業(yè)的建站公司優(yōu)惠進(jìn)行中。
流程圖
?
1 2 3 4 5 6 7 |
|
1. 編譯Nginx
RTMP流媒體服務(wù)器,現(xiàn)成的開(kāi)源方案有很多,有SRS,Red5,wowoza,F(xiàn)MS等,我這里使用的是Nginx的rtmp插件實(shí)現(xiàn)實(shí)時(shí)流轉(zhuǎn)發(fā)。
下載 nginx-rtmp-module https://github.com/arut/nginx-rtmp-module
重新編譯nginx
?
1 |
|
2. 配置Nginx.conf
基本的nginx配置,這里就不進(jìn)行介紹了,需要了解的可以參考我其他博客,里面有介紹。這里只介紹rtmp段的定義。
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
3. HTTP異步通知回調(diào)
Nginx-rtmp-module插件實(shí)現(xiàn)了針對(duì)RTMP協(xié)議的一些命令做了事件通知。這里我通過(guò)一個(gè)簡(jiǎn)單的SpringBoot項(xiàng)目,快速搭建一個(gè)HTTP服務(wù)來(lái)接收RTMP的回調(diào)。
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
|
4. 運(yùn)行效果
(1) 啟動(dòng)nginx和SpringBoot
(2) 以下是SpringBoot打印信息(各位可以簡(jiǎn)單分析一下這些日志的)
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
|
(3) 客戶端進(jìn)行推流,這里的推流軟件,我是使用這個(gè) http://www.iavcast.com/html/ruanjian/iavcast.html
(4) 移動(dòng)端,我使用微信小程序里的 騰訊視頻云 這個(gè)小程序里面有RTMP測(cè)試
(5) nginx-rtmp 日志
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
5. RTMP鑒權(quán)方式
一般商用的話,為了防止被其他人使用和安全性考慮,所以需要對(duì)RTMP進(jìn)行鑒權(quán)處理。鑒權(quán)如果有特殊性的,可以通過(guò)修改nginx-rtmp-module的源代碼,然后進(jìn)行修改,其實(shí)就是增加個(gè)auth函數(shù),這個(gè)函數(shù)可以查詢數(shù)據(jù)庫(kù)之類(lèi)的,然后決定返回0成功還是-1表示失敗。
除了上面說(shuō)到的方式,還可以通過(guò)簡(jiǎn)單的方式,就是上面提到的HTTP回調(diào)。如果HTTP回調(diào)返回的HTTP狀態(tài)碼是2xx的,表示成功。如果是返回5xx的狀態(tài)碼,那么表示失敗。那樣的話,服務(wù)器就是斷開(kāi)RTMP連接。
就是在 rtmp://rtmp.wunaozai.com/rtmp_live/room?username=username&password=password
至于實(shí)現(xiàn),這里暫時(shí)還沒(méi)有,其實(shí)就是在SpringBoot項(xiàng)目中對(duì)每個(gè)請(qǐng)求,判斷一下參數(shù)即可。如果后面有機(jī)會(huì)就詳細(xì)寫(xiě)一下,關(guān)聯(lián)redis數(shù)據(jù)庫(kù),實(shí)現(xiàn)房間號(hào)功能。但是可能不會(huì)寫(xiě)了,因?yàn)閷?shí)際上不難。就是整個(gè)流程跑通還是比較多代碼要寫(xiě)的,在博客里貼太多代碼有點(diǎn)不好。博客最主要的還是提供思路。實(shí)際實(shí)現(xiàn)就應(yīng)該在項(xiàng)目中實(shí)現(xiàn)了。
6. 其他
這里是一些配置說(shuō)明和示例
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 |
|
關(guān)于使用Nginx-rtmp怎么實(shí)現(xiàn)一個(gè)直播媒體實(shí)時(shí)流效果問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
原文鏈接:https://www.cnblogs.com/wunaozai/p/9427730.html
文章標(biāo)題:使用Nginx-rtmp怎么實(shí)現(xiàn)一個(gè)直播媒體實(shí)時(shí)流效果
URL地址:http://muchs.cn/article0/jcjdio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、網(wǎng)站策劃、ChatGPT、建站公司、網(wǎng)站收錄、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)