寫在前面
最近幾年,直播行業(yè)比較火,無論是傳統(tǒng)行業(yè)的直播,還是購物、游戲、教育,都在涉及直播。作為在互聯(lián)網(wǎng)行業(yè)奮斗了多年的小伙伴,你有沒有想過如果使用Nginx搭建一套直播環(huán)境,那我們?cè)撊绾未罱??別急,接下來,我們就一起使用Nginx來搭建一套直播環(huán)境。
安裝Nginx
注意:這里以CentOS 6.8服務(wù)器為例,以root用戶身份來安裝Nginx。
1.安裝依賴環(huán)境
yum -y install wget gcc-c++ ncurses ncurses-devel cmake make perl bison openssl openssl-devel gcc* libxml2 libxml2-devel curl-devel libjpeg*
libpng* freetype*
autoconf automake zlib*
fiex* libxml*
libmcrypt*
libtool-ltdl-devel*
libaio libaio-devel
bzr libtool
2.安裝openssl
wget https://www.openssl.org/source/openssl-1.0.2s.tar.gz
tar -zxvf openssl-1.0.2s.tar.gz
cd /usr/local/src/openssl-1.0.2s
./config --prefix=/usr/local/openssl-1.0.2s
make
make install
3.安裝pcre
wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz
tar -zxvf pcre-8.43.tar.gz
cd /usr/local/src/pcre-8.43
./configure --prefix=/usr/local/pcre-8.43
make
make install
4.安裝zlib
wget https://sourceforge.net/projects/libpng/files/zlib/1.2.11/zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
cd /usr/local/src/zlib-1.2.11
./configure --prefix=/usr/local/zlib-1.2.11
make
make
5.下載nginx-rtmp-module
nginx-rtmp-module的官方github地址:https://github.com/arut/nginx-rtmp-module
使用命令:
git clone https://github.com/arut/nginx-rtmp-module.git
6.安裝Nginx
wget http://nginx.org/download/nginx-1.19.1.tar.gz
tar -zxvf nginx-1.19.1.tar.gz
cd /usr/local/src/nginx-1.19.1
./configure --prefix=/usr/local/nginx-1.19.1 --with-openssl=/usr/local/src/openssl-1.0.2s --with-pcre=/usr/local/src/pcre-8.43 --with-zlib=/usr/local/src/zlib-1.2.11 --add-module=/usr/local/src/nginx-rtmp-module --with-http_ssl_module
make
make install
這里需要注意的是:安裝Nginx時(shí),指定的是openssl、pcre和zlib的源碼解壓目錄,安裝完成后Nginx配置文件的完整路徑為:/usr/local/nginx-1.19.1/conf/nginx.conf。
配置Nginx
配置Nginx主要是對(duì)Nginx的nginx.conf文件進(jìn)行配置,我們可以在命令行輸入如下命令編輯nginx.conf文件。
vim /usr/local/nginx-1.19.1/conf/nginx.conf
在文件中添加如下內(nèi)容。
rtmp {
server {
listen 1935; #監(jiān)聽的端口
chunk_size 4096;
application hls { #rtmp推流請(qǐng)求路徑
live on;
hls on;
hls_path /usr/share/nginx/html/hls;
hls_fragment 5s;
}
}
}
其中,hls_path需要可讀可寫的權(quán)限。接下來,我們創(chuàng)建/usr/share/nginx/html/hls 目錄。
mkdir -p /usr/share/nginx/html/hls
chmod -R 777 /usr/share/nginx/html/hls
接下來,修改http中的server模塊:
server {
listen 81;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
然后啟動(dòng)Nginx:
/usr/local/nginx-1.19.1/sbin/nginx -c /usr/local/nginx-1.19.1/conf/nginx.conf
使OBS推流
OBS(Open Broadcaster Software) 是以互聯(lián)網(wǎng)流媒體直播內(nèi)容為目的免費(fèi)和開放源碼軟件。需要下載這個(gè)軟件,借助這個(gè)軟件進(jìn)行推流(電腦沒有攝像頭的貌似安裝不了。。。)
OBS的下載鏈接為:https://obsproject.com/zh-cn/download。
安裝后,桌面上會(huì)有一個(gè)如下所示的圖表。
打開后我們需要有一個(gè)場景,并且在這個(gè)場景下有一個(gè)流的來源(可以是窗口,如果選的是視頻則會(huì)自動(dòng)識(shí)別攝像頭),接下來就是設(shè)置了。
在配置中最需要關(guān)注的就是流的配置,由于是自建的流媒體服務(wù)器所以我們按照如下所示的方式進(jìn)行配置。
rtmp://你的服務(wù)器ip:端口(1935)/live #URL填寫流的地址
設(shè)置完成我們就可以 開始推流了。
拉流測試地址
推薦一個(gè)拉流的測試地址,里面針對(duì)各種協(xié)議都能測試?yán)鳒y試,需要注意圖中幾個(gè)地方,由于我們使用的rtmp協(xié)議,我們選擇這一欄,底下填寫我們推流的地址和我們?cè)谏厦鎜bs的設(shè)置里面配置的流的名稱,start, ok搞定?。?!
到此這篇關(guān)于使用Nginx搭建流媒體服務(wù)器實(shí)現(xiàn)直播功能的文章就介紹到這了,更多相關(guān)nginx 搭建流媒體服務(wù)器實(shí)現(xiàn)直播內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!