Mac上Nginx-增加对HLS的支持

Mac上Nginx-增加对HLS的支持

我们在Mac上搭建直播服务器Nginx说了如何在Mac搭建视频直播服务器Nginx,对RTMP推流和RTMP拉流的支持.接下来说说如何增加对HLS的支持. 在Nginx增加对HLS种支持比较简单,只是简单的修改下配置文件nginx.conf即可.

1. 打开配置文件

 /usr/local/etc/nginx/nginx.conf

2. 增加对 HLS 的支持

2.1 找到http 下的 server,在花括号中增加
server {
        listen       8080;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }
       #HLS配置开始,这个配置为了`客户端`能够以http协议获取HLS的拉流
        location /hls {
            # Serve HLS fragments
            types {
                application/vnd.apple.mpegurl m3u8;
                video/mp2t ts;
            }
            root html;
            add_header Cache-Control no-cache;
        }
       #HLS配置结束
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
2.1 找到rtmp 下的 server 在花括号中增加
rtmp {
    server {
        listen 1935;
        application gzhm {
            live on;
            record off;
        }
        #增加对HLS支持开始
        #推流必须是基于H264/AAC格式
        application hls {
            live on;
            hls on;
            hls_path /usr/local/var/www/hls;
        }
      #增加对HLS支持结束
    }
}

3. 保存配置文件,重新加载nginx配置

 nginx -s reload

4. 测试 HLS 推流

ffmpeg -loglevel verbose -re -i  你电脑视频的全路径  -vcodec libx264 -vprofile baseline -acodec libmp3lame -ar 44100 -ac 1 -f flv rtmp://localhost:1935/hls/你的m3u8的文件名称(不包含.m3u8后缀)

然后你就可以在这个目录

/usr/local/var/www/hls

看到生成一个个ts的文件,还会生成一个你的m3u8的文件名称.m3u8的文件

5. 测试 HLS 拉流

你可以在本地Safari里输入地址查看视频(需要等movie.m3u8文件生成后),也可以用iPad或者iPhone上的Safari来访问(需要把localhost改为nginx的所在电脑的ip地址)

 http://localhost:8080/hls/你的m3u8的文件名称.m3u8

参考文章

嗷大喵的让nginx支持HLS

原文地址:https://www.cnblogs.com/LiLihongqiang/p/6704666.html