nginx rtmp推流和拉流

这里不说明如何安装nginx,只是将我配置的nginx.conf文件分享给大家,仅供学习使用,文件内已经写好注释了,应该不难理解。
推流工具:OBS Studio 28.1.2(64bit)

拉流工具:VLC 3.0.17.4


user  peranger;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}

rtmp {
    server {
        listen 1935;
        chunk_size 4000;
        #拉流本地视频文件
        #方式:rtmp://192.168.8.110:1935/vod/***.mp4 需要指定具体的文件名
        application vod {
            play /home/peranger/nginx_test/video;
        }
        #此时可以通过rtmp://192.168.8.110:1935/live 推/拉流,如果有推流码还要加上推流码
        #例:rtmp://192.168.8.110:1935/live/1234 后面的1234就是推流码
        application live { 
            live on;
            allow play all;
        }
        #此时可以通过rtmp://192.168.8.110:1935/live 拉流
        #也可以通过rtmp://192.168.8.110:1935/push 拉流
        #因为它打开了两个推流通道,live和push
        #推流方式:rtmp://192.168.8.110:1935/push,如果有推流码还要加上推流码
        application push {
            live on;
            push rtmp://192.168.8.110:1935/live;
        }

        #使用 hls 进行拉流
        # 可以使用rtmp://192.168.8.110:1935/hls拉流,如果有推流码,还需要加上
        # 使用rtmp://192.168.8.110:1935/hls推流
        application hls {
            live on;#开启实时
            hls on;#开启hls,推流的视频文件会保存在hls_path指定的路径中
            wait_key on; #对视频切片进行保护,这样就不会产生马赛克了
            hls_path /home/peranger/nginx_test/hls;#视频流存放地址
            hls_fragment 5s;        #每个视频切片的时长。
            hls_playlist_length 15s;#总共可以回看的事件
            hls_continuous on;#连续模式
            hls_cleanup on;#对多余的切片进行删除
            hls_nested on;#嵌套模式
        }
    }
}

http {
    server {
        listen      9000;
        server_name localhost;
        ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers         AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5;
        location / {
            root /home/peranger/nginx_test/www;
            index index.html;
        }
        #查看rtmp流状态(仅安装nginx-rtmp-module时支持该功能)
        location /stat {
            rtmp_stat all;
            rtmp_stat_stylesheet stat.xsl;

        }
        location /stat.xsl {
            root /home/peranger/nginx_test/stat;
        }
        #---------- hls ------------
        #使用 hls 进行拉流
        # 可以使用http:/192.168.8.110:9000/hls/index.m3u8拉流,如果有推流码,还需要加上
        #例:http:/192.168.8.110:9000/hls/1234/index.m3u8 其中1234就是推流码
        location /hls {
            types {
                application/vnd.apple.mpegurl m3u8;
            }
            #访问权限开启,否则访问这个地址会报403
            autoindex on;
            alias /home/peranger/nginx_test/hls;#视频流存放地址,与上面的hls_path相对应,这里root和alias的区别可自行百度
            expires -1;
            add_header Cache-Control no-cache;
            #防止跨域问题
            add_header 'Access-Control-Allow-Origin' '*';
            add_header 'Access-Control-Allow-Credentials' 'true';
            add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
            add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
        }
        #---------- flv ------------
        #flv拉流
        #VLC拉流方式:http://192.168.8.110:9000/flv_live?port=1935&app=[rtmp模块中当前正在推流的application]&stream=[OBS设置的推流码]
        #例:http://192.168.8.110:9000/flv_live?port=1935&app=live&stream=1234
        location /flv_live {
            flv_live on;
            chunked_transfer_encoding on;
            add_header 'Access-Control-Allow-Origin' '*';
            add_header 'Access-Control-Allow-Credentials' 'true';
        }
    }
}

我参考了一些博客,比较多和杂,就不贴出来,如有侵权,请与我联系。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值