一、安裝homebrow
已經安裝了brow的可以直接跳過這一步。
執行指令
ruby -e "$(curl -fssl https://raw.githubusercontent.com/homebrew/install/master/install)"
如果已經安裝過,而想要解除安裝:
ruby -e "$(curl -fssl https://raw.githubusercontent.com/homebrew/install/master/uninstall)"
二、安裝nginx
先glone nginx專案到本地:
brew tap homebrew/nginx
執行安裝:
brew install nginx-full --with-rtmp-module
安裝過程比較緩慢,耐心等待
透過操作以上步驟nginx和rtmp模組就安裝好了,下面開始來配置nginx的rtmp模組
首先來看看我們的nginx安裝在哪裡了
brew info nginx-full
執行上面的命令後我們可以看到資訊
nginx安裝所在位置
/usr/local/cellar/nginx-full/1.10.1/bin/nginx
nginx設定檔所在位置
/usr/local/etc/nginx/nginx.conf
三、執行nginx
執行指令,測試下是否能成功啟動nginx服務
nginx
命令列如下圖
在瀏覽器網址列輸入:http://localhost:8080 (直接點擊)
如果出現
welcome to nginx!.03
代表nginx安裝成功了
如果終端機上提示
nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: address already in use)
則表示8080
連接埠被佔用了, 查看連接埠pid
lsof -i tcp:8080
kill掉佔用8080埠的pid
kill 9603(这里替换成占用8080端口的pid)
然後重新執行nginx
nginx常用方法:重新載入設定檔
nginx -s reload
重新載入日誌:
nginx -s reopen
// 停止nginx
nginx -s stop
// 有序退出nginx
nginx -s quit
四、設定rtmp
現在我們來修改nginx.conf這個設定文件,設定rtmp
複製nginx設定檔所在位置
/usr/local/etc/nginx/nginx.conf
開啟finder shift command g前往,用記事本工具開啟nginx.conf
http { …… }
在http節點後面加上rtmp配置:
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工具
brew install ffmpeg
安裝這個需要等一段時間等待吧然後準備一個視訊檔案作為來推流,然後我們在安裝一個支援rtmp協定的視訊播放器,mac下可以用vlc
vlc.04
顯示下圖表示ffmpeg安裝完畢
ffmpeg安裝完畢0.5
#六、ffmepg 安裝完成後可以開始推流了
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可以隨便寫。
推流介面:
七、驗證影片
然後電腦上開啟vlc這個播放器軟體點選file---->open network
在彈出來的方塊中選擇network然後輸入url:
rtmp://localhost:1935/zbcs/room
雙擊播放
播放介面
#錯誤處理
[tcp @ 0x7ff162504b60] connection to tcp://localhost:1935 failed (connection refused), trying next address
nginx -s reload
nginx
以上是Mac上怎麼搭建nginx+rtmp直播伺服器的詳細內容。更多資訊請關注PHP中文網其他相關文章!