CN112637636A - 一种视频流处理方法及装置 - Google Patents

一种视频流处理方法及装置 Download PDF

Info

Publication number
CN112637636A
CN112637636A CN202011532852.7A CN202011532852A CN112637636A CN 112637636 A CN112637636 A CN 112637636A CN 202011532852 A CN202011532852 A CN 202011532852A CN 112637636 A CN112637636 A CN 112637636A
Authority
CN
China
Prior art keywords
video stream
created
time
area information
area
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.)
Granted
Application number
CN202011532852.7A
Other languages
English (en)
Other versions
CN112637636B (zh
Inventor
蒋华平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Big Data Technologies Co Ltd
Original Assignee
New H3C Big Data Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by New H3C Big Data Technologies Co Ltd filed Critical New H3C Big Data Technologies Co Ltd
Priority to CN202011532852.7A priority Critical patent/CN112637636B/zh
Publication of CN112637636A publication Critical patent/CN112637636A/zh
Application granted granted Critical
Publication of CN112637636B publication Critical patent/CN112637636B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/7867Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title and artist information, manually generated time, location and usage information, user ratings

Abstract

本申请提供了一种视频流处理方法及装置,在本次要创建视频流时,确定本次创建视频流所需的图片的位置信息;若位置信息在最近一次创建的视频流对应的播放区域内,则本次停止创建视频流;若位置信息不在最近一次创建的视频流对应的播放区域内,则获取最近记录的若干个已创建的视频流的区域信息;根据本次所要创建的视频流的初始区域信息和获取到的若干个视频流的区域信息,判断本次所要创建的视频流的播放区域与若干个视频流各自的播放区域是否满足区域合并条件;若满足则合并播放区域并基于所需的图片创建本次的视频流,基于合并后的区域确定本次创建的视频流的目的区域信息;基于目的区域信息编码发送本次创建的视频流。由此解决了卡顿问题。

Description

一种视频流处理方法及装置
技术领域
本申请涉及云计算技术领域,尤其涉及一种视频流处理方法及装置。
背景技术
云桌面对flash动画和视频数据进行h264/h265视频压缩再传递到云桌面客户端的方案已经在各个云桌面的厂家有广泛应用,上述方案能大幅度降低传输的带宽。但是如果小视频的窗口一直在云桌面上各处动态移动,h264/h265视频流就需要不停地创建和销毁,然而发送端创建和销毁h264/h265流需也要一段时间,云桌面客户端初始化h264/h265流也需要一段时间,这些时间加起来就会增加画面的延时,从而造成卡顿现象。
因此,如何在云桌面客户端上动态移动展示视频流的情况下,减少画面时延,避免卡顿现象是值得考虑的技术问题之一。
发明内容
有鉴于此,本申请提供一种视频流处理方法及装置,用以客户端上动态移动展示视频流的情况下,减少画面时延,避免卡顿现象。
具体地,本申请是通过如下技术方案实现的:
根据本申请的第一方面,提供一种视频流处理方法,包括:
在本次要创建视频流时,确定本次创建视频流所需的图片的位置信息;
若所述位置信息在最近一次创建视频流时确定出的区域信息对应的播放区域内,则本次停止创建视频流;
若所述位置信息不在最近一次创建视频流时确定出的区域信息对应的播放区域内,则获取最近记录的若干个已创建的视频流的区域信息;
根据本次所要创建的视频流的初始区域信息和获取到的若干个视频流的区域信息,判断本次所要创建的视频流的播放区域与所述若干个视频流各自的播放区域是否满足区域合并条件;
若满足区域合并条件,则合并播放区域并基于所述所需的图片创建本次的视频流,并基于合并后的区域确定本次创建的视频流的目的区域信息;
基于所述目的区域信息编码发送本次创建的视频流。
根据本申请的第二方面,提供一种视频流处理装置,包括:
确定模块,用于在本次要创建视频流时,确定本次创建视频流所需的图片的位置信息;
停止模块,用于若所述位置信息在最近一次创建视频流时确定出的区域信息对应的播放区域内,则本次停止创建视频流;
获取模块,用于若所述位置信息不在最近一次创建视频流时确定出的区域信息对应的播放区域内,则获取最近记录的若干个已创建的视频流的区域信息;
判断模块,用于根据本次所要创建的视频流的初始区域信息和获取到的若干个视频流的区域信息,判断本次所要创建的视频流的播放区域与所述若干个视频流各自的播放区域是否满足区域合并条件;
创建模块,用于若所述判断模块的判断结果为满足区域合并条件,则合并播放区域并基于所述所需的图片创建本次的视频流,并基于合并后的区域确定本次创建的视频流的目的区域信息;
发送模块,用于基于所述目的区域信息编码发送本次创建的视频流。
根据本申请的第三方面,提供一种电子设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的计算机程序,处理器被计算机程序促使执行本申请实施例第一方面所提供的方法。
根据本申请的第四方面,提供一种机器可读存储介质,机器可读存储介质存储有计算机程序,在被处理器调用和执行时,计算机程序促使处理器执行本申请实施例第一方面所提供的方法。
本申请实施例的有益效果:
通过确认本次创建视频流时所需的图片的位置信息是否在最近一次创建视频流时确定出的区域信息对应的播放区域内,当位置信息在上述播放区域内时,本次停止创建视频流,这样也就不需要向云桌面客户端发送视频流,从而使得服务端侧减少一次视频流的编码器的创建操作和销毁操作,而且由于本次不需要创建视频流,使得云桌面客户端也不需要执行解码器的创建和销毁操作,从而解决了画面延时和卡顿的问题。而当位置信息不在最近一次创建视频流时确定出的区域信息对应的播放区域内,则获取最近记录的若干个视频流的区域信息,然后基于本次所要创建的视频流的初始区域信息和获取到的若干个区域信息判断各自的播放区域是否满足区域合并条件,当满足时表明这几个视频流的播放区域比较接近,故可以通过区域合并来减少播放区域的切换,从而可以减少画面时延,避免卡顿现象。
附图说明
图1是本申请实施例提供的一种视频流处理方法的流程示意图;
图2是本申请实施例提供的一种视频流的区域合并示意图;
图3是本申请实施例提供的视频流处理装置的框图;
图4是本申请实施例提供的实施视频流处理方法的电子设备的硬件结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
发明人发现,目前VID抓取的虚拟机图片,正常情况下是抓取图片之后直接将图片压缩然后发送给云桌面客户端进行显示,该方式速度很快。H264/H265压缩方法由于采用帧间压缩,图像压缩率更高。为了降低协议的传输带宽,如果虚拟机图片的坐标都是相同的一些图片,协议就会用H264/H265编码器把这些图片压缩成一个流,发送到云桌面客户端进行解码和显示。但是如果新抓取的图片坐标变成了另外一个坐标,那么前面的这个H264/H265流就需要进行销毁。相应地,云桌面客户端也需要在创建和销毁用于解码H264/H265流的解码器。服务器端的流编码器的创建以及云桌面客户端流解码器的创建都需要额外的一段时间,从创建编码器开始压缩成流,这段时间对用户来说就会看到图片延时或者卡顿,也即造成卡顿现象。
有鉴于此,本申请实施例提出一种视频流处理方法,应用于服务器中,服务器在本次要创建视频流时,确定本次创建视频流所需的图片的位置信息;若所述位置信息在最近一次创建视频流时确定出的区域信息对应的播放区域内,则本次停止创建视频流,这样也就不需要向云桌面客户端发送视频流,在一定程度上节省了带宽,同时也表明本次创建视频流所需的图片内容与上一次采用本申请提供的方法创建的视频流中的图片内容极为接近,云桌面客户端只需要基于上一次接收到的视频流就可以继续展示且不影响用户体验,单次创建视频流的过程中,若满足上述实施过程(位置信息在最近一次创建视频流时确定出的播放区域内),则服务端和云桌面客户端均可以减少一次视频流的编码器/解码器的创建及销毁,进而在完成所有视频流在云桌面客户端展示过程中,就可以减少多次创建和多次销毁的操作,从而解决了现有技术中因频繁创建和销毁编码器/解码器所导致的视频卡顿的问题。
若上述位置信息不在最近创建视频流时确定出的区域信息对应的播放区域内,则获取最近记录的若干个已创建的视频流的区域信息;根据本次所要创建的视频流的初始区域信息和获取到的若干个视频流的区域信息,判断本次所要创建的视频流的播放区域与若干个视频流各自的播放区域是否满足区域合并条件;若满足区域合并条件,则合并播放区域并基于所述所需的图片创建本次的视频流,并基于合并后的区域确定本次创建的视频流的目的区域信息;基于上述目的区域信息编码发送本次创建的视频流。当位置信息不在最近创建视频流时确定出的区域信息对应的播放区域内时,则可以判断本次所要创建的视频流的播放区域与若干个视频流各自的播放区域是否满足区域合并条件,当满足时表明这几个视频流的播放区域比较接近,故可以通过区域合并来减少播放区域的切换,从而可以减少画面时延,避免卡顿现象。
下面对本申请提供的视频流处理方法进行详细地说明。
参见图1,图1是本申请提供的一种视频流处理方法的流程图,该方法应用于服务器端,服务器执行上述方法时,可包括如下所示步骤:
S101、在本次要创建视频流时,确定本次创建视频流所需的图片的位置信息。
本步骤中,在创建视频流时,会获取到本次创建所需要的图片,然后可以确认各个图片的位置信息。可选地,该位置信息可以为图片中的像素点的像素坐标。
S102、判断所述位置信息是否在最近一次创建视频流时确定出的区域信息对应的播放区域内;若在,则执行步骤S103;若不在,则执行步骤S104。
本步骤中,在确定出本次创建所需要的图片的各个像素点的位置信息后,可以判断每个像素点的位置信息是否在最近一次创建视频流时确定出的区域信息对应的播放区域内,若均在上述播放区域内,或者有超过设定数量的像素点的位置信息在上述播放区域内,表明用于创建本次视频流的图片与最近一次创建的视频流中的图片比较相近,或者本次的视频流的播放区域落在最近一次创建的视频流的播放区域内,则可以执行步骤S103。当不在上述播放区域内时,表明可能本次所需的图片与最近一次创建的视频流中的图片差别有点多,或者本次创建的视频流的播放区域与最近一次的视频流的播放区域相差可能有点多,则此时执行步骤S104。
S103、本次停止创建视频流。
本步骤中,当本次创建视频流所需的图片的位置信息在最近一次创建的视频流确定出的区域信息对应的播放区域内时,则本次可以用创建视频流,即无需执行利用上述所需图片创建视频流的操作,这样也就不需要向云桌面客户端发送视频流,云桌面客户端只需基于最近一次创建的视频流获得本次所要创建的视频流,然后进行展示,这样服务器端也就减少了视频流的编码器的创建操作和销毁操作,同时云桌面客户端也减少了视频流的解码器的创建和销毁操作,从而减少了画面时延,进而避免了视频流的卡顿。
S104、获取最近记录的若干个已创建的视频流的区域信息。
本步骤中,上述若干个的具体数量可以根据实际情况进行配置,如若干个可以为2个、3个等等。
S105、根据本次所要创建的视频流的初始区域信息和获取到的若干个视频流的区域信息,判断本次所要创建的视频流的播放区域与所述若干个视频流各自的播放区域是否满足区域合并条件;若满足区域合并条件,则执行步骤S106;若不满足区域合并条件,则执行步骤S108。
本步骤中,上述初始区域信息可以根据本次所要创建的视频流所需的图片的位置信息来确定,将多个图片构成的播放区域也即初始播放区域,来确定本次所要创建的视频流的初始区域信息。然后在此基础上,可以基于该初始区域信息和最近记录的若干个视频流的区域信息,判断本次所要创建的视频流的播放区域与上述若干个视频流的播放区域是否满足区域合并条件,若满足区域合并条件则表明视频流的播放区域比较接近,可以通过区域合并即步骤S106来减少播放区域的切换,从而可以避免卡顿;而当不满足区域合并条件时,则表明播放区域相差有点多,即使合并播放体验也可能不好,则此时执行步骤S108,后续详细介绍之。
S106、合并播放区域并基于所述所需的图片创建本次的视频流,并基于合并后的区域确定本次创建的视频流的目的区域信息。
本步骤中,在确认满足区域合并条件时,则将初始播放区域与上述若干次视频流的播放区域进行区域合并,同时基于本次所需要的图片按照目前的方法创建本次的视频流,同时基于合并后的区域确定本次创建的视频流的目的区域信息,这样一来,不仅可以通过区域合并来减少播放区域的切换,进而减少画面时延,以及解决卡顿问题。此外,合并后的区域必然比单个视频流的播放区域要大,这样下一次要创建视频流时所需的图片的位置信息很可能落在上述合并后的区域,使得停止创建下一次视频流,只需云桌面客户端基于本次创建的视频流及目的区域信息获得下一次视频流即可,这样服务器端和云桌面客户端上均不需要针对下一次执行创建和销毁编码器/解码器的操作,也即,减少了一次针对下一次视频流的创建和销毁编码器/解码器的操作,进而也就避免了因频繁创建和销毁编码器/解码器所导致的卡顿问题的发生。
S107、基于所述目的区域信息编码发送本次创建的视频流。
本步骤中,在发送本次创建的视频流时,将该目的区域信息也一并发送给云桌面客户端,使得云桌面客户端在播放给视频流时的播放区域为该目的区域信息所表征的播放区域。需要说明的是,在发送视频流之前,还需要利用目的区域信息对视频流进行编码,然后将编码后的视频流发送给云桌面客户端,上述编码算法可以为H263/H264。
S108、基于所述所需的图片创建本次的视频流并基于所述初始区域信息编码发送本次创建的视频流。
具体地,当不满足区域合并条件时,则表明这几个视频流的播放区域相差比较多,即使合并可能播放体验效果也不能满足实际需求,则本次直接创建视频流,然后基于初始区域信息将本次创建的视频流发送给云桌面客户端,使得云桌面客户端以初始区域信息所表征的播放区域展示本次创建的视频流。
通过实施图1所示的方法,通过确认本次创建视频流时所需的图片的位置信息是否在最近一次创建视频流时确定出的区域信息对应的播放区域内,当位置信息在上述播放区域内时,本次停止创建视频流,这样也就不需要向云桌面客户端发送视频流,从而使得服务端侧减少一次视频流的编码器的创建操作和销毁操作,而且由于本次不需要创建视频流,使得云桌面客户端也不需要执行解码器的创建和销毁操作,从而解决了画面延时和卡顿的问题。而当位置信息不在最近一次创建视频流时确定出的区域信息对应的播放区域内,则获取最近记录的若干个视频流的区域信息,然后基于本次所要创建的视频流的初始区域信息和获取到的若干个区域信息判断各自的播放区域是否满足区域合并条件,当满足时表明这几个视频流的播放区域比较接近,故可以通过区域合并来减少播放区域的切换,用户也就感知不到各个视频流构成的小视频在不停地变化的情况,从而可以减少画面时延,避免卡顿现象。
可选地,每个视频流的区域信息包括该视频流的开始时间和持续时间,以及本次所要创建的视频流的初始区域信息包括本次所要创建的视频流的开始时间和持续时间。
在此基础上,可以按照下述过程实施步骤S105:基于各个视频流的开始时间和持续时间,分别确定相邻视频流之间的时间间隔;判断确定出的各个时间间隔是否小于第一时间阈值并判断每个视频流的持续时间是否小于第二时间阈值;若确定出的各个时间间隔均小于第一时间阈值,且每个视频流的持续时间均小于第二时间阈值,则确认满足区域合并条件;若任一判断结果为否,则确认不满足区域合并条件。
具体地,以视频流1与视频流2属于相邻视频流,且视频流2晚于视频流1为例进行说明,则相邻视频流之间的时间间隔的计算方式为:时间间隔=视频流2的开始时间-(视频流1的开始时间+视频流1的持续时间)。
在此基础上,在按照上述计算方式确定出各个相邻的视频流之间的时间间隔后,可以判断每个时间间隔是否小于第一时间阈值,当小于第一时间阈值时,表明这几个视频流的播放时间比较接近,则可以进行区域合并,为了能够更好地解决卡顿问题,还可以进一步判断单个视频流的持续时间是否小于第二时间阈值,当小于第二时间阈值时表明单个视频流的持续时间也即播放时间比较短,则通过区域合并可以减少视频流的切换,进而避免卡顿,因此可以确认满足区域合并条件,然后执行区域合并步骤。而当不小于第一时间阈值时,则表明相邻的视频流的播放时间相差比较大,即使合并处理后期等待时间比较长,可能体验效果不会很好,因此不进行区域合并,也即不满足区域合并条件。
需要说明的是,相邻视频流可以理解为紧邻视频流,也可以理解为间隔若干个(1到2个等等)视频流的视频流之间也属于相邻视频流,例如以间隔1个视频流为例进行说明,则当前视频流与上一个视频流、上上一个视频流、下一个视频流、下下一个视频流等属于相邻视频流。
值得注意的是,上述第一时间阈值和上述第二时间阈值的取值可以相同也可以不同,具体可以根据实际情况而定。
可选地,上述目的区域信息中的开始时间为本次创建的视频流的开始时间,以及所述目的区域信息中的持续时间为本次创建的视频流的持续时间。
可选地,记录的各个视频流的区域信息包括该视频流的播放区域的顶点坐标、宽度和高度,以及上述目的区域信息还包括目的顶点坐标、目的宽度和目的高度,则可以按照下述过程实施步骤S106中基于合并后的区域确定本次创建的视频流的目的区域信息:确定合并后的区域的最大边界;根据最大边界确定目的区域信息中的目的顶点坐标、目的宽度和目的高度。
具体地,可以根据初始区域信息中的顶点坐标、宽度和高度,以及上述若干个视频流的区域信息中的顶点坐标、宽度和高度,确认能够包括各个视频流的播放区域的最大区域,该最大区域记为合并后的区域,然后基于该最大区域的最大边界确定目的顶点坐标、目的宽度和目的高度,例如将最大边界的顶点作为目的顶点坐标,然后将最大边界的宽度作为目的宽度,最大边界的高度作为目的高度。
可选地,基于上述任一实施例,本实施例提供的视频流处理方法还包括:利用目的区域信息更新最近记录的若干个已创建的视频流的区域信息。
具体地,为了下一视频流的视频流处理过程的实施,在本次创建视频流后,可以更新最近记录的若干个已创建的视频流的区域信息,例如记录的视频流的数量为2个,则利用本次创建的视频流及目的区域信息更新记录的2个视频流的区域信息,相当于替换掉比较早记录的视频流的区域信息,例如上述2个视频流为视频流1的区域信息和视频流2的区域信息,视频流1早于视频流2,则本次创建的视频流为视频流3,则更新后的视频流的区域信息为视频流3的区域信息和视频流2的区域信息,替换掉视频流1的区域信息。当然也可以保留所有视频流的区域信息,例如记录表中记录历史创建的视频流的区域信息,然后只需将本次创建的视频流的区域信息更新到记录表的最后一行即可,但是步骤S104获取的若干个视频流的区域信息依然是最近记录的若干个视频流的区域信息。
此外,当不满足区域合并条件时,执行步骤S108之后,还可以包括下述过程:利用初始区域信息更新最近记录的若干个已创建的视频流的区域信息。
具体地,上述过程的实施可以参考上述利用目的区域信息更新最近记录的若干个已创建的视频流的区域信息的相关描述,此处不再详细赘述。
为了更好地理解本申请任一实施例提供的视频流处理方法,以服务器端预先创建了2次视频流,且历史记录中仅记录2次视频流的区域信息,也即当前记录了视频流1、视频流2的区域信息,记为(视频流1,视频流2),其中视频流1的区域信息和视频流2的区域信息参考图2所示,当第三次需要创建视频流时,为了描述方便,将本次所要创建的视频流记为视频流3,可以判断所要创建的视频流3所需的图片的位置信息是否在最近一次创建的视频流2的区域信息对应的播放区域内,若上述位置信息在视频流2对应的播放区域内,则表明本次所要创建的视频流3的图片的内容与视频流2的图片内容差别不大,则云桌面客户端只需基于视频流2获得本次所要创建的视频流3就可以在云桌面客户端继续展示,这样一来,服务器端本次由于不需要创建视频流3,其也就不需要创建和销毁针对该视频流3的编码器,相应地,云桌面客户端也就不需要创建和销毁针对上述视频流3的解码器,从而也就减少了创建和销毁次数,进而也就减少了画面时延和卡顿现象。
而当上述位置信息不在视频流2对应的播放区域内,则可能表明本次用于创建视频流3的图片内容与视频流2中的图片内容差别有点大,或者本次所要创建的视频流3的播放区域与视频流2的播放区域离得不太近,则此时可以获取到历史记录的视频流1和视频流2的区域信息,然后基于本次所要创建的视频流3所需的图片可以确认本次所要创建的视频流3的初始区域信息,然后基于初始区域信息、视频流1的区域信息和视频流2的区域信息,判断本次所要创建的视频流3对应的播放区域、视频流1的播放区域、视频流2的播放区域是否满足区域合并条件,即,判断相邻视频流的时间间隔是否小于第一时间阈值,以及单个视频流的持续时间是否小于第二时间阈值。
举例来说,以第一时间阈值和第二时间阈值均为1秒为例进行说明,上述判断相邻视频流的时间间隔是否小于第一时间阈值可以理解为:(视频流3的开始时间-(视频流2的开始时间+视频流2的持续时间))是否小于1秒,且(视频流2的开始时间-(视频流1的开始时间+视频流1的持续时间))是否小于1秒;可选地,还可以进一步判断(视频流3的开始时间-(视频流1的开始时间+视频流1的持续时间))是否小于1秒。相应地,上述单个视频流的持续时间是否小于第二时间阈值可以理解为:视频流1的持续时间是否小于1秒,且视频流2的持续时间是否小于1秒,且视频流3的持续时间是否小于1秒。
当上述判断结果均为是时,则确认满足区域合并条件,则合并播放区域,如图2中的曲线框所指示的合并后的区域,并基于本次所需的图片创建视频流3,然后基于合并后的区域确定视频流3的目的区域信息,该目的区域信息的顶点坐标可以为合并后的区域的最大边界的顶点坐标,目的宽度为上述最大边界的宽度,目的高度为上述最大边界的高度;以及该目的区域信息中的开始时间为视频流3的开始时间,目的区域信息中的持续时间为视频流3的持续时间,也请参考图2所示,通过执行区域合并可以减少区域切换从而也能避免卡顿。在区域合并后,可以基于目的区域信息利用H264编码器对视频流3进行编码,然后将编码后的视频流3通过VDI协议发送给云桌面客户端。然后更新记录的视频流的区域信息,例如原来记录的视频流的区域信息为(视频流1的区域信息,视频流2的区域信息),则更新之后的区域信息可以为(视频流2的区域信息,视频流3的目的区域信息)。
而当不满足区域合并条件时,例如视频流3的持续时间大于1秒,则由于单个视频流的持续播放时间比较长,即使不进行区域合并按照现有的流程处理也不会出现卡顿现象,因此当不满足区域合并时可以按照现有的流程处理,即创建视频流3然后基于初始区域信息对视频流3进行编码然后将编码后的视频流3发送给云桌面客户端。然后更新记录的视频流的区域信息,例如原来记录的视频流的区域信息为(视频流1的区域信息,视频流2的区域信息),则更新之后的区域信息可以为(视频流2的区域信息,视频流3的初始区域信息)。
至此,采用上述方法整体上减少了服务器端编码器的创建和销毁次数,同时也减少了云桌面客户端的解码器的创建和销毁次数,有效解决了画面不流畅和卡顿的问题。
基于同一发明构思,本申请还提供了与上述视频流处理方法对应的视频流处理装置。该视频流处理装置的实施具体可以参考上述对视频流处理方法的描述,此处不再一一论述。
参见图3,图3是本申请一示例性实施例提供的一种视频流处理装置,包括:
确定模块301,用于在本次要创建视频流时,确定本次创建视频流所需的图片的位置信息;
停止模块302,用于若所述位置信息在最近一次创建视频流时确定出的区域信息对应的播放区域内,则本次停止创建视频流;
获取模块303,用于若所述位置信息不在最近一次创建视频流时确定出的区域信息对应的播放区域内,则获取最近记录的若干个已创建的视频流的区域信息;
判断模块304,用于根据本次所要创建的视频流的初始区域信息和获取到的若干个视频流的区域信息,判断本次所要创建的视频流的播放区域与所述若干个视频流各自的播放区域是否满足区域合并条件;
创建模块305,用于若所述判断模块304的判断结果为满足区域合并条件,则合并播放区域并基于所述所需的图片创建本次的视频流,并基于合并后的区域确定本次创建的视频流的目的区域信息;
发送模块306,用于基于所述目的区域信息编码发送本次创建的视频流。
可选地,每个视频流的区域信息包括该视频流的开始时间和持续时间,所述初始区域信息包括本次所要创建的视频流的开始时间和持续时间;则
上述判断模块304,具体用于基于各个视频流的开始时间和持续时间,分别确定相邻视频流之间的时间间隔;判断确定出的各个时间间隔是否小于第一时间阈值并判断每个视频流的持续时间是否小于第二时间阈值;若确定出的各个时间间隔均小于第一时间阈值,且每个视频流的持续时间均小于第二时间阈值,则确认满足区域合并条件;若任一判断结果为否,则确认不满足区域合并条件。
可选地,本实施例提供的目的区域信息中的开始时间为本次创建的视频流的开始时间,以及所述目的区域信息中的持续时间为本次创建的视频流的持续时间;所述目的区域信息还包括目的顶点坐标、目的宽度和目的高度,以及
上述创建模块305,具体用于确定合并后的区域的最大边界;根据所述最大边界确定目的区域信息中的目的顶点坐标、目的宽度和目的高度。
可选地,本实施例提供的视频流处理装置,还包括:
记录模块(图中未示出),用于利用所述目的区域信息更新最近记录的若干个已创建的视频流的区域信息;
可选地,上述创建模块305,具体用于若所述判断模块的判断结果为不满足合并条件,则基于所述所需的图片创建本次的视频流并基于所述初始区域信息编码发送本次创建的视频流;
上述记录模块(图中未示出),还用于利用所述初始区域信息更新最近记录的若干个已创建的视频流的区域信息。
基于同一发明构思,本申请实施例提供了一种电子设备,该电子设备可以为服务器,如图4所示,上述电子设备包括处理器401和机器可读存储介质402,机器可读存储介质402存储有能够被处理器401执行的计算机程序,处理器401被计算机程序促使执行本申请实施例所提供的视频流处理方法。
上述计算机可读存储介质可以包括RAM(Random Access Memory,随机存取存储器)、DDR SRAM(Double Data Rate Synchronous Dynamic Random Access Memory,双倍速率同步动态随机存储器),也可以包括NVM(Non-volatile Memory,非易失性存储器),例如至少一个磁盘存储器。可选的,计算机可读存储介质还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processor,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
另外,本申请实施例提供了一种机器可读存储介质,机器可读存储介质存储有计算机程序,在被处理器调用和执行时,计算机程序促使处理器执行本申请实施例所提供的视频流处理方法。
对于电子设备以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
上述装置中各个单元/模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元/模块可以是或者也可以不是物理上分开的,作为单元/模块显示的部件可以是或者也可以不是物理单元/模块,即可以位于一个地方,或者也可以分布到多个网络单元/模块上。可以根据实际的需要选择其中的部分或者全部单元/模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

1.一种视频流处理方法,其特征在于,包括:
在本次要创建视频流时,确定本次创建视频流所需的图片的位置信息;
若所述位置信息在最近一次创建视频流时确定出的区域信息对应的播放区域内,则本次停止创建视频流;
若所述位置信息不在最近一次创建视频流时确定出的区域信息对应的播放区域内,则获取最近记录的若干个已创建的视频流的区域信息;
根据本次所要创建的视频流的初始区域信息和获取到的若干个视频流的区域信息,判断本次所要创建的视频流的播放区域与所述若干个视频流各自的播放区域是否满足区域合并条件;
若满足区域合并条件,则合并播放区域并基于所述所需的图片创建本次的视频流,并基于合并后的区域确定本次创建的视频流的目的区域信息;
基于所述目的区域信息编码发送本次创建的视频流。
2.根据权利要求1所述的方法,其特征在于,每个视频流的区域信息包括该视频流的开始时间和持续时间,所述初始区域信息包括本次所要创建的视频流的开始时间和持续时间;则
根据本次所要创建的视频流的初始区域信息和获取到的若干个视频流的区域信息,判断本次所要创建的视频流的播放区域与所述若干个视频流各自的播放区域是否满足区域合并条件,包括:
基于各个视频流的开始时间和持续时间,分别确定相邻视频流之间的时间间隔;
判断确定出的各个时间间隔是否小于第一时间阈值并判断每个视频流的持续时间是否小于第二时间阈值;
若确定出的各个时间间隔均小于第一时间阈值,且每个视频流的持续时间均小于第二时间阈值,则确认满足区域合并条件;
若任一判断结果为否,则确认不满足区域合并条件。
3.根据权利要求2所述的方法,其特征在于,所述目的区域信息中的开始时间为本次创建的视频流的开始时间,以及所述目的区域信息中的持续时间为本次创建的视频流的持续时间。
4.根据权利要求3所述的方法,其特征在于,所述目的区域信息还包括目的顶点坐标、目的宽度和目的高度,以及
基于合并后的区域确定本次创建的视频流的目的区域信息,包括:
确定合并后的区域的最大边界;
根据所述最大边界确定目的区域信息中的目的顶点坐标、目的宽度和目的高度。
5.根据权利要求1所述的方法,其特征在于,还包括:
利用所述目的区域信息更新最近记录的若干个已创建的视频流的区域信息。
6.根据权利要求1所述的方法,其特征在于,
若不满足合并条件,则基于所述所需的图片创建本次的视频流并基于所述初始区域信息编码发送本次创建的视频流;
利用所述初始区域信息更新最近记录的若干个已创建的视频流的区域信息。
7.一种视频流处理装置,其特征在于,包括:
确定模块,用于在本次要创建视频流时,确定本次创建视频流所需的图片的位置信息;
停止模块,用于若所述位置信息在最近一次创建视频流时确定出的区域信息对应的播放区域内,则本次停止创建视频流;
获取模块,用于若所述位置信息不在最近一次创建视频流时确定出的区域信息对应的播放区域内,则获取最近记录的若干个已创建的视频流的区域信息;
判断模块,用于根据本次所要创建的视频流的初始区域信息和获取到的若干个视频流的区域信息,判断本次所要创建的视频流的播放区域与所述若干个视频流各自的播放区域是否满足区域合并条件;
创建模块,用于若所述判断模块的判断结果为满足区域合并条件,则合并播放区域并基于所述所需的图片创建本次的视频流,并基于合并后的区域确定本次创建的视频流的目的区域信息;
发送模块,用于基于所述目的区域信息编码发送本次创建的视频流。
8.根据权利要求7所述的装置,其特征在于,每个视频流的区域信息包括该视频流的开始时间和持续时间,所述初始区域信息包括本次所要创建的视频流的开始时间和持续时间;则
所述判断模块,具体用于基于各个视频流的开始时间和持续时间,分别确定相邻视频流之间的时间间隔;判断确定出的各个时间间隔是否小于第一时间阈值并判断每个视频流的持续时间是否小于第二时间阈值;若确定出的各个时间间隔均小于第一时间阈值,且每个视频流的持续时间均小于第二时间阈值,则确认满足区域合并条件;若任一判断结果为否,则确认不满足区域合并条件。
9.根据权利要求7所述的装置,其特征在于,所述目的区域信息中的开始时间为本次创建的视频流的开始时间,以及所述目的区域信息中的持续时间为本次创建的视频流的持续时间;所述目的区域信息还包括目的顶点坐标、目的宽度和目的高度,以及
所述创建模块,具体用于确定合并后的区域的最大边界;根据所述最大边界确定目的区域信息中的目的顶点坐标、目的宽度和目的高度。
10.根据权利要求7所述的装置,其特征在于,还包括:
记录模块,用于利用所述目的区域信息更新最近记录的若干个已创建的视频流的区域信息;
所述创建模块,具体用于若所述判断模块的判断结果为不满足合并条件,则基于所述所需的图片创建本次的视频流并基于所述初始区域信息编码发送本次创建的视频流;
所述记录模块,还用于利用所述初始区域信息更新最近记录的若干个已创建的视频流的区域信息。
CN202011532852.7A 2020-12-23 2020-12-23 一种视频流处理方法及装置 Active CN112637636B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011532852.7A CN112637636B (zh) 2020-12-23 2020-12-23 一种视频流处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011532852.7A CN112637636B (zh) 2020-12-23 2020-12-23 一种视频流处理方法及装置

Publications (2)

Publication Number Publication Date
CN112637636A true CN112637636A (zh) 2021-04-09
CN112637636B CN112637636B (zh) 2022-02-22

Family

ID=75321277

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011532852.7A Active CN112637636B (zh) 2020-12-23 2020-12-23 一种视频流处理方法及装置

Country Status (1)

Country Link
CN (1) CN112637636B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080098081A1 (en) * 2005-09-26 2008-04-24 Fumio Noda Moving image displaying method and system
US20100157050A1 (en) * 2008-12-18 2010-06-24 Honeywell International Inc. Process of sequentially dubbing a camera for investigation and review
CN102098544A (zh) * 2010-12-09 2011-06-15 南京中兴力维软件有限公司 一种电视墙的图像显示方法
US20160088222A1 (en) * 2013-06-07 2016-03-24 Gopro, Inc. System and method for merging a plurality of source video streams
CN106034241A (zh) * 2015-03-19 2016-10-19 华为技术有限公司 一种多媒体重定向的方法、设备和系统
US20160345013A1 (en) * 2014-02-10 2016-11-24 Nec Corporation Video encoding device, video encoding method, and program
CN107948731A (zh) * 2017-10-31 2018-04-20 深信服科技股份有限公司 视频流合并方法、服务器及计算机可读存储介质
CN109040792A (zh) * 2018-08-13 2018-12-18 中兴通讯股份有限公司 一种视频重定向的处理方法、云终端和云桌面服务器
CN110062286A (zh) * 2019-02-22 2019-07-26 上海映云信息技术有限公司 一种在虚拟桌面中实现视频重定向的方法
CN110213659A (zh) * 2019-07-01 2019-09-06 杭州当虹科技股份有限公司 一种可在不同视频流间快速切换播放器的实现方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080098081A1 (en) * 2005-09-26 2008-04-24 Fumio Noda Moving image displaying method and system
US20100157050A1 (en) * 2008-12-18 2010-06-24 Honeywell International Inc. Process of sequentially dubbing a camera for investigation and review
CN102098544A (zh) * 2010-12-09 2011-06-15 南京中兴力维软件有限公司 一种电视墙的图像显示方法
US20160088222A1 (en) * 2013-06-07 2016-03-24 Gopro, Inc. System and method for merging a plurality of source video streams
US20160345013A1 (en) * 2014-02-10 2016-11-24 Nec Corporation Video encoding device, video encoding method, and program
CN106034241A (zh) * 2015-03-19 2016-10-19 华为技术有限公司 一种多媒体重定向的方法、设备和系统
CN107948731A (zh) * 2017-10-31 2018-04-20 深信服科技股份有限公司 视频流合并方法、服务器及计算机可读存储介质
CN109040792A (zh) * 2018-08-13 2018-12-18 中兴通讯股份有限公司 一种视频重定向的处理方法、云终端和云桌面服务器
CN110062286A (zh) * 2019-02-22 2019-07-26 上海映云信息技术有限公司 一种在虚拟桌面中实现视频重定向的方法
CN110213659A (zh) * 2019-07-01 2019-09-06 杭州当虹科技股份有限公司 一种可在不同视频流间快速切换播放器的实现方法

Also Published As

Publication number Publication date
CN112637636B (zh) 2022-02-22

Similar Documents

Publication Publication Date Title
US9912992B2 (en) Method and system for enhancing user experience for remoting technologies
JP5917638B2 (ja) エラーフィードバックに応答するビデオリフレッシュ適合アルゴリズム
US20130279563A1 (en) Detection of video feature based on variance metric
US8477843B2 (en) Method of implementing improved rate control for a multimedia compression and encoding system
US20150103086A1 (en) Display device with graphics frame compression and methods for use therewith
JP6016332B2 (ja) 画像処理装置、画像処理方法
CN109168083B (zh) 一种流媒体实时播放方法及装置
CN110692251B (zh) 组合数字视频内容的方法及系统
CN110636346A (zh) 一种码率自适应切换方法、装置、电子设备及存储介质
CN109698957B (zh) 图像编码方法、装置、计算设备及存储介质
JP2009273010A (ja) 映像品質推定方法、装置およびプログラム
US20130039429A1 (en) Computer display content coding method and system
CN112637636B (zh) 一种视频流处理方法及装置
US11943487B2 (en) Delivery and playback of content
US9472240B2 (en) Video editing method and video editing device
CN108521604B (zh) 重定向视频的多屏显示方法及装置
JP5152044B2 (ja) 画像符号化装置および方法並びにプログラム
US20200296386A1 (en) Method And Apparatus For Content-Adaptive Frame Duration Extension
CN110049379B (zh) 一种视频延时检测方法及系统
CN109379630B (zh) 视频处理方法、装置、电子设备及存储介质
US20230071057A1 (en) Processing Media By Adaptive Group of Pictures Structuring
CN108989905B (zh) 媒体流控制方法、装置、计算设备及存储介质
CN114422792A (zh) 视频图像压缩方法、装置、设备及存储介质
EP3951766A1 (en) Image display control device, transmission device, image display control method, and program
CN112492384B (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
GR01 Patent grant
GR01 Patent grant