1. 程式人生 > >CentOS7下搭建基於Nginx的HLS,RTMP流媒體直播伺服器

CentOS7下搭建基於Nginx的HLS,RTMP流媒體直播伺服器

CentOS7下搭建基於Nginx的HLS,RTMP流媒體直播伺服器

安裝wget

如果你已安裝wget,本步驟可以跳過

yum -y install wget

更改yum源

更改源為國內源的目的是更快地下載依賴庫,如果您沒有這方面的煩惱可以跳過
這裡更改源地址為網易源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
cd /etc/yum.repos.d/
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
cd

安裝依賴庫

yum -y install gcc gcc-c++ autoconf automake make
yum -y install pcre-devel
yum -y install zlib-devel
yum -y install openssl openssl-devel
#yum -y install gcc gcc-c++ autoconf automake make pcre-devel zlib-devel openssl openssl-devel

複製nginx-1.6.2.tar.gz、nginx-rtmp-module

這裡可以選擇wget方式下載nginx-1.6.2.tar.gz和nginx-rtmp-module。也可以通過百度雲直接下載兩個檔案,並通過XFTP等工具上傳到/root資料夾下。
nginx-1.6.2.tar.gz 百度雲
nginx-rtmp-module.zip 百度雲
nginx-1.6.2.tar.gz下載後,原封不動上傳到/root目錄下
nginx-rtmp-module.zip下載後先本地解壓,然後將包含根目錄的資料夾上傳。
這個資料夾點開後,直接是根目錄
在這裡插入圖片描述
這裡僅給出兩個檔案上傳/下載完成後的操作。

cd
tar -zxvf nginx-1.6.2.tar.gz

安裝、編譯Nginx

cd nginx-1.6.2
./configure --add-module=../nginx-rtmp-module --with-http_ssl_module
make & make install

編輯修改nginx.conf

需要將第13行的 server_name改為你的IP地址
application live_rtmp,application live_hls 等可以根據自己的需求修改

worker_processes  1;
events{
    worker_connections  1024;
}

http{
    include mime.types;
    default_type application/octet-stream;
    sendfile on;
    keepalive_timeout 65;
    server{
        listen 80;
        server_name 192.168.90.88;
        location /{
            root html;
            index index.html index.htm;
            }
        location /hls{
            alias /tmp/app;
            add_header Access-Control-Allow-Origin *; 
            }
        error_page 500 502 503 504 /50x.html;
        location = /50x.html{
            root html;
            }
        }
    }

rtmp{
    server{
        listen 1935;
        chunk_size 4000;
        application live_rtmp{
            live on;
            }
        application live_hls{
            live on;
            hls on;
            hls_path /tmp/app;
            hls_fragment 15s;
            }
        }
    }

建立快取資料夾

cd /tmp
mkdir app

啟動Nginx

cd /usr/local/nginx/sbin/
./nginx

開始推拉視訊流

如果無法推拉視訊流,可以嘗試關閉防火牆

systemctl stop firewalld

HLS推流:

rtmp://server_name/live_hls/+ 流名稱
例如:rtmp://192.168.90.88/live_hls/test

可以使用OBS Studio之類的直播工具,示例如下:
OBS推流示例
rtmp推流及rtmp播放

推流地址: rtmp://server_name/live_rtmp/+ 流名稱
播放地址: rtmp://server_name/live_rtmp/+ 流名稱

rtmp推流,hls播放

rtmp://server_name/live_hls/+ 流名稱
播放地址 : rtmp://server_name/hls/+ 流名稱.m3u8
或:http://server_name/hls/ + 流名稱.m3u8

如果向HLS推流,則.m3u8格式視訊流可以在移動平臺上播放。這可以進行移動直播和多平臺播放。