安裝nginx
安裝兩個依賴庫
sudo apt-get install autoconf automake
sudo apt-get install libpcre3 libpcre3-dev
安裝zlib庫
sudo apt-get install openssl
sudo apt-get install libssl-dev
如果安裝命令回車之后出現(xiàn)如下信息,請參考【Ubuntu “無法獲得鎖”解決方案】解決篮洁,但是我親測對我沒用硅蹦,直接重啟搞定
E: 無法獲得鎖 /var/lib/dpkg/lock - open (11: 資源暫時不可用)
E: 無法鎖定管理目錄(/var/lib/dpkg/)剑鞍,是否有其他進程正占用它?
進入家目錄铐然,新建一個文件夾蔬崩,這里以lxf為例
cd ~
mkdir lxf
下載所需源碼
// 下載nginx-rtmp源碼
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
// 修改壓縮包的名字
mv master.zip module.zip
// 下載nginx
wget https://github.com/nginx/nginx/archive/master.zip
// 下載nginx的依賴pcre源碼
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz
下載完成之后使用unzip命令進行解壓
unzip master.zip
unzip module.zip
tar -zxvf pcre-8.39.tar.gz
配置編譯文件,準(zhǔn)備編譯安裝
// 先進入nginx-master目錄
cd nginx-master/
在nginx-master目錄下有一個auto文件夾搀暑,里面有一個名為configure的配置文件沥阳,我們先來?通過它進行一些配置
// prefix:指定安裝目錄
// add-module:指定模塊文件夾
auto/configure --prefix=/usr/local/nginx --with-pcre=../pcre-8.39 --with-http_ssl_module --with-http_v2_module --with-http_flv_module --with-http_mp4_module --add-module=../nginx-rtmp-module-master/
配置好之后會多出一個Makefile文件(一種配置文件,定義了一系列的規(guī)則來指定編譯操作)與objs文件夾
// 編譯
make
// 安裝
sudo make install
當(dāng)你make后自点,看到則?代表編譯成功
再執(zhí)行【sudo make install】桐罕,看到這個則代表安裝完成
現(xiàn)在我們?nèi)y試一下
cd /usr/local/nginx/sbin/
sudo ./nginx -t
看到successful說明配置文件正確!桂敛,如果是failed的話看看你是不是沒加sudo
啟動nginx服務(wù)器
sudo ./nginx
默認端口是80功炮,所以直接到瀏覽器中直接敲入本地地址 127.0.0.1,顯示【W(wǎng)elcome to nginx!】就代表nginx已經(jīng)成功安裝
配置nginx
創(chuàng)建推流存放文件夾
// 為里以 /usr/local/var/www/hls 為例
cd /usr/local
sudo mkdir -p var/www/hls
進入nginx的conf目錄术唬,使用vim編輯nginx.conf文件
cd /usr/local/nginx/conf
sudo vim nginx.conf
配置Nginx薪伏,支持http協(xié)議拉流
location /hls {
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
root /usr/local/var/www;
add_header Cache-Control no-cache;
}
配置Nginx,支持rtmp協(xié)議推流
rtmp {
server {
listen 1935;
application rtmplive {
live on;
max_connections 1024;
}
application hls{
live on;
hls on;
hls_path /usr/local/var/www/hls;
hls_fragment 1s;
}
}
}
重啟nginx服務(wù)器
cd /usr/local/nginx/sbin/
sudo ./nginx -s reload
如果執(zhí)行【sudo ./nginx -s reload】出現(xiàn)下面這個問題
nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
就使用nginx -c的參數(shù)指定nginx.conf文件的位置粗仓,接著再reload一下就好了
sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
我Ubuntu地址為192.168.123.191
推流至RTMP到服務(wù)器 rtmp://192.168.123.191:1935/rtmplive/lxf
ffmpeg -re -i 異形.契約.mp4 -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 rtmp://192.168.123.191:1935/rtmplive/lxf
推流至HLS到服務(wù)器 http://192.168.123.191/hls/lxf.m3u8
ffmpeg -re -i 異形.契約.mp4 -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 rtmp://192.168.123.191:1935/hls/lxf
如果出現(xiàn)如下錯誤說明你的電腦沒安裝ffmpeg
-bash: ffmpeg: command not found
使用Homebrew來安裝FFmpeg
// 安裝Homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
// 安裝FFmpeg
brew install ffmpeg
開始推流嫁怀,終端上就開始不斷的刷新推流信息
我們可以用電腦上的VLC這個軟件來測試是否推流成功
OK设捐,rmtp打開正常,hls就不演示了塘淑,一樣的