目 录
一、现状
二、系统需求
(一)数据采集和同步
1、原有系统对接
2、新设备接入
(二)转码功能
1、转码规则
2、格式封装
(三)录像功能
(四)录像回看
(五)API接口
三、方案设计
(一)系统架构
(二)系统功能
1、视频接入
2、视频转码
3、视频录像
4、录像回看
5、API接口
(1)登录及授权接口
(2)用户注销
(3)获取用户所有的通道资源
四、关键技术webrtc
(一)WebRTC三角形
(二)WebRTC梯形
(三) WebRTC新功能特性
(四)WebRTC优势
1、方便
2、免费
3、强大的网络穿透能力。
一、现状
目前客户有一台华为视频监控平台IVS9000,接入了9K路视频图像。如下为网络拓扑图:
但是,在实际使用中存在如下问题:
1,在web客户端和手机上显示视频的时候,不方便
2,访问华为的ivs9000的视频,码流比较高,大多都是4M码流,对于手机查看的时候,不太适合。
二、系统需求
(一)数据采集和同步
1、原有系统对接
与华为IVS平台进行对接,获取华为平台的9K多路的视频信息,包括:所有视频的目录组织结构(1万多路视频如何组织和检索)、设备名称、设备编号、通道名称、通道编号、状态、经纬度、有无云台(用于云台和镜头控制)。
2、新设备接入
华为平台将新增加5K路视频,也能够及时接入到本系统。
(二)转码功能
1、转码规则
系统接收到应用程序调用某路视频信号的命令后,转码服务器码流后,按照如下规则处理:
- (2)若调用指令要求的视频为“高清视频”,系统判断接收到的码流类型,若视频质量高于1080P,2M的码流,系统进行转码,转换成1080P,2M的码流。否则不进行转码。
- (2)若调用指令要求的视频为“标清视频”, 系统判断接收到的码流类型,若视频质量高于720P,1M的码流,系统进行转码,转换成720P,1M的码流。否则不进行转码 .
2、格式封装
转码后的流媒体需要封装成RTMP、WebRtc、HLS等可被BS架构或者H5直接调用的格式。
(三)录像功能
提供配置页面,在配置页面可以选择几路摄像头,然后选择开始录制时间和结束录制时间,平台可以按照要求在指定时间段获取华为的视频流进行录像,并后续提供这部分录像的回看功能。录像也需要转码转格式后提供给应用平台。
(四)录像回看
提供web访问页面,主要显示录像回看地址。除了功能(3)提到的自身录像外,也把其他平台录像通过地址列表(包括用户名和密码),可以方便跳转查阅。
(五)API接口
能够给各种应用程序提供API接口,方便多个应用程序调看视频。
三、方案设计
(一)系统架构
根据系统需求,本系统设计如下几个系统:接入服务器,转码服务器,web服务器,录像服务器等,如下图。
其中接入服务器,(1)负责接入华为IVS9000平台上的视频监控设备和视频,包括目录组织结构(1万多路视频如何组织和检索)、设备名称、设备编号、通道名称、通道编号、状态、经纬度、云台和镜头的控制许可等。(2)负责接入新的视频监控资源,建立新设备的目录资源、设备名称、通道名称、状态、经纬度、云台和镜头的控制许可等。同时把视频码流通过网络转发给转码服务器。
转码服务器负责把接收到的华为转发过来的码流进行转码,分别转成720P(暂定)和1080P(暂定)两种不同码率,提供给应用系统调用。同时封装成RTMP、webRtc、HLS等可被BS架构或者H5直接调用的格式。
录像服务器负责把封装好的web码流进行录像,同时提供索引,方便web浏览器和手机浏览器进行访问。
Web服务器负责建立设备的录像列表,可以链接到原有系统中NVR、DVR的录像文件,以及录像服务器的录像文件;以便浏览器客户端可以通过web方式访问。
(二)系统功能
1、视频接入
通过国标对接华为IVS平台,对接联网系统遵循《安全防范视频监控联网系统信息传输、交换、控制技术要求》 及GB/T 28181-2011标准,平台对接结构图如下:
联网系统内部进行视频、音频、数据等信息传输、交换、控制时,完全遵循标准的通信协议,协议的结构见下图:
通信协议结构图
2、视频转码
如下图,华为平台为GB28181平台,可以接入IPC、NVR等设备,获取视频流;
接入服务器通过GB28181协议接入视频后,将PS流解复用成ES流,然后通过转发服务器完成转码处理,转码处理模式见 “二(二)转码功能“ 。转码后输出RTMP、FLV、HLS和WebRTC,如下图所示。
3、视频录像
对于通过接入服务器接入进来的视频,通过录像服务器和磁盘阵列,实现视频录像,包括如下功能:
- 录像类型:录像类型支持多种录像方式,包括计划录像、手动录像、定时录像、移动侦测触发、告警触发、移动侦测和告警复合触发、事件触发等,会有不同的颜色区分。
- 录像计划模板:用来配置录像计划的时间模板,可按一星期为周期来配置录像的各个时间段和采用的录像类型(移测录像和计划录像可选),系统有全天候、工作日和周末三个默认模板,同时有至少6个自定义模板可供用户选择编辑。
- 录像计划配置:用来配置监控点的录像计划,包括录像存储方式、码流类型、存储位置的设定并引用录像计划的时间模板,同时可选择录像存储的磁盘分组,进行磁盘空间预分配;支持存储码流类型设置(主/子码流)。
按照30路高清图像,录像30天计算,需要38.9T的硬盘存储空间,考虑到一定的存储空间消耗,建议配置48T的磁盘存储容量。需要采用专业的磁盘阵列服务器,配置raid5机制,保证系统的稳定可靠。
4、录像回看
系统支持多种回放方式,包括快放、慢放、单帧播放等。支持多通道同步回放、单通道分段并行回放功能,以提升回放效率。具体包括:
1)回放显示:录像回放时支持1、4、9、16画面的回放显示方式;支持自适应显示、16:9、4:3和充满窗口显示四种图像显示模式;支持回放画面中屏显示和全屏显示两种显示风格;支持多画面同步或异步回放。
2)回放控制:支持暂停、拖动播放、快放(2、4、8倍数)、慢放(1/2、1/4、1/8倍数)、单帧播放。
3)事件回放:支持根据事件进行录像检索和回放的功能,事件类型包括监控点移动侦测,视频遮挡,视频丢失的报警事件,这些报警发生时,会有相应的报警录像产生,事后,可以根据报警的类型和时间去快速定位录像。
4)分段回放:支持录像的分段回放功能,可对同一路通道的录像资料,分为几个不同的时间片段来同时进行回放(最大支持16个分片段播放),方便快速的查找所要的录像。
提供web页面,其他NVR、DVR上的录像通过地址列表(包括用户名和密码)进行显示,可以方便跳转查阅。
5、API接口
提供支持H5的SDK和API接口,方便多个上层应用可以调用经过转码的视频。接口考虑一定的兼容性和扩展性,能够支持的系统环境包括:
- PC端的基于H5 的视频调用,包括windows、ios和linux等主流系统;
- 手机端的基于H5的视频调用,包括Android、ios等主流系统;
- 微信端的基于H5的视频调用。
能够提供标准和详细的http访问接口和对应的Demo示例程序,可以支持上层各种基于web的应用开发,API接口示例如下:
(1)登录及授权接口
请求方式:GET
请求地址:http://192.168.0.35:26000/ivms/login?UsrName=xxx&Passwd=xxx
请求参数说明:
参数 |
选择 |
类型 |
说明 |
UsrName |
必选 |
string |
登录的用户名 |
Passwd |
必选 |
string |
登录的密码(MD5加密) |
返回参数:
{
"errcode":0,
“errdesc”:"OK",
“UsrName”:”admin”,
“Name”,”fullsee”
“UsrPubid”:”64000000004000000022”,
“Address”:”BeiJing”,
“Mobile”:”010-666666”,
“E-mail”:”666666@fullsee.cn”,
“Alive”:1,
“KeepliveTime”:3600,
”AuthorizationId”:”1234”
}
返回参数说明:
参数 |
类型 |
说明 |
errcode |
int |
错误码,0:成功,其他数字:失败 |
errdesc |
string |
错误消息 |
UsrName |
string |
登录的用户名 |
Name |
string |
姓名 |
KeepliveTime |
string |
登录保活时间,单位秒 |
UsrPubid |
string |
用户国标ID |
Address |
string |
升级描述信息,用于填写升级日志 |
Mobile |
string |
电话 |
|
string |
邮箱 |
Alive |
int |
有效状态:1-在线;0-不在线 |
AuthorizationId |
string |
服务器返回的授权ID |
(2)用户注销
请求方式:GET
请求地址:http://192.168.0.23:26000/ivms/logout?AuthorizationId=xxxxxx
请求参数说明:
参数 |
选择 |
类型 |
说明 |
AuthorizationId |
必选 |
string |
服务器返回的授权ID |
返回参数:
{
"errcode":0,
“errdesc”:"OK"
}
返回参数说明:
参数 |
类型 |
说明 |
errcode |
int |
错误码,0:成功,其他数字:失败 |
errdesc |
string |
错误描述 |
(3)获取用户所有的通道资源
请求方式:GET
请求地址:http://192.168.0.20:26000/ivms/getusrallresource?AuthorizationId=xxxxxx&start=0&limit=100
请求参数说明:
参数 |
选择 |
类型 |
说明 |
AuthorizationId |
必选 |
string |
服务器返回的授权ID |
start |
可选 |
int |
第几条数据开始 默认是0 |
limit |
可选 |
int |
每页个数 默认是100 |
返回参数:
{“errcode”:0,
“errdesc”:”OK”,
“ResourceCount”:1,
“TotalResourceCount”:50,
“Resource”:
[
{
“ChanPubId”:”64000000001310000059”,
“NickName”:”hikes_jiama-1”,
“ChanType”:131,
“ChanNum”:1,
“DevPubId”:”640000000015K00029”,
“DevNickName”:”hikes_jiama”,
“DevModel”:”HikEs”,
“DevType”:130,
“DevIP”:”192.168.12.179”,
“DevPort”:8000,
“BindGroupPubId”:”64000000002160000031”,
“BindGroupName”:”环境设备组”,
“PtzType”:0,
“ChanIP”:”192.168.12.179”,
“ChanPort”:8000,
“RtspAddr”:”rtsp://admin:12345@192.168.11.108”,
“SerialNumber”:”231231”,
“SerialNumber2”:”12312321”,
“IsBitStream”:0,
“Longitude”:116.2819361687,
“Latitude”:39.8227186553,
“Alive”:1,
“Parent”:,
“VideoFormat”:2,
“AudioFormat”:0,
“DirectionType”:0,
“CameraType”:0
}
]
}
返回参数说明:
参数 |
类型 |
说明 |
errcode |
int |
错误码,0:成功,其他数字:失败 |
errdesc |
string |
错误消息 |
ResourceCount |
int |
此用户下的资源组统计 |
TotalResourceCount |
int |
此资源组下的资源统计 |
Resource |
数据集合,为数组 |
|
DevPubId |
string |
通道所属设备的国标ID |
DevNickName |
string |
设备名称 |
DevModel |
int |
设备型号 |
DevIP |
string |
设备IP |
DevPort |
int |
设备端口 |
ChanPubId |
string |
通道国标ID |
NickName |
string |
通道名 |
ChanType |
int |
通道类型 |
ChanNum |
int |
通道号 |
PtzType |
int |
PTZ控制类型
|
ChanIP |
string |
通道IP |
ChanPort |
int |
通道端口 |
RtspAddr |
string |
rtsp地址 |
SerialNumber |
string |
通道序列号 |
SerialNumber2 |
string |
通道序列号2 |
IsBitStream |
int |
主子码流(0-主码流;1-子码流) |
Longitude |
double |
经度 |
Latitude |
double |
纬度 |
Alive |
int |
在线状态(1-在线;0-不在线) |
VideoFormat |
int |
视频格式
|
AudioFormat |
int |
音频格式
|
DirectionType |
int |
位置方向 |
CameraType |
int |
摄像机类型
|
Manufacturer |
int |
设备厂商 |
四、关键技术webrtc
WebRTC,即Web Real-Time Communication,web实时通信技术。简单地说就是在web浏览器里面引入实时通信,包括音视频通话等。
WebRTC实现了基于网页的语音对话或视频通话,目的是无插件实现web端的实时通信的能力。
(一)WebRTC三角形
(二)WebRTC梯形
(三) WebRTC新功能特性
(四)WebRTC优势
1、方便
对于用户来说,在WebRTC出现之前想要进行实时通信就需要安装插件和客户端,但是对于很多用户来说,插件的下载、软件的安装和更新这些操作是复杂而且容易出现问题的,现在WebRTC技术内置于浏览器中,用户不需要使用任何插件或者软件就能通过浏览器来实现实时通信。对于开发者来说,在Google将WebRTC开源之前,浏览器之间实现通信的技术是掌握在大企业手中,这项技术的开发是一个很困难的任务,现在开发者使用简单的HTML标签和JavaScript API就能够实现Web音/视频通信的功能。
2、免费
虽然WebRTC技术已经较为成熟,其集成了最佳的音/视频引擎,十分先进的codec,但是Google对于这些技术不收取任何费用。文章来源:https://www.toymoban.com/news/detail-818259.html
3、强大的网络穿透能力。
WebRTC技术包含了使用STUN、ICE、TURN、RTP-over-TCP的关键NAT和防火墙穿透技术,并支持代理。文章来源地址https://www.toymoban.com/news/detail-818259.html
到了这里,关于项目解决方案:高清视频监控接入、录像、以及按需转码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!