CN114520925A - 视频流处理方法、设备、系统和云端服务器系统 - Google Patents
视频流处理方法、设备、系统和云端服务器系统 Download PDFInfo
- Publication number
- CN114520925A CN114520925A CN202011306010.XA CN202011306010A CN114520925A CN 114520925 A CN114520925 A CN 114520925A CN 202011306010 A CN202011306010 A CN 202011306010A CN 114520925 A CN114520925 A CN 114520925A
- Authority
- CN
- China
- Prior art keywords
- video
- video data
- video stream
- path
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/654—Transmission by server directed to the client
Abstract
本发明实施例涉及一种视频流处理方法,包括:接收客户端发送的视频播放请求信息,所述视频播放请求信息用于请求所述客户端需要播放的多路视频流;判断所述多路视频流的解析情况;根据所述解析情况,将所述多路视频流中未解析的视频流进行解析,得到第一视频数据;根据所述解析情况,获取所述多路视频流中解析的视频流对应的第二视频数据;根据所述第一视频数据和所述第二视频数据得到多路视频数据;在所述多路视频数据中添加与所述多路视频数据一一对应的视频标识信息并生成多路目标视频数据;通过单一传输链路发送多路目标视频数据至客户端播放;本发明实施例通过先得到多路视频数据,再通过单一传输链路发送给客户端播放,减少了资源的消耗。
Description
技术领域
本发明涉及显示技术领域,尤其涉及一种视频流处理方法、一种视频流处理设备、一种视频流处理系统和一种云端服务器系统。
背景技术
目前,随着互联网的发展,在直播或者多路客户端播放视频等涉及多路视频流的实时视频场景中,当需要获取多路视频源时,云端服务器就需要对应多个传输链路跟客户端连接来传输多路视频源到客户端上进行播放。
如图1所示,为现有技术中视频流传输场景的示意图。
但是,由于存在多路视频源,云端服务器上需要设置与多路视频源对应的多条链路与客户端连接,然后将视频数据传输至客户端上进行播放,即云端服务器需要维护多条链路,维护成本高,同时也比较浪费资源。
发明内容
因此,为克服现有技术中的至少部分缺陷和不足,本发明实施例提出一种视频流处理方法、一种视频流处理装置、一种视频流处理系统和一种云端服务器系统。
一方面,本发明实施例提出的一种视频流处理方法,包括:接收客户端发送的视频播放请求信息,所述视频播放请求信息用于请求所述客户端需要播放的多路视频流;判断所述多路视频流解析情况;根据所述解析情况,将所述多路视频流中未解析的视频流进行解析,得到第一视频数据;根据所述解析情况,获取所述多路视频流中解析的视频流对应的第二视频数据;根据所述第一视频数据和所述第二视频数据得到多路视频数据;在所述多路视频数据中添加与所述多路视频数据一一对应的视频标识信息并生成多路目标视频数据;通过单一传输链路发送所述多路目标视频数据至所述客户端以供播放。
由于在现有技术中,由于存在多路视频源,云端服务器上需要设置与多路视频源对应的多条链路与客户端连接,然后将视频数据传输至客户端上进行播放,即云端服务器需要维护多条链路,维护成本高,同时也比较浪费资源多。本发明首先通过接收视频播放请求,然后判断所述多路视频流的解析情况,当多路视频流中存在没有被解析的视频流时,将未解析的视频流进行解析并得到第一视频数据,然后获取已解析的第二视频数据,再根据第一视频数据和第二视频数据得到多路视频数据,然后将视频标识信息添加到给多路视频数据中的每个视频数据得到多路目标视频数据,然后将多路目标视频数据通过单一链路发送给客户端以供播放,减少了传输视频流的链路,减少了维护成本以及降低了资源消耗。
在本发明的一个实施例中,所述判断所述多路视频流的解析情况,包括:根据所述多路视频流对应的视频源是否有视频流通信链路,判断所述多路视频流的解析情况。
在本发明的一个实施例中,根据所述多路视频流对应的视频源是否有视频流通信链路,判断所述多路视频流的解析情况,包括:若所述多路视频流中至少一路第一视频流对应的视频源有视频流通信链路,确定所述至少一路第一视频流的解析情况为已解析;若所述多路视频流中至少一路第二视频流对应的视频源没有视频流通信链路,确定所述至少一路第二视频流的解析情况为未解析。
在本发明的一个实施例中,所述将所述多路视频流中未解析的进行解析,包括:为所述多路视频流中未解析的视频流建立所述视频流通信链路;根据建立的所述视频流通信链路接收所述未解析的视频流并进行解析。
在本发明的一个实施例中,所述在所述多路视频数据添加与所述多路视频数据一一对应的视频标识信息并生成多路目标视频数据,包括:在所述多路视频数据中每路视频数据的数据最前端或数据最后端添加所述与所述多路视频数据一一对应的所述视频标识信息;根据所述视频标识信息以及所述多路视频数据生成所述多路目标视频数据。
在本发明的一个实施例中,所述单一链路为WebSocket链路。
在本发明的一个实施例中,所述视频标识信息与所述客户端上播放的画面位置之间具有映射关系。
另一方面,本发明实施例提出了一种视频流处理设备,包括:信息接收模块,用于接收客户端发送的视频播放请求信息,所述视频播放请求信息用于请求所述客户端需要播放的多路视频流;解析情况判断模块,用于根据所述视频播放请求信息判断所述多路视频流的解析情况;数据解析模块,用于根据所述解析情况,将所述多路视频流中未解析的进行解析,并得到第一视频数据;数据获取模块,用于根据所述解析情况,获取所述多路视频流中解析的视频流对应的第二视频数据;数据得到模块,用于根据所述第一视频数据和所述第二视频数据得到多路视频数据;信息添加模块,用于在所述多路视频数据中添加与所述多路视频数据一一对应的视频标识信息并生成多路目标视频数据;数据发送模块,用于通过单一传输链路发送所述多路目标视频数据至所述客户端以供播放。
再一方面,本发明实施例提供一种云端服务器系统,包括:云端服务器、多路视频源和客户端;其中,所述云端服务器,用于接收所述客户端发送的视频播放请求信息,所述视频播放请求信息用于请求所述客户端需要播放的多路视频流;判断所述多路视频流的解析情况;根据所述解析情况,将所述多路视频流中未解析的视频流进行解析,得到第一视频数据;根据所述解析情况,获取所述多路视频流中解析的视频流对应的第二视频数据;根据所述第一视频数据和所述第二视频数据得到多路视频数据;在所述多路视频数据中添加与所述多路视频数据一一对应的视频标识信息并生成所述多路目标视频数据;通过单一传输链路发送所述多路目标视频数据至所述客户端;所述多路视频源,用于将所述多路视频流通过视频流通信链路传输给所述云端服务器;所述客户端,用于发送所述视频播放请求信息,接收所述云端服务器发送的所述多路目标视频数据并播放。
还一方面,本发明实施例提出了一种视频流处理系统,包括:处理器和连接所述处理器的存储器;其中所述存储器存储有所述处理器执行的指令,且所述指令使得所述处理器执行操作以进行前述任意一种视频流处理方法。
又一方面,本发明实施例提出了一种计算机可读存储介质,其为非易失性存储器且存储有程序代码,当所述程序代码被计算机执行时实现前述任意一种视频流处理方法。
由上可知,本发明上述技术特征可以具有如下一个或多个有益效果:
1、本发明实施例首先通过接收视频播放请求,然后判断客户端需要播放的多路视频源是否被解析,当多路视频源没有被解析时,解析得到第一视频数据,然后获取已解析的视频流得到第二视频数据,再根据第一视频数据和第二视频数据得到多路视频数据,将视频标识信息添加到给多路视频数据中的每个视频数据得到多路目标视频数据,然后将多路目标视频数据通过单一链路发送给客户端以供播放,减少了传输视频流的链路,减少了维护成本以及降低了资源消耗;
2、在本发明实施例中,通过判断客户端播放的多路视频源已经被解析时,直接将解析后的多个视频数据添加视频标识信息后发送至客户端,不需要多次进行解析再发送,减少了资源消耗。
3、本发明实施例通过使用WebSocket链路传输多路目标视频数据到客户端,解决了部分浏览器的链接限制问题,同时也实现了低延时传输方式。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中的视频流传输场景的示意图。
图2为本发明第一实施例的一种视频流处理方法的步骤流程图。
图3为本发明第一实施例的一种视频流处理方法中步骤S102的具体步骤流程图。
图4为本发明第一实施例的一种视频流处理方法中步骤S103的具体步骤流程图。
图5为本发明具体实施例涉及的一种具体视频流传输场景的示意图。
图6为本发明具体实施例涉及的一种视频流处理方法的具体步骤流程图。
图7为本发明第二实施例的一种视频流处理设备的模块示意图。
图8为本发明第三实施例的一种云端服务器系统的结构示意图。
图9为本发明第四实施例的一种视频流处理系统的结构示意图。
图10为本发明第五实施例的一种计算机可读存储介质的结构示意图。
【附图标号说明】
S101-S107、S201-S202、S301-S302:视频流处理方法步骤;
600:视频流处理设备;601:信息接收模块;602:解析情况判断模块;603:数据解析模块;604:数据获取模块;605:数据得到模块;606:信息添加模块;607:数据发送模块;
700:云端服务器系统;701:视频源;702:云端服务器;703:客户端;7011:第一路视频源;7012:第二路视频源;7013:第三路视频源;
800:视频流处理系统;801:处理器;803:存储器;
900:计算机可读存储介质。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例中视频流处理方法一种管理平台系统或者一种可视化平台系统中。该系统可以包括视频源、云端服务器和客户端,例如如图4所示。
其中,所述视频源用于给云端服务器提供视频流,其中,所述视频源可以包括有多路视频源,例如包括第一路视频源、第二路视频源和第三路视频源,均用于给云端服务器提供不同的视频流。所述视频源可以是摄像头,也可以是相机等等。
所述云端服务器用于接收客户端发送的视频播放请求信息,例如播放特定视频画面请求信息,然后云端服务器判断多路视频流的解析情况,根据解析情况获取解析的视频流以及已经解析过的视频流并得到多路视频数据,然后在多路视频数据中的每路视频数据添加标记信息后生成多路目标视频数据并通过单一链路发送至客户端。其用于执行本发明实施例中的视频流处理方法。
所述客户端接收云端服务器发送的多路目标视频数据,然后根据标记信息将多路目标视频数据进行拆分识别并播放。其中所述客户端可以是用户的终端设备,也可以是用户终端上的浏览器,例如手机的多个浏览器或者电脑的多个浏览器等等。
【第一实施例】
如图2所示,本发明第一实施例提供的一种视频流处理方法,例如包括:
S101、接收客户端发送的视频播放请求信息,所述视频播放请求信息用于请求所述客户端需要播放的多路视频流;
S102、判断所述多路视频流的解析情况;
S103、根据所述解析情况,将所述多路视频流中未解析的视频流进行解析,得到第一视频数据
S104、根据所述解析情况,获取所述多路视频流中解析的视频流对应的第二视频数据;
S105、根据所述第一视频数据和所述第二视频数据得到多路视频数据;
S106、在所述多路视频数据中添加与所述多路视频数据一一对应的视频标识信息并生成多路目标视频数据;
S107、通过单一传输链路发送所述多路目标视频数据至所述客户端以供播放。
由于在现有技术中,由于存在多路视频源,云端服务器上需要设置与多路视频源对应的多条链路与客户端连接,然后将视频数据传输至客户端上进行播放,即云端服务器需要维护多条链路,维护成本高,同时也比较浪费资源多。本发明首先通过接收视频播放请求,然后判断所述多路视频流的解析情况,当多路视频流中存在没有被解析的视频流时,解析并得到第一视频数据,然后获取已解析的第二视频数据,再根据第一视频数据和第二视频数据得到多路视频数据,然后将视频标识信息添加到给多路视频数据中的每个视频数据得到多路目标视频数据,然后将多路目标视频数据通过单一链路发送给客户端以供播放,减少了传输视频流的链路,减少了维护成本以及降低了资源消耗。
其中,在步骤S101中,所述客户端可以是用户的终端设备比如手机或者电脑,也可以是终端上的浏览器,所述客户端发送的视频播放请求信息为客户端需要播放的多路视频流的请求,也可以是播放一路视频流的请求,具体此处不做限定。
其中,在步骤S102中,云端服务器需要判断所述多路视频流的解析情况,例如说在云端服务器中会判断多路视频流对应的多路视频源是否与所述云端服务器有视频流通信链路,若云端服务器判断出视频源与云端服务器有视频流通信链路,则云端服务器判断出多路视频流中有视频流通信链路的视频流是被解析的情况,否则,则云端服务器判断视频流是未解析的情况。
其中,在步骤S103中,云端服务器根据解析情况,将与云端服务器不存在或者没有视频流通信链路的视频源建立链路,然后获取对应的视频流,并将对应的视频流进行解析,得到第一视频数据,所述第一视频数据即为未解析的视频流经过解析后得到的视频数据。所述第一视频数据包括至少一路视频流解析后对应的视频数据。在云端服务器中对视频流进行解析,需要按照一定的频率将单位时间的视频流转换为一定的视频数据集合,例如将一秒钟的视频转换成24帧的视频数据(当视频画面达到一秒钟24帧时人眼看到的事连续的视频画面)。
其中,在步骤S104中,云端服务器根据解析情况,则云端服务器得到将与云端服务器有视频流通信链路对应的视频流是已经解析的,则直接获取该视频流对应的第二视频数据。所述第二视频数据包括至少一路视频流解析后对应的视频数据。
其中,在步骤S105中,所述多路视频数据为所述第一视频数据和所述第二视频数据,然后将多路视频数据添加视频标识信息后发送至客户端。
其中,在步骤S106中,所述视频标识信息与所述客户端上播放的画面位置之间具有映射关系,即所述视频标识信息可以是客户端在发送视频播放请求信息时,该视频标识信息已经在写入至视频播放请求信息中,或者是客户端与云端服务器规定或者约定好的视频标识信息与多路视频流之间的对应关系,例如为“1”对应第一路视频数据、“2”对应第二路视频数据,或者其他视频标识信息比如英文标识信息对应多路视频数据等等。
其中,在步骤S107中,所述单一传输链路为单个WebSocket(中文全称:一种全双工通信协议)链路将所述合流视频发送到所述客户端。
在另一个具体的实施方案中,如图3所示,所述方法例如还包括:
S201、若所述多路视频流中至少一路第一视频流对应的视频源有视频流通信链路,确定所述至少一路第一视频流的解析情况为已解析;
S202、若所述多路视频流中至少一路第二视频流对应的视频源没有视频流通信链路,确定所述至少一路第二视频流的解析情况为未解析。
其中,在步骤S201中,所述视频流通信链路为RTSP(英文全称:Real TimeStreaming Protocol;中文全称:实时流传输协议)链路和/或RTMP(英文全称:Real TimeMessaging Protocol;中文全称:实时消息传输协议)链路,在其他实施例中,所述视频流通信链路可以是其它的视频传输协议通信链路,具体此处不做限定。
在另一个具体的实施方案中,如图4所示,所述方法例如还包括:
S301、为所述多路视频流中未解析的视频流建立所述视频流通信链路;
S302、根据建立的所述视频流通信链路接收所述未解析的视频流并进行解析。
为便于更清楚地理解本实施例,下面结合图5、图6以及具体实施例对本实施例的所述的视频流处理方法的进行详细说明。
本实施例中,执行主体为云端服务器,其应用于可视化平台系统或者管理平台系统中,所述系统包括有云端服务器、视频源和客户端,例如如图5所示。其中,所述视频源例如为摄像头和相机等等,在本实施例中,所述视频源例如包括第一路视频源、第二路视频源和第三路视频源,在其他实施例中,所述视频源还可以包括第四视频源和第五视频源,具体此处不做限定。
所述客户端为终端设备或者PC机或者终端设备和PC机上的浏览器等等,由于浏览器本身可以支持多窗口打开,所以,可以通过调整浏览器中的多窗口的分布,用不同的窗口播放不同的视频,从而在客户端实现对多个视频流的同时浏览。
如图6所示,本发明实施例提供了一种具体的视频流处理方法,例如包括:
首先,云端服务器会跟视频源建立视频流通信链路,例如,视频源会发送连接请求给所述云端服务器,然后云端服务器在验证通过所述连接请求后,维护自身与所述视频源之间的链路信息。然后所述视频源与所述云端服务器之间的链路建立完成,然后所述视频源将视频流发送至云端服务器。其中,所述云端服务器可以支持多个视频源的接入,例如支持上百个视频源的接入。
其中,所述视频流通信链路包括RTMP链路和/或RTSP链路,然后云端服务器从所述视频源中拉取视频流,由于所述云端服务器可以支持多个视频源的接入,即所述云端服务器可以从多路视频源中拉取视频流,得到多路视频流。其中,所述视频流为视频源发送至云端服务器的一种视频数据编码格式。在其它实施例中,所述所述云端服务器可以通过其他的视频传输协议从所述视频源中拉取视频流,所述云端服务器可以根据实际的设置通过不同的视频传输协议来获取视频流,具体此处不做限定。在其它实施例中,所述视频流通信链路可以是其它的视频传输协议通信链路,具体此处不做限定。
然后所述云端服务器接收到所述客户端发送的视频播放请求信息,其中,所述视频播放请求信息可以是所述客户端需要播放多路视频流的请求,也可以是所述客户端上的浏览器的多个窗口同时播放多个视频的请求,具体此处不做限定。其中,所述视频播放请求信息可以包括有需要播放的多路视频流的信息,还可以包括有客户端中已经存储的视频标识信息,该视频标识信息是与多路视频数据有对应关系的标识信息,即所述视频标识信息与所述客户端上播放的画面位置之间具有映射关系。例如说客户端中视频标识信息为“1”时,其对应多路视频数据中的第一路视频数据、视频标识信息为“2”时,其对应多路视频数据中的第二路视频数据,或者其他视频标识信息比如英文标识信息对应多路视频数据等等,具体此处视频标识信息不做限定;所述视频播放请求信息也可以根据实际需求设置包含多个其他信息,具体此处也不做限定。
然后所述云端服务器根据接收到的视频播放请求信息得到客户端需要播放的多路视频流,在其他实施例中,客户端发送的视频播放请求信息也可以是播放一路视频流,可以根据实际的需求设置需要播放一路视频流或者两路视频流或者三路视频流等等。
然后云端服务器判断所述多路视频流的解析情况:云端服务器判断所述客户端请求播放的多路视频流对应的多路视频源是否与云端服务器有视频流通信链路。如果没有视频流通信链路,则云端服务器得到解析情况为多路视频流没有被解析,否则,云端服务器得到的解析情况为多路视频流已经解析。在其他实施例中,云端服务器判断多路视频流的解析情况可以是通过判断多路视频流是否在其他客户端中已经播放或者正在播放,如果多路视频流正在播放或者已经播放,则判断多路视频流属于已经被解析的情况,如果多路视频流在其他客户端中没有被播放,则判断多路视频流属于没有被解析的情况。
其中,所述云端服务器判断所述多路视频流的解析情况,云端服务器得到的判断结果有多种情况如下:
1、云端服务器判断出多路视频流的全部视频流都未被解析,则云端服务器分别与多路视频流对应的多路视频源建立视频流通信链路,然后通过所述视频流通信链路获取多路视频流,然后云端服务器分别将多路视频流通过h264协议转换成客户端可以识别或者可以播放的视频数据,即将多路视频流转换成另外一种视频编码格式,得到多路视频数据。
然后分别在所述多路视频数据中的最前端或者最后端中添加与所述多路视频数据一一对应的视频标识信息,生成多路目标视频数据;所述多路目标视频数据即为带视频标识信息的多路视频数据;其中所述视频标识信息可以是客户端在发送视频播放请求信息时,该视频标识信息已经在写入至视频播放请求信息中,或者是客户端与云端服务器规定或者约定好的视频标识信息,所述视频标识信息与多路视频流之间的有一一对应关系。例如,视频标识信息为“1”、“2”,则“1”对应多路视频数据中的第一路视频数据、“2”对应多路视频数据中的第二路视频数据。所述视频标识信息与所述客户端上播放的画面位置之间也具有映射关系,例如说所述客户端播放第二个画面位置对应多路视频数据中的第二路视频数据。
然后云端服务器将生成的多路目标视频数据通过单一传输链路发送至客户端,然后客户端根据视频标识信息对多路目标视频数据进行识别并播放;例如说,云端服务器先解析出第二路视频数据,然后添加上视频标识信息后得到第二路目标视频数据,云端服务器就会先发送第二路目标视频数据给客户端,然后客户端根据视频标识信息对第二路目标视频数据进行识别得到第二路视频数据后并播放,然后云端服务器再解析并得到第一路目标视频数据发送至客户端,然后客户端就接着根据视频标识信息识别第一路目标视频数据为第一路视频数据并播放。
所述单一传输通道可以根据客户端的实际使用场景来进行实现,例如说客户端为终端设备或者PC机上的浏览器,则单一传输链路为WebSocket链路;若客户端为终端设备或者PC机等设备时,则单一传输链路可以是TCP(中文全称:传输控制协议;英文全称:Transmission Control Protocol)或者UDP(中文全称:用户数据报协议;英文全称:UserDatagram Protocol)或者其他通信协议链路。
2、云端服务器判断出多路视频流的全部视频流都已经被解析,则云端服务器判断出多路视频流对应的多路视频源已经与云端服务器建立了视频流通信链路,然后直接获取多路视频流对应的多路视频数据,然后云端服务器分别在所述多路视频数据中添加与所述多路视频数据一一对应的所述视频标识信息,并生成所述多路目标视频数据,然后通过单一的传输链路例如WebSocket链路将多路目标视频数据发送至客户端,客户端接收到多路目标视频数据后根据视频标识信息识别所述多路目标视频数据并播放,例如客户端为终端设备上的浏览器,则浏览器接收到多路目标视频数据并识别然后在浏览器上的多个窗口上分别播放,比如浏览器先接收到第二路目标视频数据,然后终端设备根据视频标识信息识别第二路目标视频数据为第二路视频数据,则在第二个窗口上播放第二路视频数据,然后浏览器接收到第一路目标视频数据,然后根据视频标识信息识别第一路目标视频数据为第一路视频数据,并进行播放。
3、云端服务器判断出多路视频流中第一部分已被解析,第二部分未被解析,即多路视频流中第一部分为多路视频流中的一部分视频流对应的视频源与云端服务器有视频流通信链路,多路视频流中第二部分为多路视频流中另一部分视频流(即第一视频流)对应的视频源与云端服务器没有视频流通信链路,则云端服务器对未解析的第二部分视频流(即第二视频流)对应的视频源建立视频流通信链路进行解析得到第二部分视频数据(即第二视频数据),然后云端服务器获取第一部分已被解析的视频流的对应的第一部分视频数据(即第一视频数据),然后基于第一视频数据和第二视频数据放在一起得到多路视频数据,然后对多路视频数据添加与多路视频数据一一对应的视频标识信息,生成多路目标视频数据,然后再通过单一传输连接例如WebSocket链路将多路目标视频数据分别发送至客户端上,客户端根据视频标识信息对多路视频数据进行识别后并播放。
其中,云端服务器也可以接收多个客户端发送的视频播放请求,所述多个客户端中的每个客户端均与云端服务器通过单一传输链路连接,即每个客户端只需要维护单一传输链路即可。
综上所述,由于在现有技术中,由于存在多路视频源,云端服务器上需要设置与多路视频源对应的多条链路与客户端连接,然后将视频数据传输至客户端上进行播放,即云端服务器需要维护多条链路,维护成本高,同时也比较浪费资源多。本发明首先通过接收视频播放请求,然后判断所述多路视频流的解析情况,当多路视频流中存在没有被解析的视频流时,解析并得到第一视频数据,然后获取已解析的第二视频数据,再根据第一视频数据和第二视频数据得到多路视频数据,然后将视频标识信息添加到给多路视频数据中的每个视频数据得到多路目标视频数据,然后将多路目标视频数据通过单一链路发送给客户端以供播放,减少了传输视频流的链路,减少了维护成本以及降低了资源消耗。同时,云端服务器通过判断客户端播放的多路视频源已经被解析时,直接获取解析后的视频源对应的视频数据并添加视频标识信息后通过单一传输链路发送至客户端,不需要多次进行解析再发送,从而达到减少了资源消耗的目的。
并且,通过本发明可以对与云端服务器连接的多路视频源中的多路视频流进行查看,而且单个客户端只需要维护与云端服务器连接的WebSocket链路,也可以多个客户端通过单一的WebSocket链路与云端服务器连接,即可以支持多个用户查看多个视频源。
【第二实施例】
如图7所示,本发明第二实施例提供了一种视频流处理设备600,例如包括:信息接收模块601、解析情况判断模块602、数据解析模块603、数据获取模块604、数据得到模块605、信息添加模块606和数据发送模块607。
其中,信息接收模块601,用于接收客户端发送的视频播放请求信息,所述视频播放请求信息用于请求所述客户端需要播放的多路视频流;解析情况判断模块602,用于根据所述视频播放请求信息判断所述多路视频流的解析情况;数据解析模块603,用于根据所述解析情况,将所述多路视频流中未解析的进行解析,并得到第一视频数据;数据获取模块604,用于根据所述解析情况,获取所述多路视频流中解析的视频流对应的第二视频数据;数据得到模块605,用于根据所述第一视频数据和所述第二视频数据得到多路视频数据;信息添加模块606,用于在所述多路视频数据中添加与所述多路视频数据一一对应的视频标识信息并生成多路目标视频数据;数据发送模块607,用于通过单一传输链路发送所述多路目标视频数据至所述客户端以供播放。
进一步地,本实施例解析情况判断模块602,还具体用于:根据所述多路视频流对应的视频源是否有视频流通信链路,判断所述多路视频流的解析情况。
进一步地,本实施例解析情况判断模块602,例如还包括:已解析情况确定单元,用于若所述多路视频流中至少一路第一视频流对应的视频源有视频流通信链路,确定所述至少一路第一视频流的解析情况为已解析;未解析情况确定单元,用于若所述多路视频流中至少一路第二视频流对应的视频源没有视频流通信链路,确定所述至少一路第二视频流的解析情况为未解析。
进一步地,在本实施例中,数据解析模块603例如包括:通信链路建立单元,用于为所述多路视频流中未解析的视频流建立所述视频流通信链路;视频流解析单元,用于根据建立的所述视频流通信链路接收所述未解析的视频流并进行解析。
进一步地,在本实施例中,所述信息添加模块606例如包括:视频标识信息添加单元,用于在所述多路视频数据中每路视频数据的数据最前端或数据最后端添加所述与所述多路视频数据一一对应的所述视频标识信息;视频数据生成单元,用于根据所述视频标识信息以及所述多路视频数据生成所述多路目标视频数据。
进一步地,在本实施例中,所述单一链路为WebSocket链路。
进一步地,在本实施例中,所述视频标识信息与所述客户端上播放的画面位置之间具有映射关系。
本实施例公开的视频流处理设备600所实现的视频流处理方法如前述第一实施例所述,故在此不再进行详细讲述。可选地,第二实施例中的各个模块和上述其他操作或功能分别为了实现本发明第一实施例中的方法,且本实施例的有益效果可参见所述第一实施例的有益效果的描述,在此不再赘述。
【第三实施例】
如图8所示,本发明第三实施例提供了一种云端服务器系统700,包括:云端服务器702、多路视频源701和客户端703。
其中,所述云端服务器702用于接收所述客户端703发送的视频播放请求信息,所述视频播放请求信息用于请求所述客户端703需要播放的多路视频流;判断所述多路视频流的解析情况;根据所述解析情况,将所述多路视频流中未解析的视频流进行解析,得到第一视频数据;根据所述解析情况,获取所述多路视频流中解析的视频流对应的第二视频数据;根据所述第一视频数据和所述第二视频数据得到多路视频数据;在所述多路视频数据中添加与所述多路视频数据一一对应的视频标识信息并生成多路目标视频数据;通过所述单一传输链路发送所述多路目标视频数据至所述客户端;
所述多路视频源701,用于将所述多路视频流通过视频流通信链路(例如RTSP链路和/或RTMP链路)传输给所述云端服务器702;其中,所述多路视频源701包括有第一路视频源7011、第二路视频源7012和第三路视频源7013。在其他实施例中,所述多路视频源701还可以包括有第四路视频源和第五路视频源等等,可以根据实际客户端703需要播放的视频流数量来决定云端服务器702需要获取多少路视频源,具体此处不做限定。所述多路视频源702可以是监控摄像头,红外相机或者智能设备等等。
所述客户端703,用于发送所述视频播放请求信息,接收所述云端服务器702发送的所述多路目标视频数据并播放;其中,所述客户端703可以是终端设备或者PC机或者终端设备上的浏览器等等。在本实施例中,所述客户端703为一个,在其它实施例中,所述客户端703可以是多个,且所述多个客户端703中的每个客户端703均与云端服务器702通过单一传输链路连接,即每个客户端703只需要维护单一传输链路即可。
【第四实施例】
如图9所示,本发明第五实施例提供的一种输入视频源处理系统800,包括:处理器801和存储器803;其中,存储器803存储由处理器801执行的指令,且处理器801执行所述指令以进行前述第一实施例所述的视频流处理方法。
【第五实施例】
如图10所示,本发明第六实施例提供的一种计算机可读存储介质900,其为非易失性存储器且存储有计算机可读指令,当所述计算机可读指令被一个或多路处理器执行以进行前述第一实施例所述的视频流处理方法。
另外,可以理解的是,前述各个实施例仅为本发明的示例性说明,在技术特征不冲突、结构不矛盾、不违背本发明的发明目的前提下,各个实施例的技术方案可以任意组合、搭配使用。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和/或方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元/模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多路单元或模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元/模块可以是或者也可以不是物理上分开的,作为单元/模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多路网络单元上。可以根据实际的需要选择其中的部分或者全部单元/模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元/模块可以集成在一个处理单元/模块中,也可以是各个单元/模块单独物理存在,也可以两个或两个以上单元/模块集成在一个单元/模块中。上述集成的单元/模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元/模块的形式实现。
上述以软件功能单元/模块的形式实现的集成的单元/模块,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)的一个或多路处理器执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种视频流处理方法,其特征在于,包括:
接收客户端发送的视频播放请求信息,所述视频播放请求信息用于请求所述客户端需要播放的多路视频流;
判断所述多路视频流的解析情况;
根据所述解析情况,将所述多路视频流中未解析的视频流进行解析,得到第一视频数据;
根据所述解析情况,获取所述多路视频流中解析的视频流对应的第二视频数据;
根据所述第一视频数据和所述第二视频数据得到多路视频数据;
在所述多路视频数据中添加与所述多路视频数据一一对应的视频标识信息并生成多路目标视频数据;
通过单一传输链路发送所述多路目标视频数据至所述客户端以供播放。
2.根据权利要求1所述的视频流处理方法,其特征在于,所述判断所述多路视频流的解析情况,包括:
根据所述多路视频流对应的视频源是否有视频流通信链路,判断所述多路视频流的解析情况。
3.根据权利要求2所述的视频流处理方法,其特征在于,根据所述多路视频流对应的视频源是否有视频流通信链路,判断所述多路视频流的解析情况,包括:
若所述多路视频流中至少一路第一视频流对应的视频源有视频流通信链路,确定所述至少一路第一视频流的解析情况为已解析;
若所述多路视频流中至少一路第二视频流对应的视频源没有视频流通信链路,确定所述至少一路第二视频流的解析情况为未解析。
4.根据权利要求2或3所述的方法其特征在于,所述将所述多路视频流中未解析的进行解析,包括:
为所述多路视频流中未解析的视频流建立所述视频流通信链路;
根据建立的所述视频流通信链路接收所述未解析的视频流并进行解析。
5.根据权利要求1所述的视频流处理方法,其特征在于,所述在所述多路视频数据添加与所述多路视频数据一一对应的视频标识信息并生成多路目标视频数据,包括:
在所述多路视频数据中每路视频数据的数据最前端或数据最后端添加所述与所述多路视频数据一一对应的所述视频标识信息;
根据所述视频标识信息以及所述多路视频数据生成所述多路目标视频数据。
6.根据权利要求1所述的视频流处理方法,其特征在于,所述单一链路为WebSocket链路。
7.根据权利要求1所述的视频流处理方法,其特征在于,所述视频标识信息与所述客户端上播放的画面位置之间具有映射关系。
8.一种视频流处理设备,其特征在于,包括:
信息接收模块,用于接收客户端发送的视频播放请求信息,所述视频播放请求信息用于请求所述客户端需要播放的多路视频流;
解析情况判断模块,用于根据所述视频播放请求信息判断所述多路视频流的解析情况;
数据解析模块,用于根据所述解析情况,将所述多路视频流中未解析的进行解析,并得到第一视频数据;
数据获取模块,用于根据所述解析情况,获取所述多路视频流中解析的视频流对应的第二视频数据;
数据得到模块,用于根据所述第一视频数据和所述第二视频数据得到多路视频数据;
信息添加模块,用于在所述多路视频数据中添加与所述多路视频数据一一对应的视频标识信息并生成多路目标视频数据;
数据发送模块,用于通过单一传输链路发送所述多路目标视频数据至所述客户端以供播放。
9.一种云端服务器系统,其特征在于,包括:
云端服务器、多路视频源和客户端;
其中,所述云端服务器,用于接收所述客户端发送的视频播放请求信息,所述视频播放请求信息用于请求所述客户端需要播放的多路视频流;判断所述多路视频流的解析情况;根据所述解析情况,将所述多路视频流中未解析的视频流进行解析,得到第一视频数据;根据所述解析情况,获取所述多路视频流中解析的视频流对应的第二视频数据;根据所述第一视频数据和所述第二视频数据得到多路视频数据;在所述多路视频数据中添加与所述多路视频数据一一对应的视频标识信息并生成多路目标视频数据;通过单一传输链路发送所述多路目标视频数据至所述客户端;
所述多路视频源,用于将所述多路视频流通过视频流通信链路传输给所述云端服务器;
所述客户端,用于发送所述视频播放请求信息,接收所述云端服务器发送的所述多路目标视频数据并播放。
10.一种视频流处理系统,其特征在于,包括:
处理器和连接所述处理器的存储器;其中,所述存储器存储有所述处理器执行的指令,且所述指令使得所述处理器执行操作以进行如上权利要求1-7中任一项所述的视频流处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011306010.XA CN114520925A (zh) | 2020-11-19 | 2020-11-19 | 视频流处理方法、设备、系统和云端服务器系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011306010.XA CN114520925A (zh) | 2020-11-19 | 2020-11-19 | 视频流处理方法、设备、系统和云端服务器系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114520925A true CN114520925A (zh) | 2022-05-20 |
Family
ID=81594275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011306010.XA Pending CN114520925A (zh) | 2020-11-19 | 2020-11-19 | 视频流处理方法、设备、系统和云端服务器系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114520925A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024060134A1 (zh) * | 2022-09-22 | 2024-03-28 | 京东方科技集团股份有限公司 | 信息处理方法、装置、电子设备和计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102231863A (zh) * | 2011-06-02 | 2011-11-02 | 南京中兴力维软件有限公司 | 一种多通道视频流的传输方法及系统 |
CN102301730A (zh) * | 2011-07-18 | 2011-12-28 | 华为技术有限公司 | 多路音视频传输和处理方法、装置及系统 |
CN105451022A (zh) * | 2015-11-17 | 2016-03-30 | 深圳联友科技有限公司 | 一种将多路视频流压缩成一路视频流的方法及系统 |
CN105872589A (zh) * | 2016-03-29 | 2016-08-17 | 乐视控股(北京)有限公司 | 一种多路视频播放方法、服务器和终端 |
CN105872569A (zh) * | 2015-11-27 | 2016-08-17 | 乐视云计算有限公司 | 视频播放方法、装置及系统 |
CN107749834A (zh) * | 2017-08-31 | 2018-03-02 | 中建三局第二建设工程有限责任公司 | 一种自动化适应网络拓扑链路环境的多播流媒体的方法 |
-
2020
- 2020-11-19 CN CN202011306010.XA patent/CN114520925A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102231863A (zh) * | 2011-06-02 | 2011-11-02 | 南京中兴力维软件有限公司 | 一种多通道视频流的传输方法及系统 |
CN102301730A (zh) * | 2011-07-18 | 2011-12-28 | 华为技术有限公司 | 多路音视频传输和处理方法、装置及系统 |
CN105451022A (zh) * | 2015-11-17 | 2016-03-30 | 深圳联友科技有限公司 | 一种将多路视频流压缩成一路视频流的方法及系统 |
CN105872569A (zh) * | 2015-11-27 | 2016-08-17 | 乐视云计算有限公司 | 视频播放方法、装置及系统 |
CN105872589A (zh) * | 2016-03-29 | 2016-08-17 | 乐视控股(北京)有限公司 | 一种多路视频播放方法、服务器和终端 |
CN107749834A (zh) * | 2017-08-31 | 2018-03-02 | 中建三局第二建设工程有限责任公司 | 一种自动化适应网络拓扑链路环境的多播流媒体的方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024060134A1 (zh) * | 2022-09-22 | 2024-03-28 | 京东方科技集团股份有限公司 | 信息处理方法、装置、电子设备和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102883135B (zh) | 屏幕共享及控制方法 | |
CN112738140B (zh) | 一种基于WebRTC的视频流传输方法、装置、存储介质和设备 | |
EP2790375A2 (en) | Distribution control system, distribution control method, and computer-readable storage medium | |
EP2779571B1 (en) | Distribution control system, distribution system, distribution control method, and computer-readable storage medium | |
US9628866B2 (en) | Distribution control system and distribution system | |
EP2778981B1 (en) | Distribution control system, distribution system, distribution control method, and computer-readable storage medium | |
EP2790383B1 (en) | Distribution control system, distribution system, distribution control method, and computer-readable storage medium | |
EP2974319A1 (en) | Distribution control system, distribution control method, and computer-readable storage medium | |
US10250665B2 (en) | Distribution control system, distribution system, distribution control method, and computer-readable storage medium | |
CN113489805B (zh) | 一种云桌面系统的对接方法、装置、设备及存储介质 | |
US9723337B2 (en) | Distribution control system and distribution system | |
EP2793475A1 (en) | Distribution control system, distribution control method, and computer-readable storage medium | |
WO2017016568A1 (de) | Verfahren und telekommunikationsnetz zum streamen und zur wiedergabe von anwendungen | |
CN109756744B (zh) | 数据处理方法、电子设备及计算机存储介质 | |
CN110691238A (zh) | 一种视频重建质量测试方法、装置、设备及可读存储介质 | |
CN114520925A (zh) | 视频流处理方法、设备、系统和云端服务器系统 | |
US20230269410A1 (en) | Method, device and system for transmitting data stream and computer storage medium | |
US20160073137A1 (en) | Transmission apparatus, transmission method, reception apparatus, and reception method | |
CN114040220A (zh) | 直播方法和装置 | |
CN113726801A (zh) | 应用于服务端的ab实验方法、装置、设备及介质 | |
CN107872683B (zh) | 一种视频数据处理方法、装置、设备及存储介质 | |
CN114584808B (zh) | 一种视频流获取方法、装置、系统、设备和介质 | |
CN115022725A (zh) | 一种视频播放方法和装置 | |
CN113709528B (zh) | 播放控制、配置方法、装置、电子设备及存储介质 | |
CN110798700B (zh) | 视频处理方法、视频处理装置、存储介质与电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |