视频处理方法、装置、设备、存储介质及计算机程序产品与流程

未命名 08-01 阅读:170 评论:0


1.本技术涉及计算机技术领域,尤其涉及视频处理方法、视频处理装置、计算机设备、计算机可读存储介质及计算机程序产品。


背景技术:

2.针对视频监测应用,视频拍摄设备在采集到监测视频流之后,需要对监测视频流进行处理后将监测视频流传输到服务器,然后由服务器将监测视频流传输至客户端,从而实现客户端对监测视频的查看。但如何处理以及传输监测视频流,以使得监测视频流实时(或者说低延迟)传输以及流畅播放是目前有待解决的问题。


技术实现要素:

3.本技术实施例提供了视频处理方法、装置、设备、存储介质及计算机程序产品,可以保证视频流的传输效率,且可以降低视频播放的时延。
4.一方面,本技术实施例提供了一种视频处理方法,该方法包括:
5.获取目标视频拍摄设备的目标视频流,基于该目标视频流确定转发视频流;
6.基于网页实时通信webrtc协议,将该转发视频流发送给客户端,以使该客户端基于该转发视频流进行视频播放;
7.其中,当该目标视频拍摄设备包括第一类型的视频拍摄设备时,该目标视频流包括的该第一类型的视频拍摄设备对应的视频流,是基于h.265视频编码标准对该第一类型的视频拍摄设备采集到的初始视频流进行视频编码得到的。
8.一方面,本技术实施例提供一种视频处理装置,该装置包括:
9.处理单元,用于获取目标视频拍摄设备的目标视频流,基于该目标视频流确定转发视频流;
10.发送单元,用于基于网页实时通信webrtc协议,将该转发视频流发送给客户端,以使该客户端基于该转发视频流进行视频播放;
11.其中,当该目标视频拍摄设备包括第一类型的视频拍摄设备时,该目标视频流包括的该第一类型的视频拍摄设备对应的视频流,是基于h.265视频编码标准对该第一类型的视频拍摄设备采集到的初始视频流进行视频编码得到的。
12.一方面,本技术实施例提供一种计算机设备,该计算机设备包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述的视频处理方法。
13.一方面,本技术实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被计算机设备的处理器读取并执行时,使得计算机设备执行上述的视频处理方法。
14.一方面,本技术实施例提供了一种计算机程序产品,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器
从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的视频处理方法。
15.本技术实施例中,先获取目标视频拍摄设备的目标视频流,基于该目标视频流确定转发视频流;然后基于网页实时通信webrtc协议,将该转发视频流发送给客户端,以使该客户端基于该转发视频流进行视频播放;其中,当该目标视频拍摄设备包括第一类型的视频拍摄设备时,该目标视频流包括的该第一类型的视频拍摄设备对应的视频流,是基于h.265视频编码标准对该第一类型的视频拍摄设备采集到的初始视频流进行视频编码得到的。采用本技术实施例,一方面,由于h.265视频编码标准具有纠错特性,且够提高视频编码质量以及视频传输的可靠性等优势,所以采用h.265视频编码标准对视频流进行编码处理后,即使在信号弱的区域也能够实现视频流的实时(或者说低延迟)传输,从而能保证视频流的传输效率;另一方面,服务器与客户端采用网页实时通信webrtc协议进行通信,由于视频流采用webrtc协议进行传输后,无需使用javascript解码,具有低时延、高可靠性等特点,因此能够降低视频播放的时延。
附图说明
16.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
17.图1是本技术实施例提供的一种视频处理系统的架构示意图;
18.图2是本技术实施例提供的一种视频处理方法的流程示意图;
19.图3是本技术实施例提供的另一种视频处理方法的流程示意图;
20.图4是本技术实施例提供的又一种视频处理方法的流程示意图;
21.图5是本技术实施例提供的第一类型的视频拍摄设备对应的视频流处理的示意图;
22.图6是本技术实施例提供的第二类型的视频拍摄设备对应的视频流处理的示意图;
23.图7是本技术实施例提供的又一种视频处理方法的流程示意图;
24.图8是本技术实施例提供的一种视频流拼接的示意图;
25.图9是本技术实施例提供的又一种视频处理方法的流程示意图;
26.图10是本技术实施例提供的一种大屏展示界面;
27.图11是本技术实施例提供的又一种视频处理方法的流程示意图;
28.图12是本技术实施例提供的一种视频传输装置的结构示意图;
29.图13是本技术实施例提供的一种计算机设备的结构示意图。
具体实施方式
30.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
31.需要说明的是,本技术实施例中所涉及到的“第一”、“第二”等描述仅用于描述目的,而不能理解为指示或者暗示其相对重要性或者隐含指明所指示的技术特征的数量。因此,限定有“第一”、“第二”的技术特征可以明示或者隐含的包括至少一个该特征。
32.首先,对本技术实施例涉及的部分名词进行解释,以便于本领域技术人员的理解。
33.实时消息传输协议(real time messaging protocol,rtmp):rtmp协议基于传输控制协议(transmission control protocol,tcp),是一个协议族,包括rtmp基本协议及rtmpt/rtmps/rtmpe等多种变种。rtmp是一种设计用来进行实时数据通信的网络协议,主要用来在flash/air平台和支持rtmp协议的流媒体/交互服务器之间进行音视频和数据通信。
34.websocket协议:是一种web通信协议,是全双工的、基于数据帧的、建立在tcp协议之上的长连接协议。websocket协议可在服务器与客户端之间实时双向传送文本或二进制数据,能更好的节省服务器资源和带宽并达到实时通讯。
35.webrtc协议:是一种web通信协议,主要用于点对点(浏览器与浏览器之间)音视频聊天以及数据共享,也可以发送文本或二进制数据。webrtc不需要安装任何插件,通过简单的javascript api就可以使得实时通信变成一种标准功能。
36.ffmpeg视频处理工具:ffmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它提供了录制、转换以及流化音视频的完整解决方案,包含了非常先进的音频/视频编解码库,还可以接收rtmp\rtsp\flv\mpeg等众多编码格式的视频,并对视频的码流进行控制,或视频的裁剪、拼接等处理。
37.视频推流服务程序(simple rtmp server,srs):一种视频播放服务程序,srs定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码。srs服务程序提供了丰富的接入方案将rtmp流接入srs模块,还支持将接入的rtmp视频流进行各种变换。srs服务程序还可以提供rtmp\flv\mpeg\websocket\webrtc等多种视频推流服务。
38.h.265视频编码标准:h.265标准是itu-t vceg继h.264标准之后所制定的新的视频编码标准。h.265标准围绕着现有的视频编码标准h.264,保留原来的某些技术,同时对一些相关的技术加以改进。新技术使用先进的技术用以改善码流、编码质量、延时和算法复杂度之间的关系,达到最优化设置。具体的研究内容包括:提高压缩效率、提高鲁棒性和错误恢复能力、减少实时的时延、减少信道获取时间和随机接入时延、降低复杂度等。
39.目前,针对如何处理以及传输视频流的问题,本技术实施例提出了一种视频处理方法,采用传输控制协议(transmission control protocol,tcp)连接将视频流传输到服务器,服务器利用实时消息传输协议(real time messaging protocol,rtmp)或websocket协议对视频流编码,并将编码后的视频流传输至客户端,从而实现客户端对视频的查看。
40.但是,由于tcp连接是可靠连接,在信号差的区域会断开连接,或者出现较大延迟,而且在平时的运行中因为网络抖动也会出现延迟累积。
41.另外,在服务器与客户端之间,采用rtmp协议的视频编码方案,由于rtmp协议要求客户端必须安装flash浏览器插件,这个插件由于性能原因在播放多路视频流时会出现较明显的卡顿;而且它对于项目工程师是黑盒的,工程师无法捕获和处理flash插件运行中的错误,一旦插件崩溃则监测系统不可用,需要刷新页面,因此不适用于需要长时间稳定运行的监测系统。而采用websocket编码方案,需要在客户端使用javascript脚本进行解码工作,javascript语言属于脚本语言,性能不满足视频流解码的需求,在多路视频中也会出现
明显卡顿现象。
42.基于上述阐述,本技术实施例提出了另一种视频处理方法,具体是获取目标视频拍摄设备发送的目标视频流,基于该目标视频流确定转发视频流,然后基于网页实时通信webrtc协议,将该转发视频流发送给客户端,以使客户端基于该转发视频流进行视频播放。
43.本技术提出的视频处理方案方法可以应用于智能交通系统(intelligent traffic system,its),智能交通系统又称智能运输系统(intelligent transportation system),是将先进的科学技术(信息技术、计算机技术、数据通信技术、传感器技术、电子控制技术、自动控制理论、运筹学、人工智能等)有效地综合运用于交通运输、视频监测、服务控制和车辆制造,加强车辆、道路、使用者三者之间的联系,从而形成一种保障安全、提高效率、改善环境、节约能源的综合运输系统。
44.在可行的实施例中,本技术实施例提供的视频处理方法还可以基于云技术(cloud technology)实现。具体可以涉及云技术中的云存储(cloud storage)、云计算(cloud computing)中的一种或者多种。其中,云计算(cloud computing)指it基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是it和软件、互联网相关,也可是其他服务。云计算是网格计算(grid computing)、分布式计算(distributedcomputing)、并行计算(parallel computing)、效用计算(utility computing)、网络存储(network storage technologies)、虚拟化(virtualization)、负载均衡(load balance)等传统计算机和网络技术发展融合的产物。
45.云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(id,id entity)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。
46.本技术提出的视频处理方法可以是由计算机设备执行的,具体可以由服务器执行的,也可以是由目标视频拍摄设备、服务器和客户端共同执行的。其中,目标视频拍摄设备可以是设置在可移动平台上的,比如车载终端的摄像头;也可以是设置在固定平台上的,比如场地终端的摄像头,但并不局限于此。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发(content delivery network,cdn)服务、以及大数据和人工智能平台等基础云计算服务的云服务器。客户端可以是智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。
47.举例来说,假设该视频处理方法由服务器执行,目标视频拍摄设备可以是第一类
型的视频拍摄设备(如车载终端的摄像头),也可以是第二类型的视频拍摄设备(如场地终端的摄像头),具体可以采用下述视频处理系统的架构实现本技术提出的视频处理方法。请参见图1,图1为本技术实施例的一种视频处理系统的架构示意图,如图1所示,该视频处理系统100可以包括目标视频拍摄设备(一个或多个第一类型的视频拍摄设备101、一个或多个第二类型的视频拍摄设备102)、一个服务器103和一个或多个客户端104。当然视频处理系统100也可以包括目标视频拍摄设备(一个或多个第一类型的视频拍摄设备101)、一个服务器103和一个或多个客户端104;视频处理系统100也可以包括目标视频拍摄设备(一个或多个第二类型的视频拍摄设备102)、一个服务器103和一个或多个客户端104,本技术实施例不作限定。其中,第一类型的视频拍摄设备101或第二类型的视频拍摄设备102主要用于发送目标视频流至服务器103;服务器103主要用于执行该视频处理方法的相关步骤,将得到的转发视频流发送给客户端104;客户端104主要基于接收到的转发视频流进行视频播放。目标视频拍摄设备(第一类型的视频拍摄设备101或第二类型的视频拍摄设备102)、服务器103和客户端104可以实现通信连接,其连接方式可以包括有线连接和无线连接,在此不进行限定。
48.结合上述视频处理系统,本技术实施例的视频处理方法大致可以包括:
49.服务器103获取目标视频拍摄设备(如第一类型的视频拍摄设备101、第二类型的视频拍摄设备102)发送的目标视频流,基于该目标视频流确定转发视频流;进一步基于webrtc协议将该转发视频流发送给客户端104,以使客户端104基于该转发视频流进行视频播放。通过该方法对目标视频拍摄设备采集的视频流进行处理和传输,能够保证视频流的传输效率,且可以降低视频播放的时延。其中,目标视频拍摄设备可以为视频监测设备,目标视频拍摄设备对应的视频流可以认为是监测视频流。
50.在一个实施例中,目标视频拍摄设备可以包括第一类型的视频拍摄设备,也可以包括第二类型的视频拍摄设备,也可以包括第一类型的视频拍摄设备和第二类型的视频拍摄设备,在此不作限定。当目标视频拍摄设备包括第一类型的视频拍摄设备时,目标视频流包括的第一类型的视频拍摄设备对应的视频流,是基于h.265视频编码标准对第一类型的视频拍摄设备采集到的初始视频流进行视频编码得到的;当目标视频拍摄设备包括第二类型的视频拍摄设备时,目标视频流包括的第二类型的视频拍摄设备对应的视频流,是基于目标流媒体协议对第二类型的视频拍摄设备采集到的初始视频流进行视频编码得到的。其中,目标流媒体协议可以是rtmp协议、实时流传输协议(real time streaming protocol,rtsp)协议、flv(flash video)协议等,在此不作限定。
51.可以理解的是,本技术实施例描述的系统架构示意图是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
52.基于上述对视频处理系统架构的阐述,本技术实施例公开了一种视频处理方法,请参见图2,为本技术实施例公开的一种视频处理方法的流程示意图,该视频处理方法可以由计算机设备执行的,具体可以是由视频处理系统中的服务器103执行的。该视频处理方法具体可以包括步骤s201~s202:
53.s201、获取目标视频拍摄设备发送的目标视频流,基于该目标视频流确定转发视
频流。
54.在本技术实施例中,服务器通过无线信号接收器或网线接收到目标视频拍摄设备发送的目标视频流,并对该目标视频流进行处理,确定出转发视频流。其中,当目标视频拍摄设备包括第一类型的视频拍摄设备时,该目标视频流包括的第一类型的视频拍摄设备对应的视频流,是基于h.265视频编码标准对该第一类型的视频拍摄设备采集到的初始视频流进行视频编码得到的。其中,目标视频拍摄设备可以是视频监测设备,目标视频拍摄设备对应的视频流可以认为是监测视频流。
55.需要说明的是,第一类型的视频拍摄设备可以是无法连接特定网络(如wi-fi)的终端设备。针对第一类型的视频拍摄设备,首先需要利用h.265视频编码标准对该第一类型的视频拍摄设备采集到的初始视频流进行视频编码,得到目标视频流,然后利用特定的无线信号发射器将第一类型的视频拍摄设备的目标视频流发送至服务器。其中,特定的无线信号发射器与wifi采用的通信协议不同,特定的无线信号发射器可以是在发送方和接收方约定的频段上进行数据传输,例如调频(frequency modulation,fm)发射器。由于h.265视频编码标准具有纠错特性,且够提高视频编码质量以及视频传输的可靠性等优势,所以采用h.265视频编码标准对视频流进行编码处理后,即使在信号弱的区域也能够实现视频流的实时(或者说低延迟)传输,从而能保证视频流的传输效率。
56.在一种可能的实现方式中,当目标视频拍摄设备包括第二类型的视频拍摄设备时,目标视频流包括的第二类型的视频拍摄设备对应的视频流,是基于目标流媒体协议对第二类型的视频拍摄设备采集到的初始视频流进行视频编码得到的。
57.需要说明的是,第二类型的视频拍摄设备可以是可连接网络且集成了流媒体功能的终端设备。针对第二类型的视频拍摄设备,可以利用流媒体功能,采用目标流媒体协议(rtmp\rtsp\flv等)对第二类型的视频拍摄设备采集到的初始视频流进行视频编码,得到目标视频流,然后通过wifi或网线连接网络,将第二类型的视频拍摄设备的目标视频流发送至服务器。由于第二类型的视频拍摄设备本身具有流媒体功能,因此后续能够提高目标视频流处理的效率。
58.在一种可能的实现方式中,该第一类型的视频拍摄设备设置在可移动平台上,该第二类型的视频拍摄设备设置在固定平台上。示例性的,该第一类型的视频拍摄设备可以是设置在车载终端的摄像头,该第二类型的视频拍摄设备可以是设置在场地终端的摄像头。
59.例如,第一类型的视频拍摄设备为设置在车载终端的摄像头,当目标视频拍摄设备包括车载终端的摄像头时,车载终端利用h.265视频编码标准对车载终端的摄像头采集到的初始视频流进行编码处理,得到目标视频流,然后利用车载上的无线信号发射器(如fm天线)将该目标视频流发送至服务器。
60.又例如,第二类型的视频拍摄设备为设置在场地终端的摄像头,场地终端可以是可连接网络且集成了流媒体功能的终端设备,当目标视频拍摄设备包括场地终端的摄像头时,场地终端采用目标流媒体协议(如rtmp协议)对场地终端的摄像头采集到的初始视频流进行视频编码,得到目标视频流,然后通过wifi或网线连接网络,将该目标视频流发送至服务器。
61.s202、基于网页实时通信webrtc协议将该转发视频流发送给客户端,以使客户端
基于该转发视频流进行视频播放。
62.在本技术实施例中,服务器和客户端采用webrtc协议传输转发视频流,webrtc协议是一种web标准音视频传输协议,由于视频流采用webrtc协议进行传输后,无需使用javascript解码,具有低时延,高可靠性等特点。因此基于webrtc协议将该转发视频流发送给客户端,以使该客户端基于该转发视频流进行视频播放,能够降低视频播放的时延。
63.需要说明的是,服务器在基于网页实时通信webrtc协议将该转发视频流发送给客户端之前的任意时刻会接收到客户端发送的视频查看请求。该视频查看请求可以包括目标视频拍摄设备的标识。示例性的,服务器在接收到客户端发送的视频查看请求后,响应该视频查看请求,获取目标视频拍摄设备的目标视频流。又示例性的,服务器获取目标视频拍摄设备的标识,基于该目标视频流确定转发视频流之后,响应该视频查看请求,基于网页实时通信webrtc协议将该转发视频流发送给客户端。
64.在一种可能的实现方式中,该基于网页实时通信webrtc协议,将该转发视频流发送给客户端,包括:将该转发视频流发送至视频推流服务srs模块,调用视频推流服务srs模块基于网页实时通信webrtc协议,将该转发视频流发送给客户端。需要说明的是,该视频推流服务srs模块可以利用webrtc协议为客户端提高视频查看请求的服务,因此服务器需要将确定出的转发视频流转移到视频推流服务srs模块,便于后续客户端可以通过视频推流服务srs模块获取到转发视频流,从而基于该转发视频流进行视频播放,实现客户端对视频的查看。
65.总的来说,目标视频拍摄设备将目标视频流发送至服务器,服务器基于该目标视频流确定转发视频流,然后基于webrtc协议将该转发视频流发送给客户端,客户端即可基于该转发视频流进行视频播放。请参见图3,图3是本技术实施例提供的另一种视频处理方法的流程示意图,如图3所示,场地测试中包括车载传感器和场端监测摄像头,车载传感器包括摄像头、gps、imu等。因此目标视频拍摄设备可以认为是车载终端的摄像头和场端监测摄像头。车载终端的摄像头和场端监测摄像头通过无线收发器将目标视频流发送至“数据中转”,这里的“数据中转”可以认为是服务器,“数据中转”包括视频录像、视频转码和web后台,“数据中转”可以通过保存日志和录像的方式保证数据的持久化。“数据中转”基于目标视频流确定出转发视频流后,将转发视频流发送至客户端,客户端即可通过大屏设备进行视频播放展示,例如视频数据可视化、车辆状态实时监测、测试用例管理、车载和场端摄像头视频监测、车辆实时位置跟随和历史记录回放,大屏展示画面包括测试数据统计、平均问题里程数趋势图、车端监测画面和场端监测画面、当前测试用例数据、当前车辆准备数据以及当前车辆状态。
66.另外,在本技术的具体实施方式中,涉及到初始视频流、目标视频流、转发视频流等相关的数据,所涉及使用到的数据均是经过相关对象授权后获取的。当本技术以上实施例运用到具体产品或技术中时,所涉及使用到的数据需要获得相关对象许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
67.综上所述,在本技术实施例中,接收目标视频拍摄设备发送的目标视频流,基于该目标视频流确定转发视频流;响应客户端的视频查看请求,基于webrtc协议将该转发视频流发送给客户端,以使该客户端基于该转发视频流进行视频播放;其中,当目标视频拍摄设备包括第一类型的视频拍摄设备时,该目标视频流包括的第一类型的视频拍摄设备对应的
视频流,是基于h.265视频编码标准对该第一类型的视频拍摄设备采集到的初始视频流进行视频编码得到的;当目标视频拍摄设备包括第二类型的视频拍摄设备时,该目标视频流包括的第二类型的视频拍摄设备对应的视频流,是基于目标流媒体协议对第二类型的视频拍摄设备采集到的初始视频流进行视频编码得到的。应当理解的,采用h.265视频编码标准对视频流进行编码处理后,即使在信号弱的区域也能够实现视频流的实时(或者说低延迟)传输,从而能保证视频流的传输效率;服务器与客户端之间采用webrtc协议进行通信,能够降低视频播放的时延。
68.基于上述对视频处理系统架构的阐述,本技术实施例公开了又一种视频处理方法的流程示意图,请参见图4,为本技术实施例公开的另一种视频处理方法的流程示意图,该视频处理方法可以由计算机设备执行的,具体可以是由视频处理系统中的服务器103执行的。该视频处理方法具体可以包括步骤s401~s403,步骤s401和步骤s402是上述步骤s201的一种具体实现方式,步骤s403是上述步骤s202的一种具体实现方式。其中:
69.s401、获取目标视频拍摄设备的目标视频流,当该目标视频拍摄设备包括第一类型的视频拍摄设备时,基于目标流媒体协议对该目标视频流包括的该第一类型的视频拍摄设备对应的视频流进行视频编码,对编码后的视频流进行转码得到第一转码视频流,并基于该第一转码视频流确定转发视频流。
70.在本技术实施例中,第一类型的视频拍摄设备对应的视频流是基于h.265视频编码标准对该第一类型的视频拍摄设备采集到的初始视频流进行视频编码得到的,此时的第一类型的视频拍摄设备对应的视频流不适用于在服务器和客户端之间进行传输。因此,服务器获取到目标视频拍摄设备的目标视频流后,需要利用目标流媒体协议(rtmp\rtsp\flv等)对该目标视频流包括的第一类型的视频拍摄设备对应的视频流再进行视频编码,然后通过ffmpeg视频处理工具对编码后的视频流进行转码得到第一转码视频流,利用该第一转码视频流确定出转发视频流,具体可以是将第一转码视频流作为转发视频流,或者对该第一转码视频流再一次进行码率控制后的视频流作为转发视频流,在此不作限定。利用ffmpeg视频处理工具对编码后的视频流进行转码的主要目的是控制视频质量和流量,降低客户端的性能和带宽压力。
71.示例性的,第一类型的视频拍摄设备为车载终端的摄像头,服务器获取到车载终端的摄像头对应的视频流后,利用rtmp协议对车载终端的摄像头对应的视频流进行视频编码,得到rtmp格式的视频流,然后通过ffmpeg视频处理工具对rtmp格式的视频流进行转码得到第一转码视频流,利用该第一转码视频流确定出转发视频流。
72.s402、当该目标视频拍摄设备包括第二类型的视频拍摄设备时,对该目标视频流包括的该第二类型的视频拍摄设备对应的视频流进行转码得到第二转码视频流,并基于该第二转码视频流确定转发视频流。
73.在本技术实施例中,第二类型的视频拍摄设备对应的视频流是基于目标流媒体协议对第二类型的视频拍摄设备采集到的初始视频流进行视频编码得到的。由于第二类型的视频拍摄设备可以是集成了流媒体功能的视频拍摄设备,第二类型的视频拍摄设备对应的视频流已经采用了目标流媒体协议进行编码,因此服务器获取到目标视频拍摄设备的目标视频流后,直接通过ffmpeg视频处理工具对该目标视频流包括的该第二类型的视频拍摄设备对应的视频流进行转码得到第二转码视频流,并基于该第二转码视频流确定转发视频
流。
74.示例性的,第二类型的视频拍摄设备为场地终端的摄像头,服务器获取到场地终端的摄像头对应的视频流,该场地终端的摄像头对应的视频流是场地终端采用了rtmp协议编码后的视频流,服务器直接通过ffmpeg视频处理工具对场地终端的摄像头对应的视频流进行转码得到第二转码视频流,并基于该第二转码视频流确定转发视频流。
75.s403、将该转发视频流发送至视频推流服务srs模块,调用视频推流服务srs模块基于网页实时通信webrtc协议,将该转发视频流发送给客户端,以使客户端基于该转发视频流进行视频播放。
76.在本技术实施例中,服务器和客户端可以采用webrtc协议进行通信,该视频推流服务srs模块可以为客户端提供webrtc服务,例如视频音频采集、数据传输、音视频展示等服务。因此服务器需要将确定出的转发视频流转移到视频推流服务srs模块,便于后续客户端可以通过视频推流服务srs模块获取到转发视频流,从而基于该转发视频流进行视频播放,实现客户端对视频的查看。
77.需要说明的是,该视频推流服务srs模块采用docker作为载体,运行在linux系统中。其中,docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统的机器上。在本技术实施例中,启动docker时使用了“restart=always”参数,使服务进程意外退出后会自动重启,在客户端脚本中加入了断线重连机制,保证服务的稳定性。
78.下面用一个具体的例子来对该视频处理方法进行说明:
79.假设第一类型的视频拍摄设备为车载终端的摄像头,第二类型的视频拍摄设备为场地终端的摄像头。服务器获取目标视频拍摄设备的目标视频流,该目标视频流包括车载终端的摄像头对应的视频流,或者该目标视频流包括场地终端的摄像头对应的视频流:
80.(1)请参见图5,图5是本技术实施例提供的第一类型的视频拍摄设备对应的视频流处理的示意图。当该目标视频拍摄设备包括车载终端的摄像头对应的视频流时,服务器首先利用rtmp协议对车载终端的摄像头对应的视频流进行视频编码,得到rtmp格式的视频流;然后通过ffmpeg视频处理工具对rtmp格式的视频流进行转码得到第一转码视频流,利用该第一转码视频流确定出转发视频流。服务器进一步将该转发视频流发送至视频推流服务srs模块,调用视频推流服务srs模块基于webrtc协议将该转发视频流发送给客户端,以使客户端基于该转发视频流进行视频播放。
81.(2)请参见图6,图6是本技术实施例提供的第二类型的视频拍摄设备对应的视频流处理的示意图。当该目标视频拍摄设备包括场地终端的摄像头对应的视频流时,该场地终端的摄像头对应的视频流是场地终端采用了rtmp协议编码后的视频流,服务器直接通过ffmpeg视频处理工具对场地终端的摄像头对应的视频流进行转码得到第二转码视频流,并基于该第二转码视频流确定转发视频流。服务器进一步将该转发视频流发送至视频推流服务srs模块,调用视频推流服务srs模块基于webrtc协议将该转发视频流发送给客户端,以使客户端基于该转发视频流进行视频播放。
82.另外,在本技术的具体实施方式中,涉及到初始视频流、目标视频流、第一转码视频流、第二转码视频流、转发视频流等相关的数据,所涉及使用到的数据均是经过相关对象授权后获取的。当本技术以上实施例运用到具体产品或技术中时,所涉及使用到的数据需
要获得相关对象许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
83.综上所述,在本技术实施例中,获取目标视频拍摄设备的目标视频流,当该目标视频拍摄设备包括第一类型的视频拍摄设备时,基于目标流媒体协议对该目标视频流包括的该第一类型的视频拍摄设备对应的视频流进行视频编码,对编码后的视频流进行转码得到第一转码视频流,并基于该第一转码视频流确定转发视频流;当该目标视频拍摄设备包括第二类型的视频拍摄设备时,对该目标视频流包括的该第二类型的视频拍摄设备对应的视频流进行转码得到第二转码视频流,并基于该第二转码视频流确定转发视频流;将该转发视频流发送至视频推流服务srs模块,调用视频推流服务srs模块基于网页实时通信webrtc协议,将该转发视频流发送给客户端,以使客户端基于该转发视频流进行视频播放。应当理解的,采用h.265视频编码标准对视频流进行编码处理后,即使在信号弱的区域也能够实现视频流的实时(或者说低延迟)传输,从而能保证视频流的传输效率;服务器与客户端之间采用webrtc协议进行通信,能够降低视频播放的时延;对不同类型的视频拍摄设备采集的视频流采用不同的方式进行处理和传输,进一步提高视频播放的可靠性。
84.基于上述对视频处理系统架构的阐述,本技术实施例公开了又一种视频处理方法的流程示意图,请参见图7,为本技术实施例公开的另一种视频处理方法的流程示意图,该视频处理方法可以由计算机设备执行的,具体可以是由视频处理系统中的服务器103执行的。该视频处理方法具体可以包括步骤s701~s704,步骤s701~步骤s703是上述步骤s201的一种具体实现方式,步骤s704是上述步骤s202的一种具体实现方式。其中:
85.s701、获取目标视频拍摄设备的目标视频流,分别对第一视频流和第二视频流进行处理,得到该第一视频流对应的第一标准视频流以及该第二视频流对应的第二标准视频流,其中,目标视频拍摄设备包括第一视频拍摄设备和第二视频拍摄设备,该目标视频流包括该第一视频拍摄设备对应的第一视频流以及该第二视频拍摄设备对应的第二视频流。
86.在本技术实施例中,服务器可以获取多个视频拍摄设备对应的视频流,不同类型的视频拍摄设备对应的视频流,采用不同的处理方式进行处理。以获取到第一视频拍摄设备对应的第一视频流以及该第二视频拍摄设备对应的第二视频流为例,服务器对于第一视频拍摄设备对应的第一视频流以及该第二视频拍摄设备对应的第二视频流,分别采用不同的处理方式进行视频流的处理,得到该第一视频流对应的第一标准视频流以及该第二视频流对应的第二标准视频流。其中,对于第一视频拍摄设备对应的第一视频流的处理方式,可以参考上述步骤s401中描述第一类型的视频拍摄设备对应的视频流的处理方式:服务器首先利用目标流媒体协议对第一视频拍摄设备对应的第一视频流进行视频编码,然后通过ffmpeg视频处理工具对编码后的视频流进行转码得到该第一视频流对应的第一标准视频流;对于第二视频拍摄设备对应的第二视频流的处理方式,可以参考上述步骤s402中描述第二类型的视频拍摄设备对应的视频流的处理方式:服务器直接通过ffmpeg视频处理工具对第二视频拍摄设备对应的第二视频流进行转码得到该第二视频流对应的第二标准视频流。
87.需要说明的是,该第一视频流对应的第一标准视频流的码率与该第二视频流对应的第二标准视频流的码率相同,有利于保证后续对将该第一标准视频流和该第二标准视频流进行拼接处理。
88.s702、将该第一标准视频流和该第二标准视频流进行拼接处理,得到拼接视频流。
89.在本技术实施例中,服务器可以通过ffmpeg视频处理工具对该第一标准视频流和该第二标准视频流进行拼接处理,得到一个拼接视频流,便于服务器后续将该拼接视频流作为转发视频流发送给客户端,以使客户端基于该转发视频流进行视频播放。
90.在一种可能的实现方式中,该将该第一标准视频流和该第二标准视频流进行拼接处理,得到拼接视频流,包括:从该第一标准视频流中确定待拼接视频帧,并从该第二标准视频流中确定匹配视频帧;其中,该第一待拼接视频帧为该第一标准视频流中的任一视频帧,该匹配视频帧对应的播放时间与该待拼接视频帧对应的播放时间相匹配;将该待拼接视频帧和该匹配视频帧进行拼接,得到拼接视频帧;按照播放时间的先后顺序将各拼接视频帧进行排列,得到拼接视频流。
91.需要说明的是,匹配视频帧对应的播放时间与待拼接视频帧对应的播放时间相匹配,可以是指匹配视频帧对应的播放时间与待拼接视频帧对应的播放时间相同,也可以是指匹配视频帧对应的播放时间与待拼接视频帧对应的播放时间可以是在预设的误差范围内,在此不作限定。通过保证匹配视频帧对应的播放时间与待拼接视频帧对应的播放时间相匹配的方式,能够保证客户端播放多个视频的延时,以达到在误差范围内播放的多个视频处于同一个时间段。
92.示例性的,匹配视频帧对应的播放时间为1ms~5ms,待拼接视频帧对应的播放时间也是1ms~5ms,这样可以认为匹配视频帧对应的播放时间与待拼接视频帧对应的播放时间是相匹配的。又示例性的,预设的误差范围为2ms,匹配视频帧对应的播放时间为1ms~5ms,待拼接视频帧对应的播放时间是2ms~6ms,匹配视频帧对应的播放时间与待拼接视频帧对应的播放时间之间的误差为1ms,即在预设的误差范围,因此也可以认为匹配视频帧对应的播放时间与待拼接视频帧对应的播放时间是相匹配的。
93.如图8所示,图8是本技术实施例提供的一种视频流拼接的示意图。首先将第一标准视频流中的任一视频帧确定为待拼接视频帧,然后在第二标准视频流中确定出与该待拼接视频帧对应的播放时间相匹配的匹配视频帧,通过ffmpeg视频处理工具将该待拼接视频帧与该匹配视频帧进行拼接,得到一个拼接视频帧,即一个拼接视频帧包含相同播放时间下第一标准视频流中的待拼接视频帧和第二标准视频流中的匹配视频帧。进一步,按照播放时间的先后顺序将各拼接视频帧进行排列,得到拼接视频流。
94.s703、将该拼接视频流作为转发视频流。
95.s704、将该转发视频流发送至视频推流服务srs模块,调用视频推流服务srs模块基于网页实时通信webrtc协议,将该转发视频流发送给客户端,以使客户端基于该转发视频流进行视频播放。
96.在本技术实施例中,先对第一视频流对应的第一标准视频流和第二视频流对应的第二标准视频流进行拼接处理,得到拼接视频流,然后将该拼接视频流作为转发视频流发送给客户端,这样则只需采用1条线路即可将该转发视频流发送给客户端,类似于利用1辆大货车拉n(n为正整数)吨货物。而如果不对第一视频流对应的第一标准视频流和第二视频流对应的第二标准视频流进行拼接处理,那么则需要采用多条(如2条)线路分别将第一标准视频流和第二标准视频流发送给客户端,类似于利用n辆小货车分别拉1吨货物。本技术实施例对多个视频拍摄设备的视频流进行拼接后利用1条线路进行传输,相对于利用多条
线路分别对多个视频拍摄设备的视频流进行传输,可以大大减少线路数,从而能够有效减少系统性能损耗,节省通信及软硬件资源;另外,传输线路减少,也能够在一定程度上降低出错概率。
97.其中,步骤s704的其他实现方式与上述步骤s403的具体实现方式相同,在此不作赘述。
98.需要说明的是,以上是以将两个视频拍摄设备的视频流进行拼接后作为转发视频进行传输为例进行说明,可以理解的是,基于本技术实施例提供的将多个视频拍摄设备的视频流进行拼接后作为转发视频进行传输的思想,对于多于两个视频拍摄设备的应用场景,则处理方式类似,具体可参考前文描述,此处不再赘述。
99.通过该视频处理方法实现了客户端24小时无间断播放车端、场端多路视频监测,且视频延迟低于2秒。下面用两个具体的例子来对该视频处理方法进行说明:
100.例子1:假设目标视频拍摄设备包括第一视频拍摄设备和第二视频拍摄设备,第一视频拍摄设备为车载终端的摄像头,第二视频拍摄设备为场地终端的摄像头。目标视频流包括该第一视频拍摄设备对应的第一视频流以及该第二视频拍摄设备对应的第二视频流。
101.请参见图9,图9是本技术实施例提供的又一种视频处理方法的流程示意图。其中,步骤1~步骤3为第一视频拍摄设备执行的步骤;步骤6为第二视频拍摄设备执行的步骤,步骤4、步骤5、步骤7和步骤8为服务器执行的步骤;步骤9为客户端执行的步骤。
102.第一视频拍摄设备将采集到的视频信号通过编码器采用h.265视频编码标准进行视频编码,得到第一视频流,然后利用车载终端的无线信号发射器向服务器发送该第一视频流。场地终端由于本身集成了流媒体功能,因此该第二视频拍摄设备对应的第二视频流是通过场地终端采用rtmp协议进行视频编码后的视频流,可以直接将第二视频拍摄设备对应的第二视频流发送至服务器。
103.服务器利用无线信号接收器接收到该第一视频流后,利用rtmp协议对第一视频拍摄设备对应的第一视频流进行视频编码,然后通过ffmpeg视频处理工具对编码后的视频流进行转码得到该第一视频流对应的第一标准视频流;服务器接收到第二视频拍摄设备对应的第二视频流后,直接通过ffmpeg视频处理工具对该第二视频流进行转码得到该第二视频流对应的第二标准视频流。
104.进一步,服务器通过ffmpeg视频处理工具对该第一标准视频流和该第二标准视频流进行拼接处理,得到拼接视频流,将该拼接视频流作为转发视频流。此时的拼接视频流为rtmp格式的视频流。
105.最后,服务器将该转发视频流发送至视频推流服务srs模块,调用视频推流服务srs模块基于网页实时通信webrtc协议,将该转发视频流发送给客户端,以使客户端基于该转发视频流进行视频播放,即通过客户端支持的浏览器查看到各个视频拍摄设备采集到的视频流。如图10所示,图10是本技术实施例提供的一种大屏展示界面,该大屏展示界面中包括测试数据统计、平均问题里程数趋势图、车端监测画面和场端监测画面。其中,测试数据统计包括测试总里程数、覆盖用例数、平均问题里程数、测试总时长、测试车辆总数和测试问题总数;车端监测画面包括4个车端摄像头采集到的监测画面;场端监测包括6个场端摄像头采集到的监测画面。
106.例子2:假设目标视频拍摄设备包括第一视频拍摄设备、第二视频拍摄设备和第三
视频拍摄设备,第一视频拍摄设备为车载终端的摄像头a,第一视频拍摄设备为车载终端的摄像头b,第三视频拍摄设备为场地终端的摄像头。目标视频流包括该第一视频拍摄设备对应的第一视频流、该第二视频拍摄设备对应的第二视频流以及该第三视频拍摄设备对应的第三视频流。
107.请参见图11,图11是本技术实施例提供的又一种视频处理方法的流程示意图。其中,步骤1~步骤3为第一视频拍摄设备执行的步骤;步骤4~步骤6为第二视频拍摄设备执行的步骤;步骤9为第三视频拍摄设备执行的步骤,步骤7、步骤8、步骤10和步骤11为服务器执行的步骤;步骤12为客户端执行的步骤。
108.第一视频拍摄设备将采集到的视频信号通过编码器采用h.265视频编码标准进行视频编码,得到第一视频流,然后利用车载终端的无线信号发射器向服务器发送该第一视频流。同理,第二视频拍摄设备将采集到的视频信号通过编码器采用h.265视频编码标准进行视频编码,得到第二视频流,然后利用车载终端的无线信号发射器向服务器发送该第二视频流。场地终端由于本身集成了流媒体功能,因此该第三视频拍摄设备对应的第三视频流是通过场地终端采用rtmp协议进行视频编码后的视频流,可以直接将第三视频拍摄设备对应的第三视频流发送至服务器。
109.服务器利用无线信号接收器接收到该第一视频流和该第二视频流后,利用rtmp协议分别对第一视频拍摄设备对应的第一视频流和第二视频拍摄设备对应的第二视频流进行视频编码,然后通过ffmpeg视频处理工具分别对编码后的第一视频流和编码后的第二视频流进行转码得到该第一视频流对应的第一标准视频流和该第二视频流对应的第二标准视频流;服务器接收到第三视频拍摄设备对应的第三视频流后,直接通过ffmpeg视频处理工具对该第三视频流进行转码得到该第三视频流对应的第三标准视频流。
110.进一步,服务器通过ffmpeg视频处理工具对该第一标准视频流、该第二标准视频流和该第三标准视频流进行拼接处理,得到拼接视频流,将该拼接视频流作为转发视频流。此时的拼接视频流为rtmp格式的视频流。
111.最后,服务器将该转发视频流发送至视频推流服务srs模块,调用视频推流服务srs模块基于网页实时通信webrtc协议,将该转发视频流发送给客户端,以使客户端基于该转发视频流进行视频播放。
112.另外,在本技术的具体实施方式中,涉及到初始视频流、目标视频流、第一标准视频流、第二标准视频流、拼接视频流、转发视频流等相关的数据,所涉及使用到的数据均是经过相关对象授权后获取的。当本技术以上实施例运用到具体产品或技术中时,所涉及使用到的数据需要获得相关对象许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
113.综上所述,在本技术实施例中,获取目标视频拍摄设备的目标视频流,分别对第一视频流和第二视频流进行处理,得到该第一视频流对应的第一标准视频流以及该第二视频流对应的第二标准视频流,其中,目标视频拍摄设备包括第一视频拍摄设备和第二视频拍摄设备,该目标视频流包括该第一视频拍摄设备对应的第一视频流以及该第二视频拍摄设备对应的第二视频流;将该第一标准视频流和该第二标准视频流进行拼接处理,得到拼接视频流;将该拼接视频流作为转发视频流;将该转发视频流发送至视频推流服务srs模块,调用视频推流服务srs模块基于网页实时通信webrtc协议,将该转发视频流发送给客户端,
以使客户端基于该转发视频流进行视频播放。应当理解的,采用h.265视频编码标准对视频流进行编码处理后,即使在信号弱的区域也能够实现视频流的实时(或者说低延迟)传输,从而能保证视频流的传输效率;服务器与客户端之间采用webrtc协议进行通信,能够降低视频播放的时延;对不同类型的视频拍摄设备采集的视频流采用不同的方式进行处理和传输,并且对各个处理后的视频流进行拼接处理,减少系统性能损耗和出错概率,实现多路视频同时播放。
114.基于上述的视频处理方法,本技术实施例提供了一种视频处理装置。请参见图12,是本技术实施例提供的一种视频处理装置的结构示意图,该视频处理装置1200可以运行如下单元:
115.处理单元1201,用于获取目标视频拍摄设备的目标视频流,基于该目标视频流确定转发视频流;
116.发送单元1202,用于基于网页实时通信webrtc协议,将该转发视频流发送给客户端,以使该客户端基于该转发视频流进行视频播放;
117.其中,当该目标视频拍摄设备包括第一类型的视频拍摄设备时,该目标视频流包括的该第一类型的视频拍摄设备对应的视频流,是基于h.265视频编码标准对该第一类型的视频拍摄设备采集到的初始视频流进行视频编码得到的。
118.在一个实施例中,当该目标视频拍摄设备包括第二类型的视频拍摄设备时,该目标视频流包括的该第二类型的视频拍摄设备对应的视频流,是基于目标流媒体协议对该第二类型的视频拍摄设备采集到的初始视频流进行视频编码得到的。
119.在一个实施例中,处理单元1201,在基于该目标视频流确定转发视频流时,具体用于:当该目标视频拍摄设备包括该第一类型的视频拍摄设备时,基于目标流媒体协议对该目标视频流包括的该第一类型的视频拍摄设备对应的视频流进行视频编码,对编码后的视频流进行转码得到第一转码视频流,并基于该第一转码视频流确定转发视频流;当该目标视频拍摄设备包括该第二类型的视频拍摄设备时,对该目标视频流包括的该第二类型的视频拍摄设备对应的视频流进行转码得到第二转码视频流,并基于该第二转码视频流确定转发视频流。
120.在一个实施例中,该目标视频拍摄设备包括第一视频拍摄设备和第二视频拍摄设备,该目标视频流包括该第一视频拍摄设备对应的第一视频流以及该第二视频拍摄设备对应的第二视频流;其中,处理单元1201,在基于该目标视频流确定转发视频流时,具体用于:分别对该第一视频流和第二视频流进行处理,得到该第一视频流对应的第一标准视频流以及该第二视频流对应的第二标准视频流;将该第一标准视频流和该第二标准视频流进行拼接处理,得到拼接视频流;将该拼接视频流作为转发视频流。
121.在一个实施例中,处理单元1201,在将该第一标准视频流和该第二标准视频流进行拼接处理,得到拼接视频流时,具体用于:从该第一标准视频流中确定待拼接视频帧,并从该第二标准视频流中确定匹配视频帧;其中,该第一待拼接视频帧为该第一标准视频流中的任一视频帧,该匹配视频帧对应的播放时间与该待拼接视频帧对应的播放时间相匹配;将该待拼接视频帧和该匹配视频帧进行拼接,得到拼接视频帧;按照播放时间的先后顺序将各拼接视频帧进行排列,得到拼接视频流。
122.在一个实施例中,发送单元1202,在基于网页实时通信webrtc协议,将该转发视频
流发送给客户端时,具体用于:将该转发视频流发送至视频推流服务srs模块,调用视频推流服务srs模块基于网页实时通信webrtc协议,将该转发视频流发送给客户端。
123.在一个实施例中,该第一类型的视频拍摄设备设置在可移动平台上,该第二类型的视频拍摄设备设置在固定平台上。
124.综上所述,接收目标视频拍摄设备发送的目标视频流,基于该目标视频流确定转发视频流;响应客户端的视频查看请求,基于webrtc协议将该转发视频流发送给客户端,以使该客户端基于该转发视频流进行视频播放;其中,当目标视频拍摄设备包括第一类型的视频拍摄设备时,该目标视频流包括的第一类型的视频拍摄设备对应的视频流,是基于h.265视频编码标准对该第一类型的视频拍摄设备采集到的初始视频流进行视频编码得到的;当目标视频拍摄设备包括第二类型的视频拍摄设备时,该目标视频流包括的第二类型的视频拍摄设备对应的视频流,是基于目标流媒体协议对第二类型的视频拍摄设备采集到的初始视频流进行视频编码得到的。应当理解的,通过该方法对目标视频拍摄设备采集的视频流进行处理和传输,可以保证视频流的传输效率,且可以降低视频播放的时延。
125.基于上述视频处理方法以及视频处理装置的实施例,本技术实施例提供了一种计算机设备,此处该的计算机设备对应前述的服务器。请参见图13,是本技术实施例提供的一种计算机设备的结构示意图,该计算机设备1300至少可包括:处理器1301、通信接口1302以及计算机存储介质1303。其中,处理器1301、通信接口1302以及计算机存储介质1303可通过总线或其他方式连接。
126.计算机存储介质1303可以存储在计算机设备1300的存储器1304中,该计算机存储介质1303用于存储计算机程序,该计算机程序包括程序指令,该处理器1301用于执行该计算机存储介质1303存储的程序指令。处理器1301(或称cpu(central processing unit,中央处理器))是计算机设备1300的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行:
127.获取目标视频拍摄设备的目标视频流,基于该目标视频流确定转发视频流;基于网页实时通信webrtc协议,将该转发视频流发送给客户端,以使该客户端基于该转发视频流进行视频播放;其中,当该目标视频拍摄设备包括第一类型的视频拍摄设备时,该目标视频流包括的该第一类型的视频拍摄设备对应的视频流,是基于h.265视频编码标准对该第一类型的视频拍摄设备采集到的初始视频流进行视频编码得到的。
128.在一个实施例中,当该目标视频拍摄设备包括第二类型的视频拍摄设备时,该目标视频流包括的该第二类型的视频拍摄设备对应的视频流,是基于目标流媒体协议对该第二类型的视频拍摄设备采集到的初始视频流进行视频编码得到的。
129.在一个实施例中,处理器1301,在基于该目标视频流确定转发视频流时,具体用于:当该目标视频拍摄设备包括该第一类型的视频拍摄设备时,基于目标流媒体协议对该目标视频流包括的该第一类型的视频拍摄设备对应的视频流进行视频编码,对编码后的视频流进行转码得到第一转码视频流,并基于该第一转码视频流确定转发视频流;当该目标视频拍摄设备包括该第二类型的视频拍摄设备时,对该目标视频流包括的该第二类型的视频拍摄设备对应的视频流进行转码得到第二转码视频流,并基于该第二转码视频流确定转发视频流。
130.在一个实施例中,该目标视频拍摄设备包括第一视频拍摄设备和第二视频拍摄设
备,该目标视频流包括该第一视频拍摄设备对应的第一视频流以及该第二视频拍摄设备对应的第二视频流;其中,处理器1301,在基于该目标视频流确定转发视频流时,具体用于:分别对该第一视频流和第二视频流进行处理,得到该第一视频流对应的第一标准视频流以及该第二视频流对应的第二标准视频流;将该第一标准视频流和该第二标准视频流进行拼接处理,得到拼接视频流;将该拼接视频流作为转发视频流。
131.在一个实施例中,处理器1301,在将该第一标准视频流和该第二标准视频流进行拼接处理,得到拼接视频流时,具体用于:从该第一标准视频流中确定待拼接视频帧,并从该第二标准视频流中确定匹配视频帧;其中,该第一待拼接视频帧为该第一标准视频流中的任一视频帧,该匹配视频帧对应的播放时间与该待拼接视频帧对应的播放时间相匹配;将该待拼接视频帧和该匹配视频帧进行拼接,得到拼接视频帧;按照播放时间的先后顺序将各拼接视频帧进行排列,得到拼接视频流。
132.在一个实施例中,处理器1301,在基于网页实时通信webrtc协议,将该转发视频流发送给客户端时,具体用于:将该转发视频流发送至视频推流服务srs模块,调用视频推流服务srs模块基于网页实时通信webrtc协议,将该转发视频流发送给客户端。
133.在一个实施例中,该第一类型的视频拍摄设备设置在可移动平台上,该第二类型的视频拍摄设备设置在固定平台上。
134.综上所述,接收目标视频拍摄设备发送的目标视频流,基于该目标视频流确定转发视频流;响应客户端的视频查看请求,基于webrtc协议将该转发视频流发送给客户端,以使该客户端基于该转发视频流进行视频播放;其中,当目标视频拍摄设备包括第一类型的视频拍摄设备时,该目标视频流包括的第一类型的视频拍摄设备对应的视频流,是基于h.265视频编码标准对该第一类型的视频拍摄设备采集到的初始视频流进行视频编码得到的;当目标视频拍摄设备包括第二类型的视频拍摄设备时,该目标视频流包括的第二类型的视频拍摄设备对应的视频流,是基于目标流媒体协议对第二类型的视频拍摄设备采集到的初始视频流进行视频编码得到的。应当理解的,通过该方法对目标视频拍摄设备采集的视频流进行处理和传输,可以保证视频流的传输效率,且可以降低视频播放的时延。
135.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本技术各个实施例上述方法的全部或部分步骤。其中,而前述的存储介质可包括:u盘、移动硬盘、磁碟、光盘、只读存储器(英文:read-only memory,缩写:rom)或者随机存取存储器(英文:random access memory,缩写:ram)等各种可以存储程序代码的介质。
136.本领域普通技术人员可以意识到,结合本技术中所公开的实施例描述的各示例的单元及步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用,使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
137.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实
现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程设备。计算机指令可以存储在计算机存储介质中,或者通过计算机存储介质进行传输。计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如,同轴电缆、光纤)或无线(例如,红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如,固态硬盘(solid state disk,ssd))等。
138.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。

技术特征:
1.一种视频处理方法,其特征在于,所述方法包括:获取目标视频拍摄设备的目标视频流,基于所述目标视频流确定转发视频流;基于网页实时通信webrtc协议,将所述转发视频流发送给客户端,以使所述客户端基于所述转发视频流进行视频播放;其中,当所述目标视频拍摄设备包括第一类型的视频拍摄设备时,所述目标视频流包括的所述第一类型的视频拍摄设备对应的视频流,是基于h.265视频编码标准对所述第一类型的视频拍摄设备采集到的初始视频流进行视频编码得到的。2.根据权利要求1所述的方法,其特征在于,当所述目标视频拍摄设备包括第二类型的视频拍摄设备时,所述目标视频流包括的所述第二类型的视频拍摄设备对应的视频流,是基于目标流媒体协议对所述第二类型的视频拍摄设备采集到的初始视频流进行视频编码得到的。3.根据权利要求2所述的方法,其特征在于,所述基于所述目标视频流确定转发视频流,包括:当所述目标视频拍摄设备包括所述第一类型的视频拍摄设备时,基于目标流媒体协议对所述目标视频流包括的所述第一类型的视频拍摄设备对应的视频流进行视频编码,对编码后的视频流进行转码得到第一转码视频流,并基于所述第一转码视频流确定转发视频流;当所述目标视频拍摄设备包括所述第二类型的视频拍摄设备时,对所述目标视频流包括的所述第二类型的视频拍摄设备对应的视频流进行转码得到第二转码视频流,并基于所述第二转码视频流确定转发视频流。4.根据权利要求1或2所述的方法,其特征在于,所述目标视频拍摄设备包括第一视频拍摄设备和第二视频拍摄设备,所述目标视频流包括所述第一视频拍摄设备对应的第一视频流以及所述第二视频拍摄设备对应的第二视频流;其中,所述基于所述目标视频流确定转发视频流,包括:分别对所述第一视频流和第二视频流进行处理,得到所述第一视频流对应的第一标准视频流以及所述第二视频流对应的第二标准视频流;将所述第一标准视频流和所述第二标准视频流进行拼接处理,得到拼接视频流;将所述拼接视频流作为转发视频流。5.根据权利要求4所述的方法,其特征在于,所述将所述第一标准视频流和所述第二标准视频流进行拼接处理,得到拼接视频流,包括:从所述第一标准视频流中确定待拼接视频帧,并从所述第二标准视频流中确定匹配视频帧;其中,所述待拼接视频帧为所述第一标准视频流中的任一视频帧,所述匹配视频帧对应的播放时间与所述待拼接视频帧对应的播放时间相匹配;将所述待拼接视频帧和所述匹配视频帧进行拼接,得到拼接视频帧;按照播放时间的先后顺序将各拼接视频帧进行排列,得到拼接视频流。6.根据权利要求1-3中任一项所述的方法,其特征在于,所述基于网页实时通信webrtc协议,将所述转发视频流发送给客户端,包括:将所述转发视频流发送至视频推流服务srs模块,调用视频推流服务srs模块基于网页实时通信webrtc协议,将所述转发视频流发送给客户端。
7.根据权利要求2所述的方法,其特征在于,所述第一类型的视频拍摄设备设置在可移动平台上,所述第二类型的视频拍摄设备设置在固定平台上。8.一种视频处理装置,其特征在于,所述装置包括:处理单元,用于获取目标视频拍摄设备的目标视频流,基于所述目标视频流确定转发视频流;发送单元,用于基于网页实时通信webrtc协议,将所述转发视频流发送给客户端,以使所述客户端基于所述转发视频流进行视频播放;其中,当所述目标视频拍摄设备包括第一类型的视频拍摄设备时,所述目标视频流包括的所述第一类型的视频拍摄设备对应的视频流,是基于h.265视频编码标准对所述第一类型的视频拍摄设备采集到的初始视频流进行视频编码得到的。9.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器实现如权利要求1-7任一项所述的视频处理方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一条或多条计算机程序,所述一条或多条计算机程序适于由处理器加载并实现如权利要求1-7任一项所述的视频处理方法。11.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序适于由处理器加载并实现如权利要求1-7任一项所述的视频处理方法。

技术总结
本申请实施例公开了视频处理方法、装置、设备、存储介质及计算机程序产品,可以应用于云技术、智能交通系统、视频监测系统、车载监测等各种领域或场景。该方法包括:获取目标视频拍摄设备的目标视频流,基于该目标视频流确定转发视频流;基于网页实时通信WebRTC协议,将该转发视频流发送给客户端,以使该客户端基于该转发视频流进行视频播放;其中,当该目标视频拍摄设备包括第一类型的视频拍摄设备时,该目标视频流包括的该第一类型的视频拍摄设备对应的视频流,是基于H.265视频编码标准对该第一类型的视频拍摄设备采集到的初始视频流进行视频编码得到的。通过本申请实施例可以保证视频流的传输效率,且可以降低视频播放的时延。延。延。


技术研发人员:余昊
受保护的技术使用者:腾讯科技(深圳)有限公司
技术研发日:2022.01.18
技术公布日:2023/7/31
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐