我們在Mac上搭建直播服務(wù)器Nginx說了如何在Mac搭建視頻直播服務(wù)器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協(xié)議獲取HLS的拉流
location /hls {
# Serve HLS fragments
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
root html;
add_header Cache-Control no-cache;
}
#HLS配置結(jié)束
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支持結(jié)束
}
}
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