一、摄像头rtsp流画面测试
首先根据相关摄像头内附的说明书对摄像头进行安装以及wifi配置或者通过网线直连,配置完成后确保摄像头画面能够在手机APP或者相关应用程序上正常播放。
然后进入海康威视官网下载并安装SADP摄像头IP搜索工具。
打开SADP(设备网络搜索),即能查看当前局域网下的所有海康摄像头IP地址。
下面进行摄像头rtsp流播放测试:
1.下载VLC media player,并安装打开。
2.打开媒体 –> 网络串流 –> 网络。
3.输入海康摄像头的rtsp地址并进行播放。海康的rtsp地址一般组成如下:rtsp://admin:{摄像头背后验证码或密码}@{摄像头IP地址}:554/h264/ch1/main/av_stream
能够正常播放后,进行下一步操作。
二、流媒体服务器搭建
要将监控画面在web端显示需要流媒体服务器的支持,当前主流的流媒体服务主要通过SRS、nginx、nodejs等搭建,下面主要介绍由node搭建的流媒体服务器。
要求电脑上有node环境,若没有请去node官网进行下载以及安装。安装完成后打开cmd输入node -v查看node版本以及检查node是否安装成功。
该流媒体服务器采用node-media-server
插件,具体搭建流程如下:
1.新建相关文件夹。
2.使用cmd并进入新建的文件夹内,输入npm install node-media-server
安装相关插件。
3.安装完成后在新建的文件夹内新建一个js文件,在js文件内输入相关调用以及配置代码。
const NodeMediaServer= require('node-media-server');
const config = {rtmp: {port: 1935,chunk_size: 60000,gop_cache: true,ping: 60,ping_timeout: 30},http: {port: 8000,allow_origin: '*',}
};
var nms = new NodeMediaServer(config)
nms.run();
4.运行node服务。
显示如上界面则表示启动完成,可以在浏览器上登录 localhost:8000/admin
查看node服务页面。
三、视频流转码以及推流
因为rtsp流无法直接在web端播放,因此通常将rtsp流转化为rtmp、httpFlv、hls等编码格式,因为rtmp依赖flash,hls流的延迟太大,因此选用httpFlv作为传输的码流格式,转码方式如下:
1.下载并安装ffmpeg。
2.配置环境变量并在cmd使用ffmpeg -h
测试。
3.使用ffmpeg指令对rtsp流进行转码以及推流(下方的node端地址中的STREAM_NAME_agv_1可以随意更改表示直播的“房间”
)。
4.再次打开VLC并打开网络串流,输入httpFlv码流地址进行播放,能够正常播放即转码完成。(将上方图片的node端地址中的rtmp改为http并加入后缀.flv即http://{node服务的IP地址以及端口}/live/STREAM_NAME_agv_1.flv
)。
四、网页显示
web端显示需要支持httpFlv格式的播放器,这边选用的是LivePlayer.js。根据其相关配置配置完后,即可在web端显示监控画面。