最近幾年,直播行業比較火,不管是傳統行業的直播,仍是購物、遊戲、教育,都在涉及直播。做爲在互聯網行業奮鬥了多年的小夥伴,你有沒有想過若是使用Nginx搭建一套直播環境,那咱們該如何搭建呢?別急,接下來,咱們就一塊兒使用Nginx來搭建一套直播環境。html
注意:這裏以CentOS 6.8服務器爲例,以root用戶身份來安裝Nginx。nginx
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
複製代碼
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
複製代碼
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
複製代碼
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
複製代碼
nginx-rtmp-module的官方github地址:github.com/arut/nginx-…c++
使用命令:git
git clone https://github.com/arut/nginx-rtmp-module.git
複製代碼
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時,指定的是openssl、pcre和zlib的源碼解壓目錄,安裝完成後Nginx配置文件的完整路徑爲:/usr/local/nginx-1.19.1/conf/nginx.conf。github
配置Nginx主要是對Nginx的nginx.conf文件進行配置,咱們能夠在命令行輸入以下命令編輯nginx.conf文件。vim
vim /usr/local/nginx-1.19.1/conf/nginx.conf
複製代碼
在文件中添加以下內容。設計模式
rtmp {
server {
listen 1935; #監聽的端口
chunk_size 4096;
application hls { #rtmp推流請求路徑
live on;
hls on;
hls_path /usr/share/nginx/html/hls;
hls_fragment 5s;
}
}
}
複製代碼
其中,hls_path須要可讀可寫的權限。接下來,咱們建立/usr/share/nginx/html/hls 目錄。bash
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;
}
}
複製代碼
而後啓動Nginx:微信
/usr/local/nginx-1.19.1/sbin/nginx -c /usr/local/nginx-1.19.1/conf/nginx.conf
複製代碼
OBS(Open Broadcaster Software) 是以互聯網流媒體直播內容爲目的免費和開放源碼軟件。須要下載這個軟件,藉助這個軟件進行推流(電腦沒有攝像頭的貌似安裝不了。。。)
OBS的下載連接爲:obsproject.com/zh-cn/downl…
安裝後,桌面上會有一個以下所示的圖表。
打開後咱們須要有一個場景,而且在這個場景下有一個流的來源(能夠是窗口,若是選的是視頻則會自動識別攝像頭),接下來就是設置了。
在配置中最須要關注的就是流的配置,因爲是自建的流媒體服務器因此咱們按照以下所示的方式進行配置。
rtmp://你的服務器ip:端口(1935)/live #URL填寫流的地址
複製代碼
設置完成咱們就能夠 開始推流了。
推薦一個拉流的測試地址,裏面針對各類協議都能測試拉流測試,須要注意圖中幾個地方,因爲咱們使用的rtmp協議,咱們選擇這一欄,底下填寫咱們推流的地址和咱們在上面obs的設置裏面配置的流的名稱,start, ok搞定!!!
關注「 冰河技術 」微信公衆號,後臺回覆 「設計模式」 關鍵字領取《深刻淺出Java 23種設計模式》PDF文檔。回覆「Java8」關鍵字領取《Java8新特性教程》PDF文檔。
好了,今天就聊到這兒吧!別忘了點個贊,給個在看和轉發,讓更多的人看到,一塊兒學習,一塊兒進步!!
若是你以爲冰河寫的還不錯,請微信搜索並關注「 冰河技術 」微信公衆號,跟冰河學習高併發、分佈式、微服務、大數據、互聯網和雲原生技術,「 冰河技術 」微信公衆號更新了大量技術專題,每一篇技術文章乾貨滿滿!很多讀者已經經過閱讀「 冰河技術 」微信公衆號文章,成功跳槽到大廠;也有很多讀者實現了技術上的飛躍,成爲公司的技術骨幹!若是你也想像他們同樣提高本身的能力,實現技術能力的飛躍,進大廠,升職加薪,那就關注「 冰河技術 」微信公衆號吧,天天更新超硬核技術乾貨,讓你對如何提高技術能力再也不迷茫!