作者個人研發的在高並發場景下,提供的簡單、穩定、可擴展的延遲消息隊列框架,具有精準的定時任務和延遲隊列處理功能。自開源半年多以來,已成功為十幾家中小型企業提供了精準定時調度方案,經受住了生產環境的考驗。為使更多童鞋受益,現給出開源框架地址:https://github.com/sunshinelyz/mykit-delay
寫在前面
最近幾年,直播行業比較火,無論是傳統行業的直播,還是購物、遊戲、教育,都在涉及直播。作為在網際網路行業奮鬥了多年的小夥伴,你有沒有想過如果使用Nginx搭建一套直播環境,那我們該如何搭建呢?別急,接下來,我們就一起使用Nginx來搭建一套直播環境。
安裝Nginx
注意:這裡以CentOS 6.8伺服器為例,以root用戶身份來安裝Nginx。
1.安裝依賴環境
- 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
- 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
- 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
- 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
- make
- make install
這裡需要注意的是:安裝Nginx時,指定的是openssl、pcre和zlib的源碼解壓目錄,安裝完成後Nginx配置文件的完整路徑為:/usr/local/nginx-1.19.1/conf/nginx.conf。
配置Nginx
配置Nginx主要是對Nginx的nginx.conf文件進行配置,我們可以在命令行輸入如下命令編輯nginx.conf文件。
- 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 目錄。
- 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推流
OBS(Open Broadcaster Software) 是以網際網路流媒體直播內容為目的免費和開放源碼軟體。需要下載這個軟體,藉助這個軟體進行推流(電腦沒有攝像頭的貌似安裝不了。。。)
OBS的下載連結為:https://obsproject.com/zh-cn/download。
安裝後,桌面上會有一個如下所示的圖標。
打開後我們需要有一個場景,並且在這個場景下有一個流的來源(可以是窗口,如果選的是視頻則會自動識別攝像頭),接下來就是設置了。
在配置中最需要關注的就是流的配置,由於是自建的流媒體伺服器所以我們按照如下所示的方式進行配置。
- rtmp://你的伺服器ip:埠(1935)/live #URL填寫流的地址
設置完成我們就可以 開始推流了。
拉流測試地址
推薦一個拉流的測試地址,裡面針對各種協議都能測試拉流測試,需要注意圖中幾個地方,由於我們使用的rtmp協議,我們選擇這一欄,底下填寫我們推流的地址和我們在上面obs的設置裡面配置的流的名稱,start, ok搞定!!!
本文轉載自微信公眾號「 冰河技術」,可以通過以下二維碼關注。轉載本文請聯繫 冰河技術公眾號。
【編輯推薦】
【責任編輯:
武曉燕
TEL:(010)68476606】
點讚
0