X|K

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

欢迎访问我的个人博客: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,并安装运行

最终效果

posted on 2022-03-14 01:22  X|K  阅读(361)  评论(0)    收藏  举报