去旅游、自由行、旅游攻略、西藏旅游、旅游资讯、旅游线路、旅游景点、旅游景点门票、一个做介绍旅游资讯和旅游景点的博客

基于CentOS7搭建nginx流媒体服务器,实现rtmp直播流,m3u8视频流

未命名 2390℃ 0

首先centos下载依赖包

 yum install gcc-c++  pcre  pcre-devel  zlib  zlib-devel  openssl  openssl-devel

无法执行就分别执行以下安装

基于CentOS7搭建nginx流媒体服务器,实现rtmp直播流,m3u8视频流

# gcc 安装  : 

 yum install gcc-c++

# pcre pcre-devel 安装 :  yum install -y pcre pcre-devel

# zlib 安装 :      yum install -y zlib zlib-devel

# openssl 安装 :  yum install -y openssl openssl-devel

下载安装包

wget https://nginx.org/download/nginx-1.18.0.tar.gz


nginx-rtmp-module-master模块

git clone https://github.com/arut/nginx-rtmp-module.git  

解压nginx-rtmp-module-master

tar -zxvf nginx-1.18.0.tar.gz  

编译安装nginx 并配置nginx支持 rtmp

# 进入nginx文件夹

cd nginx-1.18.0

# 编译nginx 指定nginx路径 指定rtmp模块路径 就是刚才解压的文件夹

./configure --prefix=/usr/local/nginx --add-module=/root/nginx-rtmp-module-master

make

make install

配置nginx.conf

rtmp {

    server {

        listen 1935;

        application live {

            live on;

        }

        application hls {

            live on;

            hls on;

            hls_path /tmp/hls;

            hls_fragment 5s;  

        }

    }

}

server {

        listen       80;

        server_name  localhost;

        location / {

            root   /home/devops/dist;

            index  index.html index.htm;

        }

        location /hls {

            types {

                application/vnd.apple.mpegurl m3u8;

                video/mp2t ts;

            }

            root /tmp;

            add_header Cache-Control no-cache;

        }

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

}


启动nginx

进入/usr/local/nginx/sbin目录

# 启动命令

./nginx

# 重启命令

./nginx -s reload

# 停止命令

./nginx -s stop


下载ffmpeg

# 安装EPEL Releas

yum install -y epel-release 

# 如果出现缺少Code提示,可以:如果出现缺少Code提示,可以:

rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

# 安装完成之后,查看是否安装成功

yum repolist

# 安装Nux-Dextop源导入一个Code

rpm –import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro

# 安装nux-dextop 源

sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm

# 查看repo源是否安装成功

yum repolist

#yum安装ffmpeg

yum install -y ffmpeg

#安装完成后检查ffmpeg 版本

ffmpeg -version 


推流测试 或者采用obs 和vlc进行测试


# RTMP流,推流至rtmplive:

ffmpeg -re -i "test.mp4" -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 rtmp://172.19.128.22:1935/live/test1

# HLS流,推流至hls:

ffmpeg -re -i "test.mp4" -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 rtmp://172.19.128.22:1935/hls/test2

# 用vlc访问:

# rtmp直播流

rtmp://ip地址/live/test1

# m3u8视频流

http://IP地址/hls/test2.m3u8