掌桥专利:专业的专利平台
掌桥专利
首页

一种无人车的监控视频回放系统、方法及存储介质

文献发布时间:2023-06-19 19:18:24


一种无人车的监控视频回放系统、方法及存储介质

技术领域

本发明涉及无人驾驶技术领域,尤其涉及一种无人车的监控视频回放系统、方法及存储介质。

背景技术

随着快递电商、人工智能、无人驾驶等领域的不断发展,一些大城市出现了很多无人配送车,行驶在城市道路上,执行配送任务,方便人们的生活,但其也有一定的隐患,比如货物在配送过程中丢失、不小心被其他车辆剐蹭等等,无人配送车身上会安装多个摄像头,比如车头、车尾、左右两侧等四个方位,用于无死角地监控并记录其行驶过程中道路上的环境、货物的装载与配送等过程,方便需要时回溯过去的监控视频录像,以查找澄清问题。

配送车在启动后会实时录制摄像头视频并保存在本地,为了节省4G/5G流量,降低运营成本,配送车只会在执行配送任务时才会推送实时视频流到云端,如果需要调取查看历史某一时刻监控就需要查看车上历史录像文件,一般做法:1)去车上直接拷贝视频文件;2)通过视频回放。

对于1),直接从车上拷贝文件,做法有很多种,比如直接在车上插上存储设备,远程登录到车端,通过命令查找并拷贝相应的文件;或通过一些局域网文件共享等机制都能做到,但这些操作具有一定的不方便性,对运营人员具有一定的门槛,也需要一些额的硬件或软件资源的支持,而且只能在配送车处于非行驶状态下才能进行,在一些特殊极端的场景下也是做不到的。

对于2),视频回放是视频流通过网络转发时,在转发云端同时进行了录制,以文件的形式将视频流保存在云端,用户查看回放时,需要部分或者全部下载视频文件就能播。如果需要回放的视频云端没有时,就无法播放。

基于此,如何设计一种无人车监控视频的回放系统及方法,使得用户能够随机点播过去任何时间的录像,同时保证监控视频传输和播放时的高速率、低延时,成为了亟需解决的技术问题。

发明内容

本发明公开了一种无人车的监控视频回放系统、方法及存储介质,旨在解决现有技术中存在的技术问题。

本发明采用下述技术方案:

第一方面,本发明实施例提供了一种无人车的监控视频回放系统,包括用户端、信令服务器、云端媒体服务器、车端推流客户端及视频选择转发服务器;

用户端,能够向信令服务器发起指定监控视频的回放请求;

信令服务器,能够将回放请求转发至云端媒体服务器和/或车端推流客户端,并在接收回复后应答用户端;

云端媒体服务器,能够基于回放请求判断指定监控视频是否存在于云端中,若存在,则将指定监控视频推送至视频选择转发服务器,并回复信令服务器;若不存在,则使信令服务器将回放请求转发至车端推流客户端;

车端推流客户端,能够基于回放请求判断指定监控视频是否存在于车端,若存在,则将指定监控视频推送至视频选择转发服务器,并回复信令服务器;若不存在,则向信令服务器回复视频不存在的信息;

视频选择转发服务器,能够将指定监控视频转发至用户端。

在一种可能的实现方式中,所述回放请求的请求参数包括一个过去时间点。

在一种可能的实现方式中,所述用户端包括用户浏览器;所述信令服务器包括WebRTC信令服务器;所述视频选择转发服务器包括WebRTC协议视频选择转发服务器。

在一种可能的实现方式中,所述云端媒体服务器,能够存储无人车在执行任务时录制的实时流,并记录在数据库;能够基于所述回放请求,在所述数据库或缓存中寻找指定监控视频的录像文件,读取文件并将解析视频流推送到所述WebRTC协议视频选择转发服务器。

在一种可能的实现方式中,所述车端推流客户端,能够推送实时流和回放流,存储摄像头录像到车上;能够基于所述回放请求,在车端寻找指定监控视频的录像文件,读取文件并将解析视频流推送到所述WebRTC协议视频选择转发服务器。

在一种可能的实现方式中,所述用户浏览器,能够在接收到来自所述WebRTC信令服务器的应答后访问所述WebRTC协议视频选择转发服务器,建立媒体通道,播放指定监控视频的回放。

第二方面,本申请实施例提供了一种无人车的监控视频回放方法,方法包括:

用户端向信令服务器发起指定监控视频的回放请求;

信令服务器将回放请求转发至云端媒体服务器和/或车端推流客户端,并在接收回复后应答用户端;

云端媒体服务器基于回放请求判断指定监控视频是否存在于云端中,若存在,则将指定监控视频推送至视频选择转发服务器,并回复信令服务器;若不存在,则使信令服务器将回放请求转发至车端推流客户端;

车端推流客户端基于回放请求判断指定监控视频是否存在于车端,若存在,则将指定监控视频推送至视频选择转发服务器,并回复信令服务器;若不存在,则向信令服务器回复视频不存在的信息;

视频选择转发服务器将指定监控视频转发至用户端。

在一种可能的实现方式中,用户端向信令服务器发起指定监控视频的回放请求,请求参数包括一个过去时间点;信令服务器解析并获取所述过去时间点,同时将所述回放请求及所述过去时间点发送至云端媒体服务器和/或车端推流客户端。

在一种可能的实现方式中,信令服务器解析并获取所述过去时间点,将所述回放请求及所述过去时间点发送至云端媒体服务器;云端媒体服务器基于所述回放请求及所述过去时间点,在数据库或缓存中寻找指定监控视频的录像文件;若存在,则读取文件并将解析视频流推送到视频选择转发服务器;若不存在,则使信令服务器将所述回放请求转发至车端推流客户端。

在一种可能的实现方式中,信令服务器将所述回放请求及所述过去时间点转发至车端推流客户端;

车端推流客户端基于所述回放请求及所述过去时间点,判断指定监控视频是否存在于车端;若存在,则将指定监控视频推送至视频选择转发服务器,并回复信令服务器;若不存在,则向信令服务器回复视频不存在的信息。

在一种可能的实现方式中,所述回放请求基于WebSocket协议传输;指定监控视频基于WebRTC协议传输。

第三方面,本申请还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上所述的无人车的监控视频回放方法。

上述发明中的一个实施例具有如下优点或有益效果:

本发明主要提供了一种应用于无人车的监控视频回放系统及方法,本发明基于WebRTC协议实现监控视频的回放,通过信令控制回放请求时间,用户可以通过浏览器随机点播过去任何时间的监控录像,基于时间点回放实时流,用户无需下载部分或全部视频文件即可实现播放;另一方面,本发明可以帮助无人配送车节省流量,无人配送车无需传输所有视频到云端,而是按需拉取视频,且观看到首帧的画面延时低,传输效率相较于现有技术显著提高。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,构成本发明的一部分,本发明的示意性实施例及其说明解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明在一实施例提供的无人车的监控视频回放系统的结构框图;

图2为本发明在一实施例提供的无人车的监控视频回放方法的流程图。

具体实施方式

以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

无人配送车在启动时会实时录制摄像头的监控视频并保存在本地,由于视频的传输一般基于物联网卡所提供的4G/5G流量,为了节省流量,因此无人配送车只会在执行任务时才会推送实时视频流到云端,以供工作人员查看,如果需要查看历史录像,则需要对录像文件进行拷贝,或通过视频回放的功能播放历史录像。

现有的视频回放都是基于云端ts或fmp4切片文件下载播放的方式,基于文件的方式播放,用户看到首诊画面的延时大;如果需要回放的视频云端没有时,就无法播放,如果等待视频上传,回放就会出现中间明显卡顿的现象,用户体验极差;更进一步地,当想播放某一历史时间点之后的监控视频时,可能需要下载多个文件,包含历史时间点的第一个文件可能会存在该时间点在该段录像中时间靠后的情况,此时仍需对第一个文件进行全部下载,造成了流量的浪费。

为解决上述问题,参考图1,本发明实施例提供了一种无人车的监控视频回放系统,该系统包括用户端100、信令服务器200、云端媒体服务器300、车端推流客户端400及视频选择转发服务器500;在一种实现方式中,图1中虚线表示视频媒体流、WebRTC协议栈;图1中实线表示控制流、WebSocket数据流。

在一个可选的实施例中,无人车可以是无人配送车、无人搬运车、无人乘用车、无人巡检车、无人售卖车、无人送餐车、无人扫地车等;在本实施例中,无人车优选为无人配送车,在车体上配置有一个或数个监控摄像头,用于记录无人车在运营过程中监控视频,并在执行具体的配送任务时推送实时视频流到云端,以供运营人员查看。

在本发明一个实施例中,用户端100能够向所述信令服务器200发起指定监控视频的回放请求。

具体地,用户端100发送回放请求之前,首先至少确定信令服务器200已启动,以保证用户端100与信令服务器200能够成功建立连接;由于回放请求最终需发送至云端媒体服务器300和/或车端推流客户端400,因此更优选地是,用户端100发送回放请求之前,分别确定信令服务器200、云端媒体服务器300、车端推流客户端400及视频选择转发服务器500均已启动,以保证用户端100与信令服务器200之间、信令服务器200与云端媒体服务器300及车端推流客户端400之间均能够成功建立连接。

本实施例中,用户端100具体由无人车的运营人员发起回放请求。优选地,用户端100被配置为用户浏览器(User Browser),使得回放请求的信令控制与监控视频的回放均可以通过网页(Web)实现。

在一种实现方式中,回放请求基于WebSocket协议传输,以实现即时通讯;回放请求的请求参数包括一个过去时间点。

HTML5规范中定义,WebSocket在浏览器和服务器之间采用单socket全双工传输来“推送”和“拉取”信息。在信令服务器200和用户端100之间、信令服务器200与云端媒体服务器300及车端推流客户端400之间的数据连接,通过WebSocket协议在第一次“握手”时建立,同时它也是基于底层的TCP/IP协议。

具体地,WebSocket协议中的数据传输是基于帧的方式,数据以utf-8编码。Websocket使用户浏览器不需要安装插件,就可以实现web通信的高效性和稳定性,以最大程度的降低请求监控视频回放时的延时。

当回放请求经信令服务器200最终发送至云端媒体服务器300或车端推流客户端400之后,云端媒体服务器300或车端推流客户端400能够将回放视频流推送到选择转发服务器,并回复信令服务器200,信令服务器200收到回复后应答用户端100,用户端100能够在接收到来自信令服务器200的应答后访问视频选择转发服务器500,建立媒体通道,播放指定监控视频的回放。

在本发明一个实施例中,信令服务器200能够将回放请求转发至云端媒体服务器300和/或车端推流客户端400,并在接收回复后应答用户端100。

本实施例中,信令服务器200为WebRTC信令服务器(WebRTC Signaling Server),以实现毫秒级的低延时;WebRTC也即Web Real-Time Communication,代表网络实时通信。WebRTC信令是在对等点之间建立、控制和终止通信会话的过程。WebRTC信令服务器是管理对等点之间连接的服务器。它仅用于信令,有助于使一个对等点在网络中找到另一个对等点,协商连接本身,在需要时重置连接,然后关闭它。所有对等点都向WebRTC信令服务器发送通知,它们已连接,服务器将它们转发给对等点。通知请求可以通过WebSocket或HTTP协议完成。

在一种实现方式中,用户端100与信令服务器200之间、信令服务器200与云端媒体服务器300及车端推流客户端400之间均通过WebSocket连接。

在一种实现方式中,信令服务器200能够解析获取回放请求中的时间点,并将回放请求和信令和时间点同时发送给云端媒体服务器300和车端推流客户端400,并在接收到首个回复后应答用户端100。

在一种实现方式中,信令服务器200能够解析获取回放请求中的时间点,并将回放请求和信令和时间点先发送给云端媒体服务器300,并等待云端媒体服务器300的回复,若指定监控视频的录像文件存在于云端数据库或缓存中,则信令服务器200会收到肯定的(或文件存在的)回复,此时信令服务器200应答用户端100;若指定监控视频的录像文件没有存在于云端数据库或缓存中,信令服务器200会收到否定的(或错误的/文件不存在的)回复,此时信令服务器200将请求回放的指令和时间点转发给车端推流客户端400,若指定监控视频的录像文件存在于车端,则信令服务器200会收到肯定的(或文件存在的)回复,此时信令服务器200应答用户端100;若指定监控视频的录像文件没有存在于车端,则信令服务器200会收到否定的(或错误的/文件不存在的)回复,此时信令服务器200应答用户端100指定监控视频未找到。

在本发明一个实施例中,云端媒体服务器300能够基于回放请求判断指定监控视频是否存在于云端中,若存在,则将指定监控视频推送至视频选择转发服务器500,并回复信令服务器200;若不存在,则使信令服务器200将回放请求转发至所述车端推流客户端400。

具体地,云端媒体服务器300(Media Server)与车端推流客户端400之间存在连接,云端媒体服务器300能够存储无人车在执行任务时录制的实时视频流,并记录在数据库。

在一种实现方式中,云端媒体服务器300与车端推流客户端400之间通过视频选择转发服务器500实现视频流的传输,一方面,车端推流客户端400提供的实时视频流通过视频选择转发服务器500转发至用户端100,供用户端100实时播放;另一方面车端推流客户端400提供的实时视频流通过视频选择转发服务器500转发至云端媒体服务器300,供其存储及记录。

本实施例中,云端媒体服务器300能够接收来自信令服务器200的回放请求和时间点,在数据库或缓存中寻找指定监控视频的录像文件,读取文件并将解析视频流推送到视频选择转发服务器500,同时回复信令服务器200;若数据库或缓存中未存储有相应地录像文件,则回复信令服务器200文件不存在的信息,此时信令服务器200会继续将该请求回放的信令和时间点发送给车端推流客户端400。

在本发明一个实施例中,车端推流客户端400(Vehicle Client)能够基于回放请求判断指定监控视频是否存在于车端,若存在,则将指定监控视频推送至视频选择转发服务器500,并回复所述信令服务器200;若不存在,则向信令服务器200回复视频不存在的信息。

在一种实现方式中,车端推流客户端400与视频采集设备数据连接,如布置于车体各个位置的监控摄像头;一方面,车端推流客户端400能够采集视频流,并能够向视频选择转发服务器500推送实时流和回放流,另一方面,车端推流客户端400还能够存储摄像头录像到车端的存储器中。

本实施例中,车端推流客户端400能够基于回放请求的信令和时间点,在车端的存储器中寻找指定监控视频的录像文件,读取文件并将解析视频流推送到视频选择转发服务器500,同时回复信令服务器200;若车端未存储有相应地录像文件,则回复信令服务器200文件不存在的信息,此时信令服务器200会应答用户端100指定监控视频不存在的信息。

在本发明一个实施例中,视频选择转发服务器500能够将指定监控视频转发至用户端100。

本实施例中,视频选择转发服务器500为WebRTC协议视频选择转发服务器(WebRTCSFU),其中,SFU的全称是Selective Forwarding Unit,是一种路由和转发WebRTC客户端音视频数据流的服务端程序。WebRTC SFU最核心的功能就是与每一个WebRTC Peer客户端建立链接,分别接收来自他们的音视频数据,并实现one-to-many的能力(即把一个客户端的流转发到其他WebRTC Peer客户端)。落足于本实施例,也即WebRTC SFU同时建立用户端100与车端推流客户端400或用户端100与云端媒体服务器300之间的连接,车端推流客户端400或云端媒体服务器300能够将视频流推送至WebRTC SFU,用户端100访问WebRTC SFU,建立媒体通道,播放回放视频。

在本发明一个实施例中,上述无人车的监控视频回放系统在使用时步骤如下:

WebRTC信令服务器、云端媒体服务器300及WebRTC协议视频选择转发服务器均启动,保证系统中各个端点之间成功建立连接;

运营人员在登陆作为用户端100的用户浏览器,通过用户浏览器发起指定监控视频的回放请求至WebRTC信令服务器,并等待响应;此时,回放请求的参数包括一个过去时间点;

WebRTC信令服务器收到回放请求后,解析获取时间点,将回放请求的信令和前述过去时间点转发至云端媒体服务器300;

云端媒体服务器300查找云端媒体库或缓存,检查是否存储有指定监控视频的相应录像文件;

若云端媒体服务器300存储有该录像文件,则读取文件并将解析视频流推送到WebRTC协议视频选择转发服务器,并回复WebRTC信令服务器,WebRTC信令服务器收到回复后应答用户端100,用户端100访问WebRTC协议视频选择转发服务器,建立媒体通道,播放回放视频;

若云端媒体服务器300不存在该录像文件,则使WebRTC信令服务器将回放请求转发至车端推流客户端400;

车端推流客户端400查找车端存储器中的录像文件,若车端存储有该录像文件,则读取文件并将解析视频流推送到WebRTC协议视频选择转发服务器,并回复WebRTC信令服务器,WebRTC信令服务器收到回复后应答用户端100,用户端100访问WebRTC协议视频选择转发服务器,建立媒体通道,播放回放视频;

若车端未存储该录像文件,则回复WebRTC信令服务器,指定监控视频的录像文件未找到。

请参考图2,其示出了本申请一个实施例提供的无人车的监控视频回放方法的方法流程图,该监控视频回放方法优选基于上述的无人车的监控视频回放系统实现;该监控视频回放方法可以使得用户浏览器能够随机播放无人车在过去任何时间的录像,基于时间点回放实时流,而用户无需下载文件。

该无人车的监控视频回放方法,可以包括:

步骤201.用户端向信令服务器发起指定监控视频的回放请求。

具体地,在执行步骤201之前,首先至少确定信令服务器200已启动,以保证用户端100与信令服务器200能够成功建立连接;由于回放请求最终需发送至云端媒体服务器300和/或车端推流客户端400,因此更优选地是,用户端100发送回放请求之前,分别确定信令服务器200、云端媒体服务器300、车端推流客户端400及视频选择转发服务器500均已启动,以保证用户端100与信令服务器200之间、信令服务器200与云端媒体服务器300及车端推流客户端400之间均能够成功建立连接。

具体地,用户端100具体由无人车的运营人员发起回放请求。优选地,用户端100被配置为用户浏览器(User Browser),使得回放请求的信令控制与监控视频的回放均可以通过网页(Web)实现。

在一种实现方式中,回放请求基于WebSocket协议传输,以实现即时通讯;指定监控视频的回放请求的请求参数包括一个过去时间点。

步骤202.信令服务器将回放请求转发至云端媒体服务器和/或车端推流客户端,并在接收回复后应答用户端。

具体地,信令服务器200为WebRTC信令服务器(WebRTC Signaling Server)。

在一种实现方式中,信令服务器200能够解析获取回放请求中的时间点,并将回放请求和信令和时间点先发送给云端媒体服务器300,并等待云端媒体服务器300的回复,若指定监控视频的录像文件存在于云端数据库或缓存中,则信令服务器200会收到肯定的(或文件存在的)回复,此时信令服务器200应答用户端100;若指定监控视频的录像文件没有存在于云端数据库或缓存中,信令服务器200会收到否定的(或错误的/文件不存在的)回复,此时信令服务器200将请求回放的指令和时间点转发给车端推流客户端400,若指定监控视频的录像文件存在于车端,则信令服务器200会收到肯定的(或文件存在的)回复,此时信令服务器200应答用户端100;若指定监控视频的录像文件没有存在于车端,则信令服务器200会收到否定的(或错误的/文件不存在的)回复,此时信令服务器200应答用户端100指定监控视频未找到。

步骤203.云端媒体服务器基于回放请求判断指定监控视频是否存在于云端中,若存在,则将指定监控视频推送至视频选择转发服务器,并回复信令服务器;若不存在,则使信令服务器将回放请求转发至车端推流客户端。

具体地,云端媒体服务器300能够接收来自信令服务器200的回放请求和时间点,在数据库或缓存中寻找指定监控视频的录像文件,读取文件并将解析视频流推送到视频选择转发服务器500,视频选择转发服务器500,优选为WebRTC协议视频选择转发服务器,视频流基于WebRTC协议进行传输;远端媒体服务器同时回复信令服务器200;若数据库或缓存中未存储有相应地录像文件,则回复信令服务器200文件不存在的信息,此时信令服务器200会继续将该请求回放的信令和时间点发送给车端推流客户端400。

步骤204.车端推流客户端基于回放请求判断指定监控视频是否存在于车端,若存在,则将指定监控视频推送至视频选择转发服务器,并回复信令服务器;若不存在,则向信令服务器回复视频不存在的信息。

具体地,车端推流客户端400能够基于回放请求的信令和时间点,在车端的存储器中寻找指定监控视频的录像文件,读取文件并将解析视频流推送到WebRTC协议视频选择转发服务器,同时回复信令服务器200;若车端未存储有相应地录像文件,则回复信令服务器200文件不存在的信息,此时信令服务器200会应答用户端100指定监控视频不存在的信息。

步骤205.视频选择转发服务器将指定监控视频转发至用户端。

具体地,用户端100在接收到WebRTC信令服务器肯定的应答后,访问WebRTC协议视频选择转发服务器,建立媒体通道,播放回放视频。

上述实施例所述的无人车的监控视频回放方法基于WebRTC协议实现监控视频的回放,通过信令控制回放请求时间,用户可以通过浏览器随机点播过去任何时间的监控录像,基于时间点回放实时流,用户无需下载部分或全部视频文件即可实现播放;另一方面,上述实施例可以帮助无人配送车节省流量,无人配送车无需传输所有视频到云端,而是按需拉取视频,且观看到首帧的画面延时低,传输效率相较于现有技术显著提高。

本申请一个实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上所述的无人车的监控视频回放方法。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。

技术分类

06120115862908