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

873次阅读
没有评论

近期有搭建流媒体服务器的相关需求,通过 nginx 搭建流媒体服务器,实现 rtmp 直播流,m3u8 视频流,特以此作为笔记留档。

1. 下载依赖包

# 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

2. 下载安装包

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

3. 下载 nginx-rtmp-module-master 模块

wget https://github.com/arut/nginx-rtmp-module/archive/refs/tags/v1.2.2.tar.gz

4. 解压

解压 nginx,解压 nginx-rtmp-module-master

tar -zxvf nginx-1.22.1.tar.gz
tar -zxvf v1.2.2.tar.gz

5. 编译安装

# 进入 nginx 文件夹
cd nginx-1.21.1
# 编译 nginx 指定 nginx 路径 指定 rtmp 模块路径 就是刚才解压的文件夹
./configure --prefix=/usr/local/nginx --add-module=/root/nginx-rtmp-module-master

make

make install

6. 配置 nginx.config

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;}
}

7. 启动 nginx

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

# 启动命令
./nginx

# 重启命令
./nginx -s reload

# 停止命令
./nginx -s stop

8. 下载 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

9. 推流

# 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://192.168.40.17: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://192.168.40.17:1935/hls/test2

# 用 vlc 访问:# rtmp 直播流
rtmp://192.168.40.17:1935/live/test1

# m3u8 视频流 
http://192.168.40.17/hls/test2.m3u8

 

 

微信扫描下方的二维码阅读本文

正文完
 0
柹子丶
版权声明:本站原创文章,由 柹子丶 于2023-02-04发表,共计1936字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码