linux系統中Nginx+FFmPeg+vlc實現網頁視訊播放配置過程
linux系統中Nginx+FFmPeg實現網頁監控視訊播放配置過程
1.安裝好的nginx上新增模組nginx-http-fiv-module-master
此模組是rtmp模組的升級版,有它所有的功能,因此安裝它
(1)從GitHub上下載該模組,將壓縮包放到nginx目錄的/usr/local/nginx下
cp:nginx-http-fiv-module-master .zip /usr/local/nginx
(2)解壓到此
unzip nginx-http-fiv-module-master .zip
(3)在安裝資料夾下新增模組
./configure --add-module=/usr/local/nginx/nginx-http-flv-module-master
記得使用管理員身份進入!!
make
緊接著執行make install!
make install
2.linux伺服器安裝ffmpeg
使用命令直接安裝
apt-get install ffmpeg
3.進入nginx配置檔案新增rtmp
rtmp { out_queue 4096; out_cork 8; max_streams 128; timeout 15s; drop_idle_publisher 15s; log_interval 5s; #log模組在access.log中記錄日誌的間隔時間,對除錯非常有用 log_size 1m; #log模組用來記錄日誌的緩衝區大小 server { listen 1935; server_name localhost; application myapp { live on; gop_cache on; #開啟GOP快取,減少首屏等待時間 } application hls { live on; hls on; hls_fragment 8s; hls_path temp/hls; } } }
編輯儲存好檔案之後,再重啟nginx
sudo nginx -s reload
3.使用FFmpeg對視訊進行推流
推流至nginx的伺服器地址
ffmpeg -re -i {input-source} -f flv -r 25 -s 1280*720 -an rtmp://localhost:1935/live/test
拉流地址:rtmp://localhost:1935/rtmplive/test

配置環境變數的方法
1、開啟配置檔案
1.vi /etc/profile
2、在PATH後面追加sbin目錄,以:隔開
/usr/local/nginx/sbin
export JAVA_HOME=/usr/local/java/jdk1.8.0_131 export PATH=$PATH:$JAVA_HOME/bin:/usr/local/nginx-1.20.2/sbin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JRE_HOME=$JAVA_HOME/jre
3.重新載入
啟動nginx
nginx
停止
n ginx -s stop
nginx -s quit
過載配置檔案
nginx -s reload
更改預設埠的方法
1.進入nginx.conf檔案
2.修改下圖位置的埠號
3.找到/etc/nginx/sites-available/default檔案
# sudo vim /etc/nginx/sites-available/default
修改此檔案下的埠號為剛剛nginx.conf中的相同埠
server { listen 8084 default_server; listen [::]:8084 default_server; root /usr/share/nginx/html; xxx.html xxx.htm }
4.重新載入配置檔案
killall -9 nginx
nginx
指定配置檔案啟動的方法
可能由於下載安裝的地址問題使得執行的時候並沒有執行/usr/local/nginx/conf下的配置檔案,此時只需手動nginx指定配置檔案啟動即可
/usr/local/ nginx /sbin/nginx -c /usr/local/nginx/conf/nginx.conf
「其他文章」
- 記一次批量更新整型型別的列 → 探究 UPDATE 的使用細節
- 編碼中的Adapter,不僅是一種設計模式,更是一種架構理念與解決方案
- 執行緒池底層原理詳解與原始碼分析
- 30分鐘掌握 Webpack
- 線性迴歸大結局(嶺(Ridge)、 Lasso迴歸原理、公式推導),你想要的這裡都有
- Django 之路由層
- 【前端必會】webpack loader 到底是什麼
- day42-反射01
- 中心化決議管理——雲端分析
- HashMap底層原理及jdk1.8原始碼解讀
- 詳解JS中 call 方法的實現
- 列印 Logger 日誌時,需不需要再封裝一下工具類?
- 初識設計模式 - 代理模式
- 設計模式---享元模式
- 密碼學奇妙之旅、01 CFB密文反饋模式、AES標準、Golang程式碼
- [ML從入門到入門] 支援向量機:從SVM的推導過程到SMO的收斂性討論
- 從應用訪問Pod元資料-DownwardApi的應用
- Springboot之 Mybatis 多資料來源實現
- Java 泛型程式設計
- CAS核心思想、底層實現