CentOS7下搭建基于Nginx的HLS,RTMP流媒体直播服务器

CentOS7下搭建基于Nginx的HLS,RTMP流媒体直播服务器

  • 安装wget
  • 更改yum源
  • 安装依赖库
  • 复制nginx-1.6.2.tar.gz、nginx-rtmp-module
  • 安装、编译Nginx
  • 编辑修改nginx.conf
  • 创建缓存文件夹
  • 启动Nginx
  • 开始推拉视频流

安装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下载后先本地解压,然后将包含根目录的文件夹上传。
这个文件夹点开后,直接是根目录
CentOS7下搭建基于Nginx的HLS,RTMP流媒体直播服务器_第1张图片
这里仅给出两个文件上传/下载完成后的操作。

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之类的直播工具,示例如下:
CentOS7下搭建基于Nginx的HLS,RTMP流媒体直播服务器_第2张图片
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格式视频流可以在移动平台上播放。这可以进行移动直播和多平台播放。

你可能感兴趣的:(Linux,直播服务器,流媒体直播服务器,hls,rtmp,Linux)