HLS-搭建Nginx流媒體服務(wù)器(3)

概要:本文Richy為大家分享的內(nèi)容,即首先通過強大的Nginx闯第,且結(jié)合nginx-rtmp-module模塊來在Mac上搭建流媒體服務(wù)器翎苫。然后姿鸿,通過ffmpeg對本地視頻文件以rtmp流形式“推流”至Nginx服務(wù)器上。最終站削,通過播放器播放視頻(rtmp流/hls流)坊萝。


了解Nginx

簡言之,Nginx本身是一個非常出色的HTTP服務(wù)器许起,具有占用內(nèi)存少十偶,高并發(fā)的特點。

01.百度百科-Nginx

了解rtmp

簡言之园细,RTMP是基于TCP的實時消息傳送協(xié)議惦积,默認(rèn)端口號為1935。

02.百度百科-RTMP

正文來襲...

1猛频、安裝nginx狮崩,并帶有rtmp-module直播流模塊

首先,clone Nginx至本地

brew tap homebrew/nginx

然后執(zhí)行安裝:

03.安裝Nginx+RTMP

首先確保Homebrew已安裝鹿寻,未安裝的童鞋可參見博文《Homebrew使Mac更加完美》睦柴。

?上圖重要內(nèi)容說明:

a. 包內(nèi)容總大小不足3M,故大家無需擔(dān)心下載安裝問題毡熏,耐心等待坦敌。

b. 牢記配置文件(nginx.conf)的路徑,之后要對其進行編輯修改痢法。

c. 了解nginx服務(wù)常用命令狱窘,牢記重啟nginx服務(wù)命令(nginx -s reload)。

d. 如何啟用nginx服務(wù)财搁?(如上圖蘸炸,提供了兩種方式,解釋很清楚妇拯,區(qū)別不再贅述)

接下來幻馁,Richy補充說下第二種啟用nginx服務(wù)的方式:

$cd /usr/local/Cellar/nginx-full/1.10.1/bin/

大家可以在該路徑下找到“nginx”,直接執(zhí)行 $nginx越锈,即可開啟仗嗦。

驗證nginx開啟狀態(tài)

在瀏覽器中輸入:http://localhost:8080,如下圖甘凭,則開啟成功稀拐。

04.驗證nginx開啟狀態(tài)

nginx開啟補充

假定nginx已開啟,如果再次啟用nginx丹弱,則會出現(xiàn)下圖:

05.nginx開啟補充

2德撬、配置nginx.conf

Nginx服務(wù)器安裝好后铲咨,服務(wù)器修改配置文件nginx.conf(默認(rèn)端口號8080),以支持RTMP和HLS協(xié)議蜓洪,那么首要任務(wù)依然是找到該文件(nginx.conf)了纤勒,如果各位老板忘記了該路徑,亦可以通過下圖再次查看:

06.查看nginx.conf路徑

如何配置nginx.conf

老板們可參考安裝好的 rtmp-nginx-module目錄下的README.md來配置隆檀,Richy本機的路徑:/usr/local/Cellar/rtmp-nginx-module/1.1.7.10/share/rtmp-nginx-module/README.md

編輯nginx.conf

老板們可通過Vim或者常用編輯器(Sublime)摇天,進行查看、修改恐仑。

Richy對nginx.conf的配置泉坐,供大家參考:

2.1 在整個http之后添加 rtmp的配置內(nèi)容,如下:

07.nginx配置rtmp

2.2 在http中添加 hls的配置裳仆,如下:

08.nginx配置hls

注意:修改nginx.conf之后腕让,需重啟nginx服務(wù),才會生效:$nginx -s reload歧斟。

再次在瀏覽器中測試:http://localhost:8080纯丸,以確認(rèn)nginx開啟的狀態(tài)。

3构捡、ffmpeg推流至nginx:

FFmpeg再次登場液南,通過其對本地視頻文件“推流”到已搭建好的Nginx流媒體服務(wù)器上。由于在上一步驟中勾徽,已經(jīng)對nginx增加了RTMP和HLS協(xié)議的支持滑凉,故而借助ffmpeg推流成功后,在nginx服務(wù)器上可得到兩種視頻流:RTMP流喘帚、HLS流畅姊。需要注意的是,不管是哪種流吹由,在推流過程中是RTMP流形式體現(xiàn)的若未,如下圖:

09.ffmpeg推流流程

RTMP流,推流至rtmplive:

ffmpeg -re -i /Users/richyleo/Downloads/warcraft.mp4 -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 rtmp://localhost:1935/rtmplive/test

HLS流倾鲫,推流至hls:

ffmpeg -re -i /Users/richyleo/Downloads/warcraft.mp4 -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 rtmp://localhost:1935/hls/test

補充:

其中粗合,HLS流表現(xiàn)較明顯,在nginx的臨時目錄下乌昔,直觀的可看到m3u8索引文件和N多個.ts文件隙疚。m3u8列表會實時更新,且會動態(tài)更改當(dāng)前播放索引切片(.ts)磕道。這種實時更新的機制供屉,不會使得.ts文件長時間存在于Nginx服務(wù)器上,且當(dāng)推流結(jié)束之后,該目錄下的內(nèi)容會被全部清除伶丐,這樣無形中減緩了nginx服務(wù)器的壓力悼做。另外,也闡釋了HLS這種流媒體播放相較RTMP延時較高的原因哗魂。

10.HLS流

4肛走、播放rtmp流或hls流

最簡單的測試,可通過VLC播放器录别,建立網(wǎng)絡(luò)任務(wù)實現(xiàn)播放羹与。所謂的播放,就是從Nginx服務(wù)器取到視頻流并播放庶灿,也稱之為“拉流”。需注意的是吃衅,HLS是基于HTTP的流媒體傳輸協(xié)議往踢,端口為8080;而RTMP本身即為實時消息傳輸協(xié)議徘层,端口為1935峻呕。由此決定了客戶端訪問直播流的方式,見下圖:

11.客戶端拉流過程

拉流地址:

RTMP流:rtmp://localhost:1935/rtmplive/test

HLS流:http://localhost:8080/hls/test.m3u8

實現(xiàn)效果:

12.RTMP流播
13.HLS流播放

最后

歡迎大家關(guān)注我們團隊微信公眾號趣效,以及博客地址瘦癌,在這里我們會實時與大家分享優(yōu)質(zhì)的技術(shù)文章。大家也可以加入我們的技術(shù)交流群(QQ群:343640780)跷敬,共同探討讯私,共同進步。

團隊博客地址:http://www.52learn.wang

團隊GitHub:https://github.com/wu2LearnTeam

參考鏈接:

a. http://blog.csdn.net/redstarofsleep/article/details/45092147

b.http://www.cnblogs.com/runner42/p/5241407.html(runner博客)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末西傀,一起剝皮案震驚了整個濱河市斤寇,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌拥褂,老刑警劉巖娘锁,帶你破解...
    沈念sama閱讀 206,013評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異饺鹃,居然都是意外死亡莫秆,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評論 2 382
  • 文/潘曉璐 我一進店門悔详,熙熙樓的掌柜王于貴愁眉苦臉地迎上來镊屎,“玉大人,你說我怎么就攤上這事伟端”溃” “怎么了?”我有些...
    開封第一講書人閱讀 152,370評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長党巾。 經(jīng)常有香客問我萎庭,道長,這世上最難降的妖魔是什么齿拂? 我笑而不...
    開封第一講書人閱讀 55,168評論 1 278
  • 正文 為了忘掉前任驳规,我火速辦了婚禮,結(jié)果婚禮上署海,老公的妹妹穿的比我還像新娘吗购。我一直安慰自己,他們只是感情好砸狞,可當(dāng)我...
    茶點故事閱讀 64,153評論 5 371
  • 文/花漫 我一把揭開白布捻勉。 她就那樣靜靜地躺著,像睡著了一般刀森。 火紅的嫁衣襯著肌膚如雪踱启。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,954評論 1 283
  • 那天研底,我揣著相機與錄音埠偿,去河邊找鬼。 笑死榜晦,一個胖子當(dāng)著我的面吹牛冠蒋,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播乾胶,決...
    沈念sama閱讀 38,271評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼抖剿,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了识窿?” 一聲冷哼從身側(cè)響起牙躺,我...
    開封第一講書人閱讀 36,916評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎腕扶,沒想到半個月后孽拷,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,382評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡半抱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,877評論 2 323
  • 正文 我和宋清朗相戀三年脓恕,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窿侈。...
    茶點故事閱讀 37,989評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡炼幔,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出史简,到底是詐尸還是另有隱情乃秀,我是刑警寧澤,帶...
    沈念sama閱讀 33,624評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站跺讯,受9級特大地震影響枢贿,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜刀脏,卻給世界環(huán)境...
    茶點故事閱讀 39,209評論 3 307
  • 文/蒙蒙 一局荚、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧愈污,春花似錦耀态、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,199評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至杭跪,卻和暖如春簿盅,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背揍魂。 一陣腳步聲響...
    開封第一講書人閱讀 31,418評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留棚瘟,地道東北人现斋。 一個月前我還...
    沈念sama閱讀 45,401評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像偎蘸,于是被迫代替她去往敵國和親庄蹋。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,700評論 2 345

推薦閱讀更多精彩內(nèi)容