window7 海康硬盘录像机+ffmpeg+nginx+ckplayer实现网页实时预览监控视频(无敌详细版)
公司要求,将大华,海康威视的硬盘录像机的监控视频在网页端统一显示,网上的文章大部分都是在服务器上的操作,本人小白一个所以踩了几个坑(之前尝试过用编写ocx,不过比较难,而且兼用性也不好),以下是根据博客https://blog.****.net/qq229943249/article/details/64907336,自己进行操作的具体过程记录一下。(以下的ip要改成自己对应的ip)
1,安装vlc(用于测试rtsp,rtmp测试,新版本的不可以播放,后面换成老版本才可以)
rtsp://admin:[email protected]:554/h264/ch33/main/av_stream
注意通道号的选择https://blog.****.net/xiejiashu/article/details/71786187
2,安装ffmpeg
3,nginx搭建(服务器)
修改一下配置文件conf
对html文件夹进行修改(下面的ckplayer有具体说明)
启动服务
检查是否成功(方法2)
cmd:netstat -a 查看端口占用情况,如果nginx成功启动,那么8081和1935也会被占用
启动错误:路径有中文
3.1 启动方式
1,启动
C:\nginx-1.10.2>start nginx-rtmp 或 C:\nginx-1.10.2>nginx-rtmp.exe
注:建议使用第一种,第二种会使你的cmd窗口一直处于执行中,不能进行其他命令操作。
2、停止:
C:\nginx-1.10.2>nginx-rtmp.exe -s stop 或 C:\nginx-1.10.2>nginx-rtmp.exe -s quit
注:stop是快速停止nginx,可能并不保存相关信息;quit是完整有序的停止nginx,并保存相关信息。
3、重新载入Nginx:
C:\nginx-1.10.2>nginx.exe -s reload
当配置信息修改,需要重新载入这些配置时使用此命令。
3.2目录解析
├── client_body_temp
├── conf # Nginx所有配置文件的目录
│ ├── fastcgi.conf # fastcgi相关参数的配置文件
│ ├── fastcgi.conf.default # fastcgi.conf的原始备份文件
│ ├── fastcgi_params # fastcgi的参数文件
│ ├── fastcgi_params.default # 所有结尾为default的文件都是备份文件
│ ├── koi-utf
│ ├── koi-win
│ ├── mime.types # 媒体类型
│ ├── mime.types.default
│ ├── nginx.conf # Nginx主配置文件
│ ├── nginx.conf.default
│ ├── scgi_params # scgi相关参数文件
│ ├── scgi_params.default
│ ├── uwsgi_params # uwsgi相关参数文件
│ ├── uwsgi_params.default
│ └── win-utf
├── fastcgi_temp # fastcgi临时数据目录
├── html # Nginx默认站点目录
│ ├── 50x.html #错误页面优雅替代显示文件,例如当出现502错误时会调用此页面
│ └── index.html # 默认的首页文件
├── logs # Nginx日志目录
│ ├── access.log # 访问日志文件
│ ├── error.log # 错误日志文件
│ └── nginx.pid # pid文件,Nginx进程启动后,会把所有进程的ID号写到此文件
├── proxy_temp # 临时目录
├── sbin # Nginx命令目录
│ └── nginx # Nginx的启动命令
├── scgi_temp # 临时目录
└── uwsgi_temp # 临时目录
4,rtsp转rtmp
打开cmd输入以下指令:
ffmpeg -re -rtsp_transport tcp -i "rtsp://admin:[email protected]:554/h264/ch33/main/av_stream" -f flv -vcodec libx264 -vprofile baseline -acodec libmp3lame -ar 44100 -strict -2 -ac 1 -f flv -s 300x200 -q 10 "rtmp://192.168.100.121:1935/mylive/show" (分辨率设置小点)
ffmpeng:常用参数说明:
主要参数:
i 设定输入流
f 设定输出格式
ss 开始时间
视频参数:
b 设定视频流量,默认为200Kbit/s-r 设定帧速率,默认为25
s 设定画面的宽与高-aspect 设定画面的比例
vn 不处理视频-vcodec 设定视频编解码器,未设定时则使用与输入流相同的编解码器
音频参数:
ar 设定采样率
ac 设定声音的Channel数
acodec 设定声音编解码器,未设定时则使用与输入流相同的编解码器an 不处理音频
以下是测试成功的截图
转换成功后,也生成m3u8文件 在http的8081端口
http://192.168.100.121:8081/multimedia/hls/live/show.m3u8 注意别放空格上去
这个地址可以放在vlc进行测试
5,使用ckplayer播放
http://www.ckplayer.com/tool/help/56.htm ckplayer的帮助手册
index.htm的内容
ckplayer依赖的文件
6,谷歌浏览器的问题
设置为允许