欢迎访问我的个人博客:xie-kang.com
原文地址
以下步骤建议在同一目录(如:~/Downloads)下执行(防止小白把目录弄混乱)
下载并解压nginx-rtmp(建议在~/Downloads下执行,便于统一操作)
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
unzip -o master.zip
如果你从未下载过nginx源码则执行下列操作,下载过的话则跳过
wget http://nginx.org/download/nginx-1.12.2.tar.gz
tar -zxvf nginx-1.12.2.tar.gz
nginx编译与安装
cd nginx-1.12.2
./configure --prefix=/usr/local/nginx --with-http_ssl_module --add-module=../nginx-rtmp-module-master
注: --add-module=你解压nginx-rtmp的路径
make
sudo make install
修改nginx.conf的配置
特别注意!rtmp块与http块同级,所以rtmp块需放在http{}外面
注意 rtmp的 hls_path 的设置,在http块中hls服务相关需要使用到
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
record off;
hls on; #开启hls
hls_path /data/rtmpTmp; #流文件的存放路径,.m3u8的存放路径
hls_fragment 5s; #每个TS文件包含5秒的视频内容
}
}
}
#简略设置
http {
server {
listen 80;
location /hls {
# Serve HLS fragments
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
root /data/rtmpTmp; # 即为rtmp块中的hls_path所设置的路径
expires -1;
}
}
}
启动或重启nginx
启动:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
重启:/usr/local/nginx/sbin/nginx -s reload
设置防火墙
firewall-cmd --zone=public --add-port=1935/tcp --permanent
firewall-cmd --zone=public --add-port=1935/udp --permanent
firewall-cmd --reloadl
注:使用腾讯云、阿里云等同学也需要到云控制台中的防火墙设置1935端口的权限
自此,RTMP服务搭建完毕
测试方法
推流:
下载直播推流软件OBS,安装并设置
设置路径, “设置” -> “推流”

开始推流直播

拉流:
下载vlc,并安装运行


最终效果

浙公网安备 33010602011771号