服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬服務器|服務器安全|DNS服務器|服務器知識|Nginx|

服務器之家 - 服務器技術 - Nginx - Mac上搭建nginx+rtmp直播服務器的步驟詳解

Mac上搭建nginx+rtmp直播服務器的步驟詳解

2019-11-14 17:05daisy Nginx

最近的直播很火,所以這篇文章跟大家分享了在Mac上搭建nginx+rtmp直播服務器的步驟,文章通過一步步圖文介紹的很詳細,有需要的朋友們可以參考借鑒。

前言

相信大家都知道nginx是非常優秀的開源服務器,用它來做hls或者rtmp流媒體服務器是非常不錯的選擇,所以小編在網上整理了安裝流程,現在分享給大家并且作備忘。有需要的朋友們可以參考學習,下面來一起看看吧。

一、安裝Homebrow

已經安裝了brow的可以直接跳過這一步。

執行命令

?
1
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

如果已經安裝過,而想要卸載:

?
1
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

二、安裝nginx

先glone nginx項目到本地:

?
1
brew tap homebrew/nginx

執行安裝:

?
1
brew install nginx-full --with-rtmp-module

安裝過程比較緩慢,耐心等待

通過操作以上步驟nginx和rtmp模塊就安裝好了,下面開始來配置nginx的rtmp模塊

首先來看看我們的nginx安裝在哪里了

?
1
brew info nginx-full

執行上面的命令后我們可以看到信息

Mac上搭建nginx+rtmp直播服務器的步驟詳解

nginx安裝所在位置

?
1
/usr/local/Cellar/nginx-full/1.10.1/bin/nginx

nginx配置文件所在位置

?
1
/usr/local/etc/nginx/nginx.conf

三、運行nginx

執行命令 ,測試下是否能成功啟動nginx服務

?
1
nginx

命令行如下圖所示

Mac上搭建nginx+rtmp直播服務器的步驟詳解

在瀏覽器地址欄輸入:http://localhost:8080 (直接點擊)

如果出現

Mac上搭建nginx+rtmp直播服務器的步驟詳解
Welcome to nginx!.03

代表nginx安裝成功了

如果終端上提示

?
1
nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use)

則表示8080

端口被占用了, 查看端口PID

?
1
lsof -i tcp:8080

kill掉占用8080端口的PID

?
1
kill 9603(這里替換成占用8080端口的PID)

然后重新執行nginx

nginx常用方法:重新加載配置文件

?
1
nginx -s reload

重新加載日志:

?
1
nginx -s reopen

// 停止 nginx

?
1
nginx -s stop

// 有序退出 nginx

?
1
nginx -s quit

四、配置rtmp

現在我們來修改nginx.conf這個配置文件,配置rtmp

復制nginx配置文件所在位置

?
1
/usr/local/etc/nginx/nginx.conf

打開Finder Shift + command + G前往,用記事本工具打開nginx.conf

?
1
2
3
http {
  ……
}

在http節點后面加上rtmp配置:

?
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
rtmp {
 
 server {
   listen 1935;
 
 
  #直播流配置
   application rtmplive {
     live on;
   #為 rtmp 引擎設置最大連接數。默認為 off
   max_connections 1024;
 
 
    }
 
 
   application hls{
 
     live on;
     hls on;
     hls_path /usr/local/var/www/hls;
     hls_fragment 1s;
   }
  }
}

五、安裝ffmepg工具

?
1
brew install ffmpeg

安裝這個需要等一段時間等待吧 然后準備一個視頻文件作為來推流,然后我們在安裝一個支持rtmp協議的視頻播放器,Mac下可以用VLC

Mac上搭建nginx+rtmp直播服務器的步驟詳解
VLC.04

顯示下圖表示ffmpeg安裝完畢

Mac上搭建nginx+rtmp直播服務器的步驟詳解
ffmpeg安裝完畢0.5

六、ffmepg 安裝完成后可以開始推流了

?
1
2
ffmpeg -re -i 你的視頻文件的絕對路徑(如/Users/lideshan/Downloads/Demo.mp4) -vcodec copy -f flv rtmp://localhost:1935/zbcs/room
// 如:ffmpeg -re -i /Users/jiangys/Documents/Document/demo.mp4 -vcodec copy -f flv rtmp://localhost:1935/zbcs/room

這里zbcs是上面的配置文件中,配置的應用的路徑名稱;后面的room可以隨便寫。

推流界面:

Mac上搭建nginx+rtmp直播服務器的步驟詳解

七、驗證視頻

然后電腦上打開vlc這個播放器軟件 點擊File---->Open Network 在彈出來的框中選擇Network然后輸入URL:

?
1
rtmp://localhost:1935/zbcs/room

Mac上搭建nginx+rtmp直播服務器的步驟詳解

雙擊播放

 Mac上搭建nginx+rtmp直播服務器的步驟詳解

播放界面

 Mac上搭建nginx+rtmp直播服務器的步驟詳解

報錯處理

1.ffmepg命令推流的時候,提示連接失敗。 [tcp @ 0x7ff162504b60] Connection to tcp://localhost:1935 failed (Connection refused), trying next address

出現這個錯,是因為配置了nginx.conf后,需要重啟nginx。輸入命令重啟后就沒有問題了

?
1
nginx -s reload

Mac上搭建nginx+rtmp直播服務器的步驟詳解

2.安裝完nginx后,在瀏覽器地址欄輸入:http://localhost:8080 顯示打不開網頁

解決方式:由于安裝后nginx服務器,有時需要等上幾分鐘才生效。如果還不生效,測試下是否能成功啟動nginx服務,命令

?
1
nginx

具體請參考“步驟安裝”第三點。

總結

好了,到這就基本安裝結束了,大家安裝步驟一步步來都可以安裝成功的,以上就是這篇文章的全部內容,希望能對大家的學習或者工作帶來一定的幫助,如果有疑問大家可以留言交流。

延伸 · 閱讀

精彩推薦
法甲赛程积分