搭建nginx流媒體服務器
簡介
Nginx 是非常優(yōu)秀的開源服務器,用它來做hls或者rtmp流媒體服務器是非常不錯的選擇
下面介紹如何在Mac上搭建流媒體服務器串塑,以便后續(xù)的自己研究的項目或者demo向服務器上進行推流
首先需要安裝brew沼琉,brew是一款管理軟件的第三方平臺,安裝的方式也很簡單桩匪,請自行查閱安裝方式
安裝
執(zhí)行下面2句命令打瘪,即可安裝rtmp推流的nginx服務器
brew tap denji/nginx
brew install nginx-full --with-rtmp-module
執(zhí)行完后,可以查看ngix安裝在哪里
brew info nginx-full
可以看到M1 是安裝在這個目錄下/usr/local/etc/nginx
打開這個目錄吸祟,可以看到有個nginx.conf文件瑟慈,這里就是服務器的一個配置文件,如果支持rtmp屋匕,則里面的內容會有一個rtmp的json
這個json說明:
1.你本地的nginx服務器會監(jiān)聽1935端口號葛碧,
2.服務器會創(chuàng)建一個mytv的程序
后續(xù)你可以向這個地址進行推流,并且進行拉流播放
后面我們會使用ffmpeg向這個地址推流
rtmp://localhost:1935/mytv/room
并且用vlc拉取這個地址的流進行播放
啟動nginx服務
執(zhí)行命令过吻,即可啟動nginx服務器
nginx
驗證是否啟動成功进泼,只需要在瀏覽器中訪問下以下鏈接
在瀏覽器地址欄輸入:http://localhost:8080
出現(xiàn)Welcome to nginx ,代表nginx安裝成功了。
配置rtmp
打開配置文件 /usr/local/etc/nginx/nginx.conf
http {
……
}
#在http節(jié)點下面(也就是文件的尾部)加上rtmp配置:
rtmp {
server {
listen 1935;
application abcs {
live on;
record off;
}
}
}
- rtmp 是協(xié)議名稱
- server 說明內部中是服務器相關配置
- listen 監(jiān)聽的端口號, rtmp協(xié)議的默認端口號是1935
- application 訪問的應用路徑是 abcs
- live on; 開啟實時
- record off; 不記錄數(shù)據
4纤虽、 保存文件后乳绕,重新加載nginx的配置文件
nginx -s reload
推流
1.安裝ffmpeg
$ brew install ffmpeg
2、通過ffmepg命令進行推流
ffmpeg -re -i /Users/bojiang/Downloads/test1.flv -vcodec copy -f flv rtmp://localhost:1935/mytv/room
這里推的是flv流逼纸,可以正常推洋措,這里需要注意的是服務器地址一定要寫正確,我的nginx.conf里application配置的是mytv,所以路徑就是mytv,room則是隨便寫都行杰刽,代表向程序mytv下的room文件推流
拉流
1菠发、 驗證視頻
然后電腦上打開vlc這個播放器軟件 點擊File---->Open Network 在彈出來的框中選擇Network然后輸入URL:
rtmp://localhost:1935/mytv/room
驗證時王滤,推流的文件最好搞大點,不然一下推完了滓鸠,你才去拉取播放雁乡,則播放不了,因為這是實時的
vlc使用如下
-
open network
image.png
-
輸入url
image.png
3.點擊播放即可
可以看到左邊是畫面糜俗,右邊是ffmpeg在推流