首页 > 技术文章 > 海康IPC+ffmpeg+nginx+ckplayer实现网页实时预览监控视频

axin85 2019-10-26 00:20 原文

一、准备:

1.海康IPC

2.交换机

3.笔记本充当服务器

4.ffmpeg  

5.已安装过nginx-rtmp-module功能的nginx

6.ckplayer

7.java或.net或php或dw等web开发工具(用于测试实现效果)

8.vlc

可播放rtsp和rtmp流的播放器  用来测试

 

二、rtsp流 

海康IPC支持通过rtsp协议进行流传输,因此获取流非常方便,取流地址为:rtsp://admin:12345@192.168.1.102:554/h264/ch1/main/av_stream

其中,admin和12345是登录IPC的用户名和密码,@后面跟IPC的IP地址,端口号默认为554,如果修改过,这里填修改后的端口号。只要是支持rtsp协议的IPC都可以通过类似方式取流,各厂商的格式可能略有不同,请查阅各厂商的相关说明

连接好IPC、电脑、交换机后,打开vlc播放器,选择媒体-->打开网络串流-->填入rtsp协议-->播放,如果连接和参数正确,此时vlc应该可以播放监控画面

 

 

三、安装ffmpeg

通过第一步我们确认了rtsp流可以正确获取后,第二步我们安装ffmpeg,用于rtsp流转rtmp流

ffmpeg是一个功能非常强大的视频处理工具,居家旅行学习开发必备,注意,ffmpeg需要区分32位和64位,请根据自己操作系统进行选择

下载解压后得到如下文件夹结构

配置环境变量:将x:/ffmpeg/bin添加到Path中,具体添加方法大家可查看java配置jdk的方法,网上很多

测试ffmpeg:打开cmd(使用管理员身份打开),输入:ffmpeg  获取到如下图所示界面,说明ffmpeg安装成功

 

四、nginx搭建

nginx我的理解有点类似iis的功能,是个信息管理器(如果不对,请大神斧正),原版的nginx是不带有rtmp发布功能的,需要安装nginx-rtmp-module插件,网上的方法很多,但是由于我看得一脸懵逼,所以花了好久找到已安装好插件的nginx,链接已奉上,这个我们就可以直接用了

将压缩包解压到任意位置,进入conf文件夹,打开nginx.conf文件,找到http{server{listen,将端口号改成10001(只要没有被占用的端口都可以,我习惯1w+),顺便看看有个rtmp{server{listen1935,这个就是发布rtmp流的端口,后面会用到

保存nginx.conf,双击nginx.exe,

 

至此,nginx成功搭建

 

五、rtsp转rtmp

搭建好nginx,说明通过ffmpeg转换的rtmp流有地方接收了,这一步我们就来转流

打开cmd输入以下指令:

ffmpeg -i "rtsp://admin:12345@192.168.1.102:554/h264/ch1/main/av_stream" -f flv -r 1 -s 1920x1080 -an "rtmp://192.168.1.100:1935/live/stream"

 

rtsp://是IPC取流的协议地址,rtmp则是刚才搭建nginx的地址,这个1935端口就是刚才配置nginx时看到的rtmp端口,输入后首先会看到关于ffmpeg的一些信息,出现如下界面则说明ffmpeg已成功将rtmp流推送到了nginx

我们再打开vlc播放器,测试下是否可以成功播放rtmp流,方法依然是打开vlc,填入:rtmp://192.168.1.100:1935/live/stream 播放,如果可以看到监控画面说明成功

 

六、网站播放

前面我们已经拿到rtmp流,最后我们将流通过ckplayer在网页上进行播放,使用ckplayer请移步到:http://www.ckplayer.com/tool/help/100.htm

推荐阅读