這兩天需要做一個視頻推流測試,在網上找了一圈資料,使用ffmpeg+Nginx是比較快捷和通用的方法,于是就開始動手開整!
一 測試環境
推流:ubuntu18.04,ffmpeg。
服務器+拉流:win7,nginx,rtmp。
二準備
2.1 Ubuntu端
安裝ffmpeg,sudo apt install ffmpeg;
安裝ssh服務,sudo apt-get install openssh-server;sudo apt-get install openssh-client;
安裝lrzsz服務,方便拖拽文件,sudo apt-get install lrzsz;
2.2Win7電腦
搜索并下載nginx-1.7.11.3-Gryphon,這個版本的nginx是包含rtmp服務的。解壓后記得把文件名里的空格去掉,改成“-”就行,路徑中不要出現中文;
進入conf目錄,用UrtraEdit之類的編輯器打開nginx-win.conf文件,修改相關配置:
增加rtmp配置
然后,把服務器的監聽端口改一下,一般80端口會被占用,我這里改成了88,您隨意:
改一下監聽端口號
保存文件,然后另存為“nginx.conf”;
返回到nginx-1.7.11.3-Gryphon路徑,在窗口輸入“cmd”調出命令窗口,敲入“start nginx”,然后打開瀏覽器,敲入地址“localhost:88”,回車,頁面如下:
成功啟動nginx
恭喜你,服務已經正常運行了。停止服務的命令是:nginx -s stop;如果有什么問題,可以到logs文件夾下,打開error.log查看。
最后,安裝一個vlc播放器,我這里安裝的是vlc-3.0.17.4-win64.exe。
三開始推流
把linux主機和win7電腦接在同一個路由器下,在Linux主機上新建一個目錄,例如:
mkdir test;
在win7上,進入xshell,連接上Linux主機,進入剛才新建的目錄,把您喜愛的小電影,改一個單純一些的名字,拖拽進去。然后,敲入下面的命令:
ffmpeg -re -i mv2.mp4 -vcodec copy -acodec copy -f flv "rtmp://192.168.1.102:1935/live/test",
“192.168.1.102”是我電腦在局域網里的ip地址,改成您自己的就行。
運行成功后,將顯示傳輸狀態:
推流成功
然后,打開vlc播放器,設置網絡串流:
進入串流設置
填入下面的地址即可:
輸入流地址
接下來,就可以開開心心看您喜歡的小電影了!
觀看影片
至此,一個簡單的視頻推流測試環境就搭建好了,今天測試的是視頻文件,過兩天再在ubantu上接一個usb 攝像頭,來個直播測試!
各位看官有什么想說的,咱們到評論區暢聊!