1 技术架构
摄像头 RTSP 直播源->本地 FFMpeg 处理成 HLS->nginx 转发->浏览器客户端 ckplayer.js 查看
2 部署
2.1 查看摄像头 RTSP 直播源
首先在本地使用 VLC 软件查看直播源是否正常
rtsp://用户名:密码@192.168.1.101:554
画面正常,可以进行下一步操作。
2.2 本地 FFmpeg 处理
使用 FFMpeg 转换 RTSP 流到 HLS 流。
ffmpeg -f rtsp -rtsp_transport tcp -i rtsp://用户名:密码@192.168.1.101:554 -codec copy -f hls -hls_list_size 2 -hls_flags 2 -hls_time 2 "D:/nginx-1.7.11.3-Gryphon/hls/test.m3u8"
其中 D:/nginx-1.7.11.3-Gryphon/hls
存放 hls 文件的位置
2.3 使用 Nginx 进行反代配置
准备好 HLS 文件后,需要使用 Nginx 进行反代配置处理。
worker_processes 1;
events {
worker_connections 1024;
}
rtmp{
server {
listen 8090;
chunk_size 4000;
application hls {
live on;
hls on;
hls_path hls;
hls_fragment 2s;
}
}
}
http{
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
location /hls {
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
alias hls;
expires -1;
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
if ($request_method = 'OPTIONS') {
return 204;
}
}
}
}
2.4 播放 HLS 直播源
配置完成后,使用 ckplayer.js 即可播放。
http://localhost/hls/test.m3u8
3 参考资料
https://blog.csdn.net/Yinanbo/article/details/121949522
https://blog.csdn.net/qq_40816360/article/details/83999836