首頁 > 運維 > Nginx > 主體

Mac上怎麼搭建nginx+rtmp直播伺服器

WBOY
發布: 2023-05-15 17:19:06
轉載
1692 人瀏覽過

一、安裝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
登入後複製

執行上面的命令後我們可以看到資訊

Mac上怎麼搭建nginx+rtmp直播伺服器

nginx安裝所在位置

/usr/local/cellar/nginx-full/1.10.1/bin/nginx
登入後複製

nginx設定檔所在位置

/usr/local/etc/nginx/nginx.conf
登入後複製
登入後複製

三、執行nginx

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

nginx
登入後複製
登入後複製

命令列如下圖

Mac上怎麼搭建nginx+rtmp直播伺服器

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

如果出現

Mac上怎麼搭建nginx+rtmp直播伺服器
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

Mac上怎麼搭建nginx+rtmp直播伺服器
vlc.04

顯示下圖表示ffmpeg安裝完畢

Mac上怎麼搭建nginx+rtmp直播伺服器
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可以隨便寫。

推流介面:

Mac上怎麼搭建nginx+rtmp直播伺服器

七、驗證影片

然後電腦上開啟vlc這個播放器軟體點選file---->open network 在彈出來的方塊中選擇network然後輸入url:

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。輸入指令重新啟動後就沒有問題了


nginx -s reload
登入後複製
登入後複製

Mac上怎麼搭建nginx+rtmp直播伺服器

2.安裝nginx後,在瀏覽器網址列輸入:顯示打不開網頁

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


nginx
登入後複製
登入後複製

以上是Mac上怎麼搭建nginx+rtmp直播伺服器的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!