项目解决方案:高清视频监控接入、录像、以及按需转码

发布时间:2024年01月23日

目? ? ? ? ? ?录

一、现状

二、系统需求

(一)数据采集和同步

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平台,可以接入IPCNVR等设备,获取视频流;

接入服务器通过GB28181协议接入视频后,将PS流解复用成ES流,然后通过转发服务器完成转码处理,转码处理模式见 ?“二(二)转码功能“ 。转码后输出RTMPFLVHLSWebRTC,如下图所示。

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接口,方便多个上层应用可以调用经过转码的视频。接口考虑一定的兼容性和扩展性,能够支持的系统环境包括:

  1. PC端的基于H5 的视频调用,包括windows、ios和linux等主流系统;
  2. 手机端的基于H5的视频调用,包括Android、ios等主流系统;
  3. 微信端的基于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

电话

E-mail

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控制类型

  1. 设备控制
  2. 不能控制

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

视频格式

  1. default(H264)
  2. MEPG4
  3. H264
  4. SVAC
  5. 3GP
  6. MEPG2
  7. H265

AudioFormat

int

音频格式

  1. default(G711.A)
  2. G711.A
  3. G723
  4. G729
  5. G722.1
  6. G711.U
  7. AAC
  8. MP3
  9. WAV
  10. PCM

DirectionType

int

位置方向

CameraType

int

摄像机类型

  1. 未知
  2. 球机
  3. 半球
  4. 固枪
  5. 遥控枪击

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对于这些技术不收取任何费用。

3、强大的网络穿透能力。

????????WebRTC技术包含了使用STUN、ICE、TURN、RTP-over-TCP的关键NAT和防火墙穿透技术,并支持代理。

文章来源:https://blog.csdn.net/weixin_70208651/article/details/135760319
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。