hls直播nginx配置

11 篇文章 0 订阅

2.nginx配置

Nginx可以支持多虚机配置,如果是一个ip或域名多虚机的情况,就是要不同的虚机对应不同的端口服务,而如果是多ip或域名一个虚机的情况,则又不一样。这里的实际情况就是,80和8080分别对应一个http协议的虚机,1935对应一个rtmp协议的虚机。关于hls具体配置项的解释参见

https://github.com/arut/nginx-rtmp-module/wiki/Directives

在原有的nginx.conf中加入如下配置

rtmp {

    server {

        listen 1935;

        chunk_size 4000;
      
        #HLS

        # For HLS to work please create a directory in tmpfs (/tmp/app here)
        # for the fragments. The directory contents is served via HTTP (see
        # http{} section in config)
        #
        # Incoming stream must be in H264/AAC. For iPhones use baseline H264
        # profile (see ffmpeg example).
        # This example creates RTMP stream from movie ready for HLS:
        #
        # ffmpeg -loglevel verbose -re -i movie.avi  -vcodec libx264 
        #    -vprofile baseline -acodec libmp3lame -ar 44100 -ac 1 
        #    -f flv rtmp://localhost:1935/hls/movie
        #
        # If you need to transcode live stream use 'exec' feature.
        #
        application hls {
            live on;
            hls on;
            hls_path /usr/local/nginx/html/hls;
            hls_fragment 5s;
        }
    }
}

http {

    server {

        listen  8080;
        location /hls {
            # Serve HLS fragments
            types {
                application/vnd.apple.mpegurl m3u8;
                video/mp2t ts;
            }
            root html;
            expires -1;
        }
    }
}

其中rtmp部分与原有的http部分在同一个级别,但是下面的http部分要放到已有的http部分中,也就是增加一个server部分。
然后运行如下命令检查nginx.conf是否有语法错误
service nginx configtest
重新加载配置文件
service nginx reload
运行下面的命令查看nginx状态
service nginx status
然后查看端口
netstat -nlp
注意,这里reload并不能开启这几个服务,需要使用
service nginx restart
来将rtmp服务和hls服务的端口1935和8080都打开,参看下面的截图

nginx配置HLS的步骤如下: 1. 首先,需要安装并编译支持HLSnginx和ffmpeg。编译nginx时需要添加rtmp模块和HLS模块的支持。具体的编译选项可以参考提供的成功编译的nginx配置选项。这一步不是必须的,你也可以通过apt-get或yum安装nginx。 2. 在nginx配置文件(一般是nginx.conf)中添加以下配置: ``` rtmp { server { listen 1935; # RTMP服务监听的端口号 application live { live on; hls on; hls_path /path/to/hls/files; # HLS切片保存的路径 hls_fragment 10s; # 切片时长(以秒为单位) hls_playlist_length 60s; # 播放列表长度(以秒为单位) } } } ``` 这个配置将启用RTMP服务,并且在live应用程序中启用HLS。你需要根据实际情况修改`hls_path`为HLS切片的存储路径。 3. 重新加载nginx配置或重启nginx服务: ``` sudo nginx -s reload ``` 4. 使用支持HLS的浏览器打开`http://server-ip-address:8080`可以观看直播。如果无法观看,可以尝试访问`http://server-ip-address:8080/hls/livehls.m3u8`进行测试。 请注意,以上步骤仅仅是配置nginx以支持HLS,还需要使用ffmpeg将实时视频流推送到nginx。推送的流仍然是使用RTMP协议。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [基于NGINXHLS直播服务搭建](https://blog.csdn.net/jonta/article/details/62229159)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [nginx上搭建HLS流媒体服务器](https://blog.csdn.net/cjsafty/article/details/7922849)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值