1. 程式人生 > >Mac搭建nginx+rtmp伺服器,通過ffmpeg實現視訊推流

Mac搭建nginx+rtmp伺服器,通過ffmpeg實現視訊推流

最近在研究關於直播方面的技術,中間遇到很多坑,在此記錄一下,以免再次跳坑

1.安裝Homebrew

開啟終端, 檢視是否已經安裝了Homebrew, 直接終端輸入命令

man brew

如果Mac已經安裝了, 會顯示一些命令的幫助資訊. 此時
輸入Q退出即可, 直接進入第二步
如果尚未安裝,執行

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

解除安裝的話執行

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

2.安裝nginx

①clone nginx到本地,執行

brew tap denji/homebrew-nginx

②安裝nginx,執行

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

此時, nginx和rtmp模組就安裝好了

③啟動nginx,執行

nginx

在瀏覽器裡開啟http://localhost:8080
如果出現下圖, 則表示安裝成功

3.配置nginx和rtmp

首先我們檢視nginx安裝到哪了,執行

brew info nginx-full

如圖, 找到nginx.conf檔案所在位置


複製這個地址,點選Finder

->前往->前往資料夾->輸入/usr/local/etc/nginx/nginx.conf->用記事本工具(推薦Sublime Text)開啟nginx.conf. 在http節點下面新增下面程式碼(rtmp與http的{}是同級的):

# 在http節點後面加上rtmp配置:
rtmp {
    server {
        listen 1935;
        application rtmplive {
            live on;
            record off;
        }
    }
}

然後重啟nginx,執行

/usr/local/Cellar/nginx-full/1.15.4/bin/nginx -s reload

(其中的1.15.4要換成你自己安裝的nginx版本號, 檢視版本號用nginx -v命令即可)

4.安裝ffmpeg

終端執行(可能需要等待一段時間)

brew install ffmpeg

5.安裝一個支援rtmp協議的視訊播放器VLC

自己去網上下載安裝一個就行

6.推流

準備一個視訊檔案例如:testvideo.map4 放在桌面,執行(username 換成你電腦裝置的名字)

ffmpeg -re -i /Users/username/Desktop/testvido.mp4 -vcodec libx264 -acodec aac -strict -2 -f flv rtmp://localhost:1935/rtmplive/room

將視訊推流到伺服器後,開啟VLC,然後File->open network->輸入:

rtmp://localhost:1935/rtmplive/room