一种基于WEB的高兼容度交互式直播视频处理系统的制作方法

文档序号:23552307发布日期:2021-01-05 21:11阅读:98来源:国知局
一种基于WEB的高兼容度交互式直播视频处理系统的制作方法

本发明设计了一种基于web的可兼容多种视频处理算法的交互式直播视频处理系统,属于视频处理技术领域。



背景技术:

随着信息技术领域的不断发展和实时通信技术的突破,网络直播、实时监控和网页音视频直播等服务不断关联到人们生活的各个角落。由此产生了体量巨大、类型多样、价值密度较低的海量视频数据,而如何处理这些远超人类在可接受时间内管理、使用和处理能力的数据就成了一大难题。

传统的直播视频处理主要有两种方式,其一是将所有的或部分选段的直播画面存储为离线视频文件并在需要的时候进行目标查找或视频处理,其二是在线实时地针对直播画面进行逐帧或者跨帧的处理。其中第一种方式需要消耗大量的存储空间,而且想要在大量的视频数据中找到所需的视频内容也需要消耗大量的资源甚至需要人力辅助。第二种方法虽然实现了视频的实时处理,但是由于画面中通常只有一部分区域是人们关注的地方,例如车库监控画面中人们可能只关注出入口处的车辆进出情况,这就导致第二种方法使用了大量冗余信息,不仅占用存储空间还可能影响视频处理的性能。

本专利所设计的视频处理系统融合了web高拓展性、跨平台性能优越和交互性强的优点,同时具备可兼容众多流行的机器学习算法作为视频处理算法的功能,简化了直播视频处理算法的平台部署流程并增强了直播视频处理系统的使用舒适度。



技术实现要素:

发明目的

本发明的目的是设计一种直播视频处理系统,该系统融合web高拓展性、跨平台性能优越和交互性强的优点,同时可兼容众多主流机器学习算法,简化直播视频处理算法的平台部署流程并增强了直播视频处理系统的使用友好性。

技术方案

本发明设计了一种基于web的高兼容度交互式直播视频处理系统,其处理流程如下:

步骤一、通过文件或手动设定一路或多路直播视频流rtmp(realtimemessagingprotocol,实时消息传输协议)地址

步骤二、使用canvas(javascript的画布模块)和video.js(javascript的视频模块)实现网页端交互式标定画面中关注的一个或多个区域的任意四边形顶点坐标

步骤三、利用中心投影变换将标定的任意四边形变换为标准矩形

步骤四、通过预留接口连接所需的任意实时视频处理算法,将变换后的矩形直播画面传入算法进行处理

步骤五、使用mysql数据库(一种关系型数据库)存储算法获得的所需要的离线视频选段,使用网页播放或pc端视频播放器向呈现该的视频内容

通过以上步骤,使用多种web技术和图形处理算法,自动化实现直播视频加载和预处理。通过将关注区域标定功能交互式处理,便于使用人脑经验并且易于长时间持续性功能管理。由于预留接口的通用性,提高了系统与众多视频处理算法的可兼容性。视频处理算法得到的任务需要的视频选段可以被方便快捷的调用查看,极大地减低了视频故障监测或直播亮点截取等任务的人工成本。

其中,在“步骤一”中所述的“通过文件或手动设定一路或多路直播视频流rtmp地址”,其做法如下:利用配置文件或者在web页面中手动设定的方法,将一路或多路rtmp直播视频流地址传入系统,该步骤可以使用web表单快速完成并存入mysql数据库。

其中,在“步骤二”中所述的“使用canvas和video.js实现网页端交互式标定画面中关注的一个或多个区域的任意四边形顶点坐标”,其做法如下:将“步骤一”中的直播视频流逐个或同时播放,并手动在web页面中标定一个或多个任务关注内容所在的四边形区域,存入文件或传回后端以供后续使用。

其中,在“步骤三”中所述的“利用中心投影变换将标定的任意四边形变换为标准矩形”,其做法如下:考虑到“步骤二”手动标定的四边形区域大概率是非矩形的,而视频处理算法通常处理的都是矩形画面,所以使用中心投影变换算法将任务关注的非矩形区域变换为视频处理算法可以处理的矩形区域。

其中,在“步骤四”中所述的“通过预留接口连接所需的任意实时视频处理算法,将变换后的矩形直播画面传入算法进行处理”,其做法如下:“步骤三”中通过中心投影变换得到的变换参数和变换模块就可以作为视频处理算法的输入数据,同时作为一个前后端分离的系统,该接口不受系统其他部分的影响,所以可以兼容多种主流的视频处理算法。

其中,在“步骤五”中所述的“使用mysql数据库存储算法获得的所需要的离线视频选段,使用网页播放或pc端视频播放器向呈现该的视频内容”,其做法如下:从“步骤四”中视频处理算法处获得任务所需的离线视频选段的存储地址和相关信息,存入mysql数据库中,便于后续任务对这些文件的查找和使用,避免了传统方法中在大量视频离线拷贝中搜索任务所需内容的工作量,并且“步骤四”处理得到的视频选段在人力在可接受时间中的处理能力范围内。

发明优点

本发明的优点是系统的跨平台性能好、交互性强、兼容多种主流算法、功能拓展潜力大且部署简单。

附图说明

图1直播视频处理系统运行流程图。

图2中心投影变换算法流程图。

具体实施方式

本发明设计了一种基于web的高兼容度交互式直播视频处理系统,其处理流程如下,见图1和图2所示,其步骤如下:

步骤一、通过文件或手动设定一路或多路直播视频流rtmp地址

步骤二、使用canvas和video.js实现网页端交互式标定画面中关注的一个或多个区域的任意四边形顶点坐标

步骤三、利用中心投影变换将标定的任意四边形变换为标准矩形

步骤四、通过预留接口连接所需的任意实时视频处理算法,将变换后的矩形直播画面传入算法进行处理

步骤五、使用mysql数据库存储算法获得的所需要的离线视频选段,使用网页播放或pc端视频播放器向呈现该的视频内容

其中,步骤一的做法如下:

利用配置文件或者在web页面中手动设定的方法,将一路或多路rtmp直播视频流地址传入系统。其中可以在配置文件中将rtmp直播流地址以json格式(一种轻量级数据交换格式)存储下来,也可以使用web表单快速完成地址数据的手动录入。数据传输或读入后端后即可使用insert命令(插入数据指令)将直播流地址数据快速存入mysql数据库。

其中,步骤二的做法如下:

将“步骤一”中的直播视频流逐个或同时播放,并手动在web页面中直播画面上标定一个或多个任务关注内容所在的四边形区域,存入文件或传回后端以供后续使用。具体步骤如下:首先将直播视频rtmp流使用置于canvas中的video组件播放,若视频清晰度要求不高或显示屏尺寸较大时可以同时播放多路视频,否则将逐个播放以满足人眼或算法辨识需求;在web页面中实时监控鼠标点击dom事件从而画出四边形标定参考线,以辅助使用者标定操作;将画面中一个或多个区域的坐标以表单形式传回后端接收线程,并存入mysql数据库。

其中,步骤三的做法如下:

由于“步骤二”手动标定的四边形区域大概率是非矩形的,而视频处理算法通常处理的都是矩形画面,所以要使用中心投影变换算法将任务关注的非矩形区域变换为视频处理算法可以处理的矩形区域。中心投影变换是将图片投影到一个新的平面,使得原图片中不规则四边形在新的平面中是一个矩形的方法,具体实现步骤如下:

(1)首先从数据库中获取一个不规则四边形的顶点坐标(x1,y1),(x2,y2),(x3,y3),(x4,y4),并假设投影后得到的矩形顶点坐标为(0,0),(0,1),(1,1),(1,0);

(2)使用下式计算得到辅助变量δx=x0-x1+x2-x3,δy=y0-y1+y2-y3,判断δx和δy是否为0。若两者都为0则执行步骤(3),否则执行步骤(4);

(3)由于δx和δy都为0,所以变换平面与原平面平行,则可用下面的公式进行坐标变换参数:

a11=x1-x0

a21=x2-x1

a31=x0

a12=y1-y0

a22=y2-y1

a32=y0

a13=0

a23=0

a33=1

其中a是变换矩阵中的参数。

(4)由于δx和δy不全为0,所以变换平面与原平面不平行,则可用下面的公式进行坐标变换参数:

a11=x1-x0+a13·x1

a21=x3-x0+a23·x3

a31=x0

a12=y1-y0+a13·y1

a22=y3-y0+a23·y3

a32=y0

a33=1

(5)使用如下公式将不规则四边形变换为矩形:

其中u,v是原始图片坐标,w和w′是比例系数。

(6)系统将变换矩阵存入mysql或文件,同时将中心投影变换模块提供给后续视频处理算法就可以对直播视频的关注区域进行逐帧变换并优化算法性能。

其中,步骤四的做法如下:

“步骤三”中通过中心投影变换得到的变换参数和变换模块就可以作为视频处理算法的输入数据,同时作为一个前后端分离的系统,该接口不受系统其他部分的影响,所以可以兼容多种主流的视频处理算法。具体实施方法如下:

(1)实时视频处理算法需要先向系统发出申请,系统将任务关注区域的坐标发给视频处理算法;

(2)视频处理算法通过调用中心投影变换模块和之前存储的变换矩阵,对相应直播视频中特定的关注区域进行中心投影变换,以转换为算法可处理的矩形窗;

(3)系统可多线程服务多路视频处理过程,以实现不同路视频和不同关注区域的并行处理,提高处理速度。

其中,步骤五的做法如下:

从“步骤四”中视频处理算法处获得任务所需的离线视频选段的存储地址和相关信息,存入mysql数据库中,便于后续任务对这些文件的查找和使用,避免了传统方法中在大量视频离线拷贝中搜索任务所需内容的工作量,并且“步骤四”处理得到的视频选段在人力在可接受时间中的处理能力范围内。具体实施步骤如下:

(1)通过一个线程实时地监控算法是否产生了任务所需的处理结果,若产生并传回了处理结果,则将该结果中离线视频选段的地址及其它信息存入mysql中,同时向主线程返回一个提示信号;

(2)主线程在接收到提示信号后,会在直播或监控主界面弹出提示信息,以供实时地查看处理结果并对前述步骤中不规则四边形区域标定等操作检错或调整;

(3)若需实时查看处理结果,则系统会对接收到的处理结果进行中心投影变换的逆变换,以查看原画面中关注区域的真实情况或用于后续精彩画面剪辑或异常内容处理等功能。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1