阿里雲實現流媒體直播demo
原理圖:
我們使用的是h5,所以我們直播通過手機端進行訪問!
讓我們一起開始奇妙的流媒體之旅吧!
1.下載nginx-rtmp-module:
nginx-rtmp-module
的官方github地址:
https://github.com/arut/nginx-rtmp-module
使用命令:
將nginx-rtmp-module下載到linux中。
2.安裝nginx:
nginx的官方網站為:
http://nginx.org/en/download.html
本次默認安裝目錄為:/root,add-module為下載的nginx-rtmp-module文件路徑。
安裝時候可能會報錯沒有安裝openssl,需要執行命令:
3.修改nginx配置文件:
加入以下內容:
hls_path需要可讀可寫的許可權。
修改http中的server模塊:
當然了,root可以跟據自己的需求來改的。
然後啟動nginx:
關於更多rtmp的參數可以參考:
https://github.com/arut/nginx-rtmp-module/wiki
4.開始推流
做好以上的配置後,就可以開始推流了,我們可以使用obs來推流。
在設置->串流中填寫信息:
URL為rtmp://xxx:1935/hls,
xxx為你的伺服器的IP地址,
hls是用來存放流媒體的。
秘鑰可以隨便填寫一個,用來播放的時候識別播放哪個流媒體的,例如填寫test等。
填寫完畢後,點擊開始串流,就說明我們的流媒體伺服器搭建成功了。
5.觀看直播(拉流)
觀看直播就比較簡單了,可以簡單的使用h5的vedio標籤就可以觀看了。
可以訪問
http://xxx:81/hls/mystream.m3u8
來觀看直播,其中xxx為你的伺服器IP地址,
或者使用
同上, xxx寫的是你伺服器IP地址。
然後使用手機訪問這個網站就能夠觀看直播了。延遲大概在20S左右。
在iOS的safari瀏覽器中可以正常觀看。
寫在最後
為什麼延遲那麼高呢?這是因為伺服器將視頻流切斷成一個個小的以.ts結尾的文件。
hls文件夾內容。即推流到該文件夾了。
而我們訪問的是.m3u8文件,這個文件內容是將一個個ts文件串聯起來的,這就達到了一個播放的效果,所以看起來會有很大的延遲。
m3u8文件內容
如果降低延遲也不是沒有方法,可以設置切片生成的大小以及訪問的速度,但是這樣大大增加了伺服器的壓力。
當然,我們也可以用rtmp拉流工具(VLC等)來看該直播,延遲大概在2-5S左右,拉流地址與推流地址一致。
文章來源:
點擊展開全文
※SEO基礎:如何快速優化你的網站搜索排名
※少年猿們的夏令營
※致老爸老媽:這個暑假,我要學編程
※2017年8道PHP面試題
TAG:優才學院 |
※Facebook開啟端游流媒體直播功能 叫板亞馬遜Twitch
※Vtuber進「現實」!dwango開發室外虛擬角色直播用攝影系統
※直播回放#Vans Chima Pro 2上海站鞋測活動
※《碧藍幻想Project Re:Link》直播試玩實況視頻
※《碧藍幻想Project Re: Link》直播試玩實況視頻
※遇見直播原kiss直播
※新劇《Radio Romance》今晚首播 尹斗俊望觀眾堅守直播
※Wanna·One直播風波后現身機場:九十度深鞠躬致歉粉絲
※蘋果發布新MacBook Pro;YouTube TV直播世界盃系統癱瘓
※谷歌大神直播開講,Testin雲測讓Android Oreo兼容適配更輕鬆
※直播答題鼻祖HQ Trivia進軍英國
※Facebook直播平台推出專門展示遊戲直播的頁面
※現場直播ChinaJoy索尼發布會 鬥魚深耕遊戲產業的縮影
※擁抱春天!《Radio Romance》中尹斗俊金所炫「直播感性羅曼史」
※Facebook再進軍遊戲直播,中國學生機會在哪裡?
※尹斗俊搭檔金所炫直播浪漫月火劇《Radio Romance》
※可直播的智能運動相機Sioeye Blink了解一下?
※Steam推出自家視頻直播平台 Twitch油管的新競爭者?
※Ian Goodfellow線上直播實錄:關於GANs的那些不為人知的事兒
※打造自動駕駛大腦:看 Paper Reading直播,拿 Momenta 頂級 offer