nginx搭建rtmp推流服務器很好的讓我們理解和模擬推流,
- 首先打開終端,檢查是否安裝了brew包管理工具
鍵入終端命令$ brew
- 如果沒有顯示沒有安裝,則安裝命令如下回車
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
等待一會如果安裝成功會顯示如下內容
使用brew安裝nginx
- 執行命令將nginx下載到本地
$ brew tap homebrew/nginx
2.執行安裝nginx命令
$ brew install nginx-full --with-rtmp-module
- 看到下面的輸出則表示nginx安裝成功了
2.接下查看安裝的地址安裝rtmp的模塊,先鍵入命令查看.conf地址
$ brew info nginx-full
執行命令後可以看到如下信息
下面的是一些安裝的信息,看一下就可以了不用在意
nginx安裝所在位置
/usr/local/Cellar/nginx-full/
nginx配置文件所在位置
/usr/local/etc/nginx/nginx.conf
這個信息是有用的,表示.conf的地址,編輯添加rtmp的時候要用
nginx服務器根目錄所在位置
/usr/local/var/www
執行命令 ,測試下是否能成功啓動nginx服務
$ /usr/local/Cellar/nginx-full/1.10.2/bin/nginx
這裏的版本號要和你安裝的版本號保持一致
- 執行上面的命令後測試是否可以使用nginx是否能使用
- 在瀏覽器上輸入 http://localhost:8080
2.如果現實歡迎界面則表示啓動成功
- 在瀏覽器上輸入 http://localhost:8080
現在我們來修改nginx.conf這個配置文件,配置rtmp
1. 打開finder >> 前往 >> 前往文件夾 >> 輸入 /usr/local/etc/nginx/nginx.conf
使用xcode打開.conf文件
打開如下後顯示如下
最後一個} 後添加rtmp模塊
rtmp {
server {
listen 1935; //這個是默認的監聽端口號
application rtmplive { //注意這個rtmplive可以自己任意寫
live on;
record off;
}
}
}
添加後顯示如下
保存修改的內容
終端執行命令重新啓動nginx服務器
$ /usr/local/Cellar/nginx-full/1.10.2/bin/nginx -s reload
這裏的1.10.2版本號,要和上面你安裝的版本號保持一致
接下來安裝ffmpeg
- 執行命令
$ brew install ffmpeg
安裝ffmpeg需要的時間會長一點,可以現在mac上下載個VLC播放器,
等待安裝成功後開始執行推流命令
$ ffmpeg -re -i /Users/qaingchen/Desktop/1.mp4 -vcodec copy -f flv rtmp://localhost:2016/rtmplive/room
!這裏的/Users/qaingchen/Desktop/1.mp4是我在本地的一個視屏,需要在你本地有一個視屏替換這個絕對地址
能成功推流時可以看到如下輸出
*推流的同時打開你的VLC點擊NetWork輸入
地址
rtmp://localhost:1935/rtmplive/room
!注意這裏的1935 和rtmplive這兩個值要和你剛纔編輯.conf文件輸入的值保持一致
點擊打開*
這時可以看到推流的視屏
注意!要在推流的同時打開VLC播放,否則觀看端可能由於推流時間較短時間久了推流完成變不能接受rtmp的視屏流
在你電腦關機後,nginx服務器也會關掉,下次重啓的時候,需要重啓nginx服務器更具安裝時的命令提示如下:
*由以上信息得知重啓的命令爲
$ brew services start homebrew/nginx/nginx-full
*
不需要的時候沒必要讓nginx運行在後臺,這是可以關閉,用的時候在打開就行
nginx暫停服務器命令
$ nginx -s stop
開啓nginx服務器命令
$ brew services restart nginx-full
nginx 控制命令
$ sudo chown root:wheel /usr/local/Cellar/nginx-full/1.10.2/bin/nginx
$ sudo chmod u+s /usr/local/Cellar/nginx-full/1.10.2/bin/nginx
Reload config:
$ nginx -s reload
Reopen Logfile:
$ nginx -s reopen
Stop process:
$ nginx -s stop
Waiting on exit process
$ nginx -s quit
To have launchd start homebrew/nginx/nginx-full now and restart at login:
brew services start homebrew/nginx/nginx-full
Or, if you don't want/need a background service you can just run:
nginx