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