Window 下安装配置 nginx 的 HLS m3u8 点播流媒体服务
器
下载 nginx
下载地址:http://nginx.org/en/download.html,下载最新版本
nginx/Windows-1.9.9
文件:
nginx-1.9.9.zip
配置 nginx
nginx-1.9.9\conf\nginx.conf
server {
......
location / {
root
hls;
index index.html index.htm;
}
......
}
新增文件夹 hls ,把生成的 m3u8 和切片好的 ts 文件或目录拷贝到 hls 目
录下。
nginx-1.9.9\conf\mime.types
增 加 以 下 三 行 : 在 application/zip zip; 这 一 行 后 面 增 加 2 行 :
application/x-mpegURL m3u8; application/vnd.apple.mpegurl m3u8; 在
video/x-msvideo avi;行后,增加 1 行: video/MP2T ts;
启动 nginx
测试
测试地址:http://127.0.0.1:81/test2/test2.m3u8
方法一、桔子浏览器可以直接播放。
方法二、flash 网页播放器
文件
m3u8-v2.0.rar
ckplayer6.7.zip
示例:
var flashvars={
f:'m3u8.swf',
a:'http://www.hls.com/test2/test2.m3u8',
s:4,
c:0
};
var
params={bgcolor:'#FFF',allowFullScreen:true,allowScriptAccess:'always',
wmode:'transparent'};
CKobject.embedSWF('ckplay/ckplayer/ckplayer.swf','a1','ckplayer
_a1','600','400',flashvars,params);
视频切片(MP4/FLV)
使用工具 ffmpeg
文件
命令
ffmpeg-20151217-git-9d1fb9e-win64-shared.7z
ffmpeg
-i
C:\mada\hls\resourse\test.flv
-codec
copy
-bsf
h264_mp4toannexb C:\mada\hls\resourse\test.ts
ffmpeg -i C:\mada\hls\resourse\test.ts -c copy -map 0 -f segment
-segment_list C:\mada\hls\resourse\test\test.m3u8 -segment_time 10
C:\mada\hls\resourse\test\test%06d.ts
将生产的文件拷贝到 nginx 的 hls 文件夹下。
注意:test 文件夹一定要事先存在。
切片速度很快,700M 大约 20S 时间。
四、nginx 流媒体反向代理
使用 nginx/Windows-1.9.9
upstream www.hls.com {
ip_hash;
server
127.0.0.1:81 max_fails=2 fail_timeout=30s;
server
127.0.0.2:81 max_fails=2 fail_timeout=30s;
}
server
{
listen 80;
server_name www.hls.com;
location / {
types{
application/vnd.apple.mpegurl m3u8;
video/MP2T ts;
}
proxy_pass
http://www.hls.com;
proxy_set_header Host
$host;
proxy_next_upstream error timeout invalid_header http_500 http_502
http_504;
proxy_set_header
X-Real-IP
$remote_addr;
proxy_set_header
X-Forwarded-For
$proxy_add_x_forwarded_for;
}
}
配置 hosts 文件
127.0.0.1 www.hls.com
Flash 跨域问题
在 nginx 的 html 文件夹下放置 crossdomain.xml 文件。