CN115174965B - 视频预览方法、装置、电子设备及计算机可读存储介质 - Google Patents
视频预览方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN115174965B CN115174965B CN202210779109.4A CN202210779109A CN115174965B CN 115174965 B CN115174965 B CN 115174965B CN 202210779109 A CN202210779109 A CN 202210779109A CN 115174965 B CN115174965 B CN 115174965B
- Authority
- CN
- China
- Prior art keywords
- channel
- code stream
- type
- stream type
- previewed
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 83
- 238000004364 calculation method Methods 0.000 claims description 24
- 238000004891 communication Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 208000016057 CHAND syndrome Diseases 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234363—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
-
- 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/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234381—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
-
- 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/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/23805—Controlling the feeding rate to the network, e.g. by controlling the video pump
-
- 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例提供了视频预览方法、装置、电子设备及计算机可读存储介质,获取待预览通道集合后获取码流配置信息,该码流配置信息中各个播放窗口对应的通道的码流类型,在待预览通道集合中选取至少一个通道得到被选取通道,计算将被选取通道的码流类型从分辨率小的第一码流类型变更为分辨率大的第二码流类型的情况下,解码所需的目标总资源量是否不大于预设资源量阈值,若是,则将当前选取的通道的码流类型变更为第二类型,按照最新的码流配置信息在各播放窗口进行视频的预览。以此在设备解码资源量还有剩余的时候,可以将被选取的通道以比第一码流类型的分辨率大的码流类型进行预览,从而提高设备解码性能的利用率。
Description
技术领域
本发明涉及视频数据处理技术领域,特别是涉及视频预览方法、装置、电子设备及计算机可读存储介质。
背景技术
摄像机拍摄的图像质量都比较高,如果网络传输,则需要比较高的带宽,而实际使用中带宽比较低,造成网络传输视频卡顿乱码等,不能传输高质量的图像视频。因此,提出了原始传输数据、主码流和子码流概念,原始传输数据指的是摄像机拍摄的数据,主码流主要进行本地存储,子码流适用于视频在低带宽网络上的传输,主要是通过降低图片质量提高传输视频流畅性。其中,原始传输数据的分辨率大于主码流的分辨率,主码流的分辨率大于子码流的分辨率。
网络硬盘录像机(NVR,Net Video Recorder)通过网络与数字摄像机进行连接,接收来自数字摄像机的视音频数据,对视音频数据进行存储及预览。NVR预览画面与NVR配置的分屏数有关,若分屏数配置的是4,则预览画面的播放窗口为4,可以呈2*2分布;除此之外,与NVR配置的预览通道也有关,假如播放窗口1中配置的是通道3,则播放窗口1显示的是通道3的拍摄画面。
现有技术中,在对多个播放窗口的视频同时进行预览时,通常采用的方法为,针对于所有的播放窗口,均以最低码流(子码流)的方式进行预览,如此当设备支持的解码性能较充足时,无法充分利用设备支持的解码性能。
发明内容
本发明实施例的目的在于提供一种视频预览方法、装置、电子设备及计算机可读存储介质,以提高设备解码性能的利用率。具体技术方案如下:
本发明实施例提供了一种视频预览方法,所述方法包括:获取各播放窗口各自对应的待预览通道,得到待预览通道集合;获取所述待预览通道集合中各通道的码流配置信息,其中,码流配置信息用于指示所述待预览通道集合中各通道的码流类型;在所述待预览通道集合中选取至少一个通道,得到被选取的通道,其中,码流配置信息中包括被选取的通道各自的第一码流类型;基于最新的码流配置信息,计算将被选取的通道对应的码流类型从各自的第一码流类型变更为各自的第二码流类型后,所述待预览通道集合中各通道解码所需的目标总资源量;其中,对于每一个被选取的通道,该被选取的通道的第一码流类型码流对应的分辨率小于第二码流类型对应的分辨率;若最新计算得到的目标总资源量不大于预设资源量阈值,则将码流配置信息中被选取的通道对应的码流类型更新为各自的第二码流类型;按照最新的码流配置信息在各所述播放窗口进行视频的预览。
本发明实施例还提供了一种视频预览装置,所述装置包括:第一获取模块,用于获取各播放窗口各自对应的待预览通道,得到待预览通道集合;第二获取模块,用于获取所述待预览通道集合中各通道的码流配置信息,其中,码流配置信息用于指示所述待预览通道集合中各通道的码流类型;选取模块,用于在所述待预览通道集合中选取至少一个通道,得到被选取的通道,其中,码流配置信息中包括被选取的通道各自的第一码流类型;第一计算模块,用于基于最新的码流配置信息,计算将被选取的通道对应的码流类型从各自的第一码流类型变更为各自的第二码流类型后,所述待预览通道集合中各通道解码所需的目标总资源量;其中,对于每一个被选取的通道,该被选取的通道的第一码流类型码流对应的分辨率小于第二码流类型对应的分辨率;第一更新模块,用于若最新计算得到的目标总资源量不大于预设资源量阈值,则将码流配置信息中被选取的通道对应的码流类型更新为各自的第二码流类型;预览模块,用于按照最新的码流配置信息在各所述播放窗口进行视频的预览。
本发明实施例还提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,所述处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现上述任一所述的视频预览方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的视频预览方法。
本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的视频预览方法。
本发明实施例有益效果:本发明实施例提供的视频预览方法、装置、电子设备及计算机可读存储介质,先获取播放窗口对应的待预览通道集合,得到待预览通道集合,获取所述待预览通道集合中各通道的码流配置信息,其中,码流配置信息用于指示所述待预览通道集合中各通道的码流类型;在所述待预览通道集合中选取至少一个通道得到被选取的通道,码流配置信息中包括被选取的通道各自的第一码流类型,然后计算若将被选取的通道的码流类型从第一码流类型变更为第二码流类型的情况下,待预览通道集合中各通道解码所需的目标总资源量,判断目标总资源量是否不大于预设资源量阈值,第一码流类型的分辨率小于第二码流类型的分辨率,若是,则将码流配置信息中被选取的通道的码流类型变更为第二码流类型,按照最新的码流配置信息在各播放窗口进行视频的预览。以此在设备解码资源量还有剩余的时候,可以将被选取的通道对应的码流类型从第一码流类型变更为第二码流类型,即比第一码流类型的分辨率大的码流类型进行显示,从而提高设备解码性能的利用率。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
图1为本发明实施例提供的视频预览方法的第一种流程示意图;
图2为本发明实施例提供的视频预览方法中播放页面的第一种示意图;
图3a为本发明实施例提供的视频预览方法中播放页面的第二种示意图;
图3b为本发明实施例提供的视频预览方法中播放页面的第三种示意图;
图4为本发明实施例提供的视频预览方法中主播放窗口和辅助播放窗口的一种示意图;
图5为本发明实施例提供的视频预览方法的第二种流程示意图;
图6为本发明实施例提供的视频预览方法的第三种流程示意图;
图7为本发明实施例提供的视频预览方法的第四种流程示意图;
图8为本发明实施例提供的视频预览装置的一种结构示意图;
图9为本发明实施例提供的电子设备的一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本发明所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有技术中在对视频进行预览时,为了提高设备解码性能的利用率,本发明实施例提供了一种视频预览方法、装置、电子设备、计算机可读存储介质及包含指令的计算机程序产品。
下面,首先对本发明实施例提供的视频预览方法进行介绍。该方法应用于任一可以提供视频预览服务的电子设备,例如,网络硬盘录像机、个人计算机、服务器等。本发明实施例所提供的视频预览方法可以被设置于电子设备中的软件、硬件电路和逻辑电路中的至少一种实现。
如图1所示,图1为本发明实施例提供的视频预览方法的第一种流程示意图,方法包括:
S110,获取各播放窗口各自对应的待预览通道,得到待预览通道集合;
S120,获取上述待预览通道集合中各通道的码流配置信息,其中,码流配置信息用于指示上述待预览通道集合中各通道的码流类型;
S130,在上述待预览通道集合中选取至少一个通道,得到被选取的通道,其中,码流配置信息中包括被选取的通道各自的第一码流类型;
S140,基于最新的码流配置信息,计算将被选取的通道对应的码流类型从各自的第一码流类型变更为各自的第二码流类型后,上述待预览通道集合中各通道解码所需的目标总资源量;其中,对于每一个被选取的通道,该被选取的通道的第一码流类型码流对应的分辨率小于第二码流类型对应的分辨率;
S150,若最新计算得到的目标总资源量不大于预设资源量阈值,则将码流配置信息中被选取的通道对应的码流类型更新为各自的第二码流类型;
S160,按照最新的码流配置信息在各上述播放窗口进行视频的预览。
需要说明的是,界面上展示的一个播放窗口内可播放一路通道的视频,即,一个展示在界面上的播放窗口对应了一路待预览通道。例如,假设界面上一共展示了4个播放窗口,由于每个播放窗口可播放一路视频,则该界面最多可同时展示4路通道的视频。待预览通道集合可以指需要被同时播放的通道的集合。
在对视频进行预览时,实际是通过各个播放窗口来播放视频,具体的,先将H.264、H.265等压缩的码流,解码成可在VGA、HDMI等输出口预览的码流,然后通过各个播放窗口将解码所得的视频码流进行播放,故此,每个播放窗口对应有其进行播放的通道。例如,目前有4个播放窗口:播放窗口1、播放窗口2、播放窗口3、播放窗口4,4路通道:通道1、通道2、通道3、通道4;若播放窗口1对应的是通道4,则播放窗口1播放的是通道4的码流;若播放窗口2对应的是通道1,则播放窗口2播放的是通道1的码流。
各播放窗口各自对应的通道与预览模式和配置的通道有关,如图2所示,假定从多个预览模式(1*1,2*2,1*7,3*3,表示界面上展示的预览画面窗口的数量)中给NVR配置的预览模式为2*2,则表明通过4个播放窗口来进行播放,配置的通道为1-8通道,如图3a所示。切换至预览界面时,因为预览界面的预览模式是2*2,则配置的8个通道一次只能展示4路,即在配置的通道为1-8中选择4个通道为待预览通道,具体的,可以选择前4个通道为待预览通道,即1-4通道即为各播放窗口各自对应的通道,具体参见图3b,当操作翻页按钮后,就会将5-8通道作为待预览通道。
其中,具体通道个数与预览模式相对应,若此处选择的3*3预览模式,则需选择9个通道。在获取了各播放窗口各自对应的待预览通道之后,可以得到待预览通道集合。
获取待预览通道集合中各通道的用于指示待预览通道集合中各通道的码流类型的码流配置信息,然后从待预览通道集合中选取至少一个通道,得到被选取的通道,被选取的通道的选取规则可以按照通道对应的播放窗口的次序进行选择,为了方案清楚以及布局清晰,下文结合另一实施例进行详细说明。
码流配置信息中包括被选取的通道各自的第一码流类型,然后基于最新的码流配置信息,计算将被选取的通道对应的码流类型从各自的第一码流类型变更为各自的第二码流类型后,待预览通道集合中各通道解码所需的目标总资源量;其中,对于每一个被选取的通道,该被选取的通道的第一码流类型码流对应的分辨率小于第二码流类型对应的分辨率,例如,第一码流类型码流为子码流,第二码流类型为主码流;第一码流类型码流也可以为主码流,对应的,第二码流类型码流可以是比主码流分辨率更高的码流。而且,每个通道各自的第一码流类型可以相同,也可以不同,本发明中针对第一码流类型、第二码流类型不作具体限定。
计算解码被选取的通道的第二码流类型以及待预览通道集合中其他通道的第一码流类型所需的总资源量,解码码流时所需的资源一般与码流的分辨率及帧率有关,例如,针对任一码流,解码该码流的码流所需的资源可以用该码流对应的分辨率×该码流对应的帧率来衡量。
例如,解码通道i的第二码流类型所需的资源为AMchani,解码通道i的第一码流类型所需的资源为ASchani,若一共有4个播放窗口:若播放窗口1对应的是通道4,播放窗口2对应的是通道1,若播放窗口3对应的是通道2,播放窗口4对应的是通道3;当前选择的通道为通道4,则计算解码被选取的通道的第二码流类型以及待预览通道集合中其他通道的第一码流类型所需的总资源量为:
A总=AMchan4+ASchan1+ASchan2+ASchan3
判断最新计算得到的目标总资源量是否不大于预设资源量阈值,若是,则将码流配置信息中被选取的通道对应的码流类型更新为第二码流类型,并按照最新的码流配置信息在各上述播放窗口进行视频的预览。
预设资源量阈值可以根据设备的解码能力确定,例如,预设资源量阈值为设备的最大解码资源量,或者可以是设备的最大解码资源量中的一部分解码资源量,设备的最大解码资源量与设备的性能有关。若否,则直接将按照最新的码流配置信息在各播放窗口进行视频的预览,即,将各播放窗口的码流类型以第一码流类型的形式进行预览。
可选的,在步骤S120之前,需要先计算在码流配置信息中至少一个播放窗口对应的待预览通道的码流类型为第一码流类型的情况,待预览通道集合中各通道解码所需的总资源量,然后计算此时的总资源量是否不大于预设资源量阈值,在不大于的情况下,再生成待预览通道集合中各通道的码流配置信息。
需要说明的是,计算待预览通道集合中各通道解码所需的目标总资源量,可以理解为:计算同时解码待预览通道集合中各通道的码流所需的总的解码资源量。由于待预览通道是即将要在播放窗口上播放的通道,所以为了保证每个播放窗口都能正常显示视频,需要同时解码出该待预览通道集合中的每个通道的视频数据。待预览通道集合可以指需要被同时播放的通道的集合。
因为本发明中先将各个播放窗口对应的通道的码流类型均先设置为第一码流类型,在各个播放窗口均能预览的前提下再对各个播放窗口对应的通道的码流类型进行调整,以此可以保证所有的播放窗口对应的通道均能预览的同时,可以将部分通道的码流类型以第二码流类型,即比第一码流类型的分辨率大的码流类型进行显示,从而提高设备解码性能的利用率。
在一种可能的实施方式中,针对待预览通道集合中的每一个通道,该通道的第一码流类型为该通道所支持的码流类型中,分辨率最低的码流类型。
码流配置信息中各播放窗口各自对应的待预览通道的码流类型均为该通道所支持的码流类型中分辨率最低的码流类型,因为本发明中先将各个播放窗口对应的通道的码流类型均先设置为分辨率最低的码流类型,以此可以保证各个播放窗口均能预览。
在一种可能的实施方式中,初始的码流配置信息中,针对待预览通道集合中的通道,该通道的第一码流类型为该通道所支持的码流类型中分辨率最低的码流类型;针对任一被选取的通道,该通道的第二码流类型为分辨率大于第一分辨率、且与上述第一分辨率最接近的码流类型,上述第一分辨率为该通道的第一码流类型的分辨率。
由于先将各个播放窗口对应的通道的码流类型均先设置为该通道所支持的码流类型中分辨率最低的码流类型,然后是将第一码流类型调整为第二码流类型,这样可以在各个播放窗口均能预览的前提下再对各个播放窗口对应的通道的码流类型进行调整,可以保证所有的播放窗口对应的通道均能预览的同时,可以将部分通道的码流类型以分辨率比该通道所支持的码流类型中分辨率最低还大的码流类型进行显示,从而提高设备解码性能的利用率。
基于图1的实施例,在一种可能的实施方式中,上述方法还包括:
在上述若最新计算得到的目标总资源量不大于预设资源量阈值,则将码流配置信息中被选取的通道对应的码流类型更新为各自的第二码流类型之后,返回步骤S130继续执行;
上述步骤S160具体可以通过如下步骤实现:若最新计算得到的目标总资源量大于预设资源量阈值或最新的码流配置信息中各通道对应的码流类型为分辨率最高的码流类型,则按照最新的码流配置信息在各上述播放窗口进行视频的预览。
判断当前计算得到的目标总资源量是否不大于预设资源量阈值,若是则将码流配置信息中被选取的通道对应的码流类型更新为第二码流类型,并返回步骤S130继续执行,直至最新计算得到的目标总资源量大于预设资源量阈值或最新的码流配置信息中各通道对应的码流类型为分辨率最高的码流类型,最后按照最新的码流配置信息在各上述播放窗口进行视频的预览。也就是说,当只有第一码流类型的码流和第二码流类型的码流时,则执行的结束条件可以为最新的码流配置信息中各通道对应的码流类型为第二码流类型的码流,当存在比第二码流类型的分辨率更高的码流类型时,执行的结束条件可以为最新的码流配置信息中各通道对应的码流类型为分辨率最高的码流类型。
以此先生成待预览通道集合中各通道的码流配置信息,即,先将各个播放窗口对应的通道的码流类型均先设置为第一码流类型,这样可以在各个播放窗口均能预览的前提下再对各个播放窗口对应的通道的码流类型进行调整,这样在后续调整码流的过程中,可以保证所有的播放窗口对应的通道均能预览,避免出现无法预览的问题,而且可以在解码资源有剩余的情况下,保证尽可能多的播放窗口以分辨率较高的码流类型的形式进行预览,提升部分通道的预览效果。
基于图1的实施例,在一种可能的实施方式中,上述步骤S130具体可以通过如下步骤实现:
在上述待预览通道集合中选取第一个第一类通道,得到被选取的通道,其中,上述第一个第一类通道为按照通道对应的播放窗口的次序,依次选取的第一个第一类通道;上述第一类通道为最新的码流配置信息中,分辨率最低的码流类型所对应的通道。
按照通道对应的播放窗口的次序,将第一个对应的播放窗口的码流类型为第一码流类型的通道作为被选取的通道,然后可以计算将该通道的码流类型从第一码流类型变更为第二码流类型后,待预览通道集合中各通道解码所需的目标总资源量,如果此时当前计算得到的目标总资源量不大于预设资源量阈值,则将第一个播放窗口对应的通道的码流类型优先更新为第二码流类型。
根据播放窗口次序,先调整第一个播放窗口对应的通道为第二码流类型,可以在首先保证所有通道至少第一码流类型可预览的情况下,从排列靠前的播放窗口对应的通道优先调整为第二码流类型,这样可以在设备启动后,通过调整,在首先保证所有通道均可预览的情况下,在设备支持的解码能力范围内,排列靠前的播放窗口对应的通道优先以分辨率稍高的码流类型进行预览。
在一种可能的实施方式中,上述待预览通道集合包括第一子集合及第二子集合,上述播放窗口包括主播放窗口和辅助播放窗口,上述第一子集合包括各主播放窗口各自对应的通道,上述第二子集合包括各辅助播放窗口各自对应的通道;
上述步骤S130具体可以通过如下步骤实现:
判断第一子集合中是否存在第一类通道;
在第一子集合中存在第一类通道的情况下,从第一子集合中选择一个第一类通道作为被选取的通道;
在第一子集合中不存在第一类通道的情况下,从第二子集合中选择一个第一类通道作为被选取的通道。
在对视频进行预览时,还会包括有主播放窗口和辅助播放窗口的情况,主播放窗口用于播放主要的画面,辅助播放窗口用于播放辅助的画面或者不重要的画面,其中,主播放窗口与辅助播放窗口于不同的显示屏进行显示,例如,用于对视音频进行解码的解码模块包括有两个输出口,一个用于连接显示屏1,显示屏1包括主播放窗口,一个用于连接显示屏2,显示屏2包括辅助播放窗口,其中,主播放窗口和辅助播放窗口的预览模式可以相同也可以不同,主播放窗口和辅助播放窗口的预览模式互不影响,例如,主播放窗口的预览模式为2*2,辅助播放窗口的预览模式也为2*2,或者,主播放窗口的预览模式为2*2,辅助播放窗口的预览模式也为1*2,如图4。则主播放窗口对应的待预览通道为第一子集合,辅助播放窗口对应的待预览通道为第二子集合。其中,主播放窗口播放的画面可以与辅助播放窗口播放的画面相同,也可以不同。
例如:主播放窗口配置的通道集合为:
ChanA={Chan3,Chan2,Chan1,Chan6,Chan7,Chan8,NULL,NULL};其中,NULL是空值;
辅助播放窗口配置的通道集合:
ChanB={Chan1,Chan4,Chan5,Chan6,Chan7,Chan8,NULL,NULL};
上述集合ChanA与ChanB中均配置Chan1,Chan6,Chan7,Chan8,说明该4个通道对应的画面比较重要,需要主播放窗口与辅助播放窗口同时展示,以结合主播放窗口和辅助播放窗口播放的画面来获知该4个通道对应的内容。
例如,假定给NVR配置的预览模式为2*2,即通过4个播放窗口来进行预览,即在配置的8个通道中选择4个通道为待预览通道,具体的,选择前4个通道为待预览通道,则:
主播放窗口待预览的通道集合ChanC={Chan3,Chan2,Chan1,Chan6};
辅助播放窗口待预览的通道集合ChanD={Chan1,Chan4,Chan5,Chan6};
上述集合ChanC与ChanD中均配置Chan1,Chan6,说明该2个通道对应的画面比较重要,需要主播放窗口与辅助播放窗口同时展示,以结合主播放窗口和辅助播放窗口播放的画面来获知该2个通道对应的内容。
然后先判断第一子集合中是否存在第一类通道,在第一子集合中存在第一类通道的情况下,先从第一子集合中选择一个第一类通道作为被选取的通道,在第一子集合中不存在第一类通道的情况下,再从第二子集合中选择一个第一类通道作为被选取的通道。如此可以优先将主播放窗口对应的码流切换为第二码流类型,提高预览效果。
进一步的,若第一子集合和/或第二子集合中包括多个第一类通道,可以按照上述根据播放窗口次序,优先选择排列靠前的播放窗口对应的通道作为被选取的通道,具体参看上述方法步骤,在此不再赘述。
在一种可能的实施方式中,上述待预览通道集合包括第一子集合及第二子集合,上述播放窗口包括主播放窗口和辅助播放窗口,上述第一子集合包括各主播放窗口各自对应的通道,上述第二子集合包括各辅助播放窗口各自对应的通道;
上述在上述待预览通道集合中选取至少一个通道,得到被选取的通道,包括:
步骤一,获取待选取通道集合,其中,上述待选取通道集合为上述第一子集合与上述第二子集合的交集;
步骤二,在上述待选取通道集合中存在第一类通道的情况下,从上述待选取通道集合中选择一个第一类通道作为被选取的通道;和/或,
步骤三,在上述待选取通道集合中不存在第一类通道、且上述第一子集合中存在第一类通道的情况下,从上述第一子集合中选择一个第一类通道作为被选取的通道;和/或,
步骤四,在上述待选取通道集合中不存在第一类通道、且上述第一子集合中不存在第一类通道的情况下,从上述第二子集合中选择一个第一类通道作为被选取的通道,其中,上述第一类通道为最新的码流配置信息中,分辨率最低的码流类型所对应的通道。
同样以主播放窗口待预览的通道集合ChanC={Chan3,Chan2,Chan1,Chan6};辅助播放窗口待预览的通道集合ChanD={Chan1,Chan4,Chan5,Chan6}为例,在获取待预览通道集合后,获取第一子集合与第二子集合的交集ChanM={Chan1,Chan6};
判断待选取通道集合中是否存在对应的播放窗口的码流类型为第一码流类型的通道,在存在的情况下,从待选取通道集合中选择一个第一类通道作为被选取的通道。如上述例子,则从Chan1,Chan6中选择一个通道作为被选取的通道。
从第一子集合与第二子集合的交集中选择被选取的通道,可以在主播放窗口和辅助播放窗口同时播放该码流的第二码流类型。以此可以保证尽可能多的画面以第二码流类型的形式进行预览。
更进一步的,当第一子集合与第二子集合的交集中存在多个通道的情况下,可以在上述待选取通道中选取第一个第一类通道,得到被选取的通道,其中,上述待选取通道集合中的各通道按照通道对应的主播放窗口的次序依次排列。
当第一子集合与第二子集合的交集中存在多个通道的情况下,可以按照主播放窗口的次序,优先选择靠前的播放窗口对应的通道作为被选取的通道,这样可以在设备启动后,通过调整,在首先保证所有通道均可预览的情况下,在设备支持的解码能力范围内,保证尽可能多的画面以第二码流类型的形式进行预览的同时,使得排列靠前的主播放窗口对应的通道优先以第二码流类型进行预览。
在待选取通道集合中不存在第一类通道、再按照从主播放窗口各自对应的主播放窗口通道到辅助播放窗口各自对应的辅助播放窗口通道的先后顺序,依次选择第一类通道,以此优先将主播放窗口对应的码流切换为第二码流类型,提高预览效果。
在一种可能的实施方式中,上述待预览通道集合包括第一子集合及第二子集合,上述播放窗口包括主播放窗口和辅助播放窗口,上述第一子集合包括各主播放窗口各自对应的通道,上述第二子集合包括各辅播放窗口各自对应的通道;
上述方法还包括:
在上述被选取的通道为主播放窗口通道的情况下,在上述将码流配置信息中被选取的通道对应的码流类型更新为第二码流类型之后,判断上述第二子集合中是否包括上述被选取的通道,若有,则将上述第二子集合中的被选取的通道的码流类型更新为第二码流类型。
同样以主播放窗口待预览的通道集合ChanC={Chan3,Chan2,Chan1,Chan6};辅助播放窗口待预览的通道集合ChanD={Chan1,Chan4,Chan5,Chan6}为例,若最新的配置策略已确定Chan3的码流为第二码流类型,Chan2为第二码流类型,若将主播放窗口待预览的通道集合中的Chan1作为被选取的通道,且计算得到的将Chan1对应的码流类型从第一码流类型变更为第二码流类型的的情况下目标总资源量不大于预设资源量阈值,即确定将主播放窗口待预览的通道集合中的Chan1的码流更新为第二码流类型,此时判断辅助播放窗口待预览的通道集合也包括Chan1,则同样将Chan1的码流也更新为第二码流类型。针对同一个通道的码流的码流类型保持一致,可以通过一个第二码流类型解码器解码资源,相比于针对同一个通道,主播放窗口为第二码流类型、在辅助播放窗口为第一码流类型,需要两个解码器来进行解码的情况,可以节省解码资源。
在一种可能的实施方式中,上述步骤S140具体可以通过如下步骤实现:
获取最新的码流配置信息下,上述待预览通道集合中各通道解码所需的总资源量,得到第一总资源量;
确定第一资源量,其中,上述第一资源量为被选取的通道的码流类型为第二码流类型的情况下,解码上述被选取的通道的码流所需的资源量;
确定第二资源量,其中,上述第二资源量为被选取的通道的码流类型为第一码流类型的情况下,解码上述被选取的通道的码流所需的资源量;
在上述第一总资源量的基础上,加上上述第一资源量与上述第二资源量的差,得到目标总资源量;
上述方法还包括:
在将码流配置信息中被选取的通道对应的码流类型更新为各自的第二码流类型之后,将最新的码流配置信息下上述待预览通道集合中各通道解码所需的总资源量更新为最新的目标总资源量。
在确定最新的码流配置信息之后,获取当前待预览通道集合中各通道解码所需的总资源量,这样在计算若对被选取的通道的码流类型变更为第二码流类型的情况下,先计算解码被选取的通道的第二码流类型的资源量与解码被选取的通道的第一码流类型的资源量的差值,可以将第一总资源量的基础上加上上述差值,即可得到将被选取的通道对应的码流类型从第一码流类型变更为第二码流类型后,待预览通道集合中各通道解码所需的目标总资源量,无需再根据解码各个通道所需的资源量逐一计算,以此可以减少计算量,加快调整进程。
可选的,若当前计算得到的目标总资源量不大于预设资源量阈值,可以将当前计算得到的目标总资源量进行存储,具体的可以将最新的码流配置信息对应的目标总资源量存储在第一预设数据库,这样在调整过程中,可以直接从第一预设数据库中获取最新的码流配置信息下,待预览通道集合中各通道解码所需的总资源量。
可选的,预先将计算得到的解码各个通道对应码流所需的资源量预先存储在第二预设数据库,这样在计算待预览通道集合中各通道解码所需的总资源量时,可以从第二预设数据库中直接获取被选取的通道对应的资源量。
其中,第一预设数据库与第二预设数据库可以为同一数据库,也可以为不同的数据库,在此不作限定。通过将计算得到的资源量存放在数据库的形式,可以在计算总资源量时直接从数据库中获取,以此可以减少计算资源,加快调整进程。
在一种可能的实施方式中,在上述步骤S160之后,上述方法还包括:
获取切换指令,其中,上述切换指令用于指示将指定通道的码流类型由第一码流类型切换为第二码流类型;
计算在上述指定通道为第二码流类型、在上述待预览通道集合中除上述指定通道外的其他通道为第一码流类型的情况下,上述待预览通道集合中各通道解码所需的总资源量,得到第二总资源量;
在上述第二总资源量小于上述预设资源量阈值的情况下,在码流配置信息中,将上述指定通道对应的码流类型更新为第二码流类型,将上述其他通道对应的码流类型更新为第一码流类型,并返回步骤:在上述待预览通道集合中选取至少一个通道,得到被选取的通道,继续执行。
在按照最新的码流配置信息在各播放窗口进行视频的预览之后,用户若想切换码流的码流类型,用户可以手动切换。具体的:
若接收到指示将指定通道的码流类型由第二码流类型切换为第一码流类型,则直接在码流配置信息中,将指定通道对应的码流类型更新为第一码流类型。
当接收到指示将指定通道的码流类型由第二码流类型切换为第一码流类型时,可以直接在码流配置信息中,将指定通道对应的码流类型更新为第一码流类型,然后结束流程。进一步的,在将指定通道对应的码流类型更新为第一码流类型后,基于最新的码流配置信息,判断待预览通道集合中是否存在除指定通道外的第一类通道;
若有,则在待预览通道集合中选取至少一个第一类通道得到被选取的通道,基于最新的码流配置信息,计算将被选取的通道对应的码流类型从第一码流类型变更为第二码流类型后,待预览通道集合中各通道解码所需的目标总资源量;若当前计算得到的目标总资源量不大于预设资源量阈值,则将码流配置信息中被选取的通道对应的码流类型更新为第二码流类型,并返回步骤:根据最新的码流配置信息,在待预览通道集合中选取一个除指定通道外的第一类通道得到被选取的通道,继续执行,直至最新计算得到的目标总资源量大于预设资源量阈值或最新的码流配置信息中除指定通道外的其他各通道对应的码流类型为分辨率最高的码流类型。
若接收到用于指示将指定通道的码流类型由第一码流类型切换为第二码流类型,则计算在指定通道为第二码流类型、在待预览通道集合中除指定通道外的其他通道为第一码流类型的情况下,待预览通道集合中各通道解码所需的总资源量,得到第二总资源量,基于第二总资源量对码流配置信息再重新调整一遍。
以此在调整之后,用户可以根据实际情况调整各个码流的码流类型,在满足用户预览需求的情况下,各个通道可在设备支持的解码能力范围内重新达到预览效果。
在一种可能的实施方式中,在上述步骤S160之后,上述方法还包括:
获取切换指令,其中,上述切换指令用于指示将指定通道的码流类型由第一码流类型切换为第二码流类型;
将当前切换指令中的指定通道添加到预设通道队列的队尾,其中,预设通道队列用于存放将码流类型由第一码流类型切换为第二码流类型的通道;
在码流配置信息中,将上述待预览通道集合中的各通道对应的码流类型均更新为第一码流类型,返回步骤:在上述待预览通道集合中选取至少一个通道,得到被选取的通道,继续执行:
其中,上述在上述待预览通道集合中选取至少一个通道,得到被选取的通道,包括:
基于最新的码流配置信息,在上述预设通道队列中存在第一类通道的情况下,在上述预设通道队列中选取最后一个第一类通道,得到被选取的通道;在上述预设通道队列中不存在第一类通道的情况下,在上述待预览通道集合中选取至少一个第一类通道,得到被选取的通道,其中,上述第一类通道为最新的码流配置信息中,分辨率最低的码流类型所对应的通道。
每接收到一个预设切换指令,就将当前切换指令中的指定通道标识添加到预设通道队列的中,在调整过程中,可以先判断预设通道队列中是否存在分辨率最低的码流类型所对应的通道,若有,则按照预设通道添加至预设通道队列的先后顺序,选取最近一次添加的第一类通道作为被选取的通道。具体的,每接收到一个预设切换指令,就将当前切换指令中的指定通道标识添加到预设通道队列的队尾,基于最新的码流配置信息,在预设通道队列中存在分辨率最低的码流类型所对应的通道的情况下,在预设通道队列中选取最后一个分辨率最低的码流类型所对应的通道,得到被选取的通道,在预设通道队列中不存在分辨率最低的码流类型所对应的通道的情况下,在待预览通道集合中选取至少一个分辨率最低的码流类型所对应的通道,得到被选取的通道。通过设置预设通道队列,可以保留客户多次想要切换通道的码流类型,满足用户的需求。
基于图1所示的实施例,本发明实施例提供了视频预览方法的第二种流程示意图,如图5所示,在上述步骤S160之后,上述方法还包括:
S610,获取切换指令,其中,上述切换指令用于指示将指定通道的码流类型由第一码流类型切换为第二码流类型;
S620,基于最新的码流配置信息,在上述待预览通道集合中存在第二类通道的情况下,获取各第二类通道,其中,上述第二类通道为对应的播放窗口的码流类型为第二码流类型的通道;
S630,针对每一个第二类通道,计算该第二类通道解码第二码流类型所需的资源量与该第二类通道解码第一码流类型所需的资源量的差值,得到第二类通道的第一资源量差值;
S640,计算上述指定通道解码第二码流类型所需的资源量与上述指定通道解码第一码流类型所需的资源量的差值,得到第二资源量差值;
S650,在第三类通道中选取一个通道得到待切换通道,其中,上述第三类通道为第二类通道中第一资源量差值不小于上述第二资源量差值的通道;
S660,在码流配置信息中,将上述指定通道对应的码流类型更新为第二码流类型,将上述待切换通道的码流类型更新为第一码流类型。
在获取了指示将指定通道的码流类型由第一码流类型切换为第二码流类型的切换指令后,可以判断最新的码流配置信息下,待预览通道集合中是否存在对应的播放窗口的码流类型为第二码流类型的通道,如果有,则针对每一个第二类通道,计算该第二类通道解码第二码流类型所需的资源量与该第二类通道解码第一码流类型所需的资源量的差值,得到第二类通道的第一资源量差值,同时计算指定通道解码第二码流类型所需的资源量与指定通道解码第一码流类型所需的资源量的差值,得到第二资源量差值,基于此,从第二类通道中选择一个第一资源量差值不小于第二资源量差值的通道作为待切换通道,然后码流配置信息中,将指定通道对应的码流类型更新为第二码流类型,将待切换通道的码流类型更新为第一码流类型。
基于图5所示的实施例,在一种可能的实施方式中,上述方法包括:
在上述待预览通道集合中不存在第二类通道的情况下,生成表示无法将上述指定通道由第一码流类型切换为第二码流类型的提示信息;或
在上述待预览通道集合中不存在第二码流类通道的情况下,计算上述指定通道解码第二码流类型所需的资源量与上述指定通道解码第一码流类型所需的资源量的差值,得到第二资源量差值;
根据上述第二资源量差值,在上述待预览通道集合中选取待关闭通道,其中,上述待关闭通道解码第一码流类型所需的总资源量不小于上述第二资源量差值;
在码流配置信息中,将上述待关闭通道设置为关闭,并将上述指定通道的码流类型更新为第二码流类型。
在待预览通道集合中不存在第二类通道的情况下,生成表示无法将指定通道由第一码流类型切换为第二码流类型的提示信息,以提示用户设备资源不足。
或者,计算指定通道解码第二码流类型所需的资源量与指定通道解码第一码流类型所需的资源量的差值,得到第二资源量差值,根据第二资源量差值,在待预览通道集合中按预设顺序选取预设数量个待关闭通道,其中预设顺序可以为播放窗口从后至前的顺序。通过关闭其他通道以确保有足够的资源满足预览第一预设通道的第二码流类型。
在获取切换指令时,若待预览通道集合包括第一子集合及第二子集合,在指定通道为主播放窗口通道的情况下,判断第二子集合中是否包括指定通道,若有,则将第二子集合中的指定通道的码流类型更新为第二码流类型。具体参见上述实施例,在此不再赘述。
基于图1所示的实施例,本发明实施例提供了视频预览方法的第三种流程示意图,如图6所示,在上述步骤S160之后,上述方法还包括:
S710,获取预设调换指令,其中,上述预设调换指令用于指示将第一播放窗口对应的通道与第二播放窗口对应的通道进行互换;
S720,获取上述第一播放窗口对应的通道得到第一通道,获取上述第二播放窗口对应的通道得到第二通道;
S730,将上述第一播放窗口对应的通道更新为上述第二通道,将上述第二播放窗口对应的通道更新为上述第一通道;
S740,在码流配置信息中,将上述待预览通道集合中的各通道对应的码流类型均更新为第一码流类型,返回步骤:在上述待预览通道集合中选取至少一个通道,得到被选取的通道,继续执行。
在按照最新的码流配置信息在各上述播放窗口进行视频的预览之后,用户若想调换各个播放窗口对应的通道,则可以给定预设调换指令,具体的,可以将其中一个播放窗口拖动至需要互换的另一播放窗口处,或者在预设时间内,点击两个需要互换的播放窗口的画面,以指示将两个播放窗口对应的通道进行互换。然后更新各自对应的通道,并将待预览通道集合中的各通道对应的码流类型均更新为第一码流类型,然后重新再按照上述方法调整一遍,以得到各个播放窗口对应的码流配置信息。
以此在调整之后,用户可以根据实际情况调整各个码流的码流类型,在满足用户预览需求的情况下,各个通道可在设备支持的解码能力范围内重新达到预览效果。
基于图6所示的实施例,在上述步骤S710之后,上述方法还包括:
判断第一播放窗口对应的通道的码流类型与第二播放窗口对应的通道的码流类型是否相同;
在第一通道对应的码流类型与第二通道对应的码流类型相同的情况下,将第一播放窗口对应的通道更新为第二通道,并将第二播放窗口对应的通道更新为第一通道;
在第一通道对应的码流类型与第二通道对应的码流类型不相同的情况下,将第一播放窗口对应的通道更新为第二通道,并将第二播放窗口对应的通道更新为第一通道,并基于最新的码流配置信息,计算若将第一预设通道由第一码流类型变更为第二码流类型、将第二预设通道由第二码流类型变更为第一码流类型的情况下,上述待预览通道集合中各通道解码所需的目标总资源量;其中,第一预设通道为第一通道、第二通道中的码流类型为第一码流类型的通道,第二预设通道为第一通道、第二通道中的码流类型为第二码流类型的通道;
判断最新计算得到的目标总资源量是否不大于预设资源量阈值;
若不大于预设资源量阈值,则将码流配置信息中第一预设通道对应的码流类型更新为第二码流类型、将第二预设通道对应的码流类型更新为第一码流类型;
若大于预设资源量阈值,则将上述待预览通道集合中的各通道对应的码流类型均更新为第一码流类型,返回步骤S130继续执行;
或者,判断待预览通道集合中是否还存在对应为第二码流类型的通道,若存在对应为第二码流类型的通道,则将其余的第二码流类型依次切换为第一码流类型,以确保有足够的资源满足预览第一预设通道的第二码流类型。若不存在对应为第二码流类型的通道,计算第一预设通道解码第二码流类型所需的资源量与第一预设通道解码第一码流类型所需的资源量的差值,得到第一预设通道资源量差值,根据第一预设通道资源量差值,在待预览通道集合中按预设顺序选取预设数量个待关闭通道,其中,待关闭通道解码第一码流类型所需的总资源量不小于第一预设通道资源量差值,在码流配置信息中,将待关闭通道设置为关闭,并将第一预设通道的码流类型更新为第二码流类型。以确保有足够的资源满足预览第一预设通道的第二码流类型,其中预设顺序可以为播放窗口从后至前的顺序。
在按照最新的码流配置信息在各上述播放窗口进行视频的预览之后,针对播放窗口对应的通道的码流类型为第一码流类型的码流,用户若想浏览该码流的第二码流类型,则可以将该通道直接拖动至其他播放第二码流类型的播放窗口进行播放。
以通过4个播放窗口来进行预览,其中播放窗口1对应的通道为Chan3,播放窗口2对应的通道为Chan2,播放窗口3对应的通道为Chan1,播放窗口4对应的通道为Chan6,即待预览的通道集合ChanC={Chan3,Chan2,Chan1,Chan6},确定码流类型为StreamN={主,主,主,子},即,播放窗口1播放的Chan3的码流类型为第二码流类型,播放窗口2播放的Chan2的码流类型为第二码流类型,播放窗口3播放的Chan1的码流类型为第二码流类型,播放窗口4播放的Chan6的码流类型为第一码流类型,若想对Chan6进行第二码流类型预览,可以将播放窗口4对应的通道与任意一个播放窗口对应第二码流类型的通道进行互换。
具体的,手动拖动Chan6至播放窗口1、播放窗口2或播放窗口3中,以最优举例,假定Chan6拖动至了播放窗口1中,则拖动后,待预览通道集合ChanC更新为:ChanC={Chan6,Chan2,Chan1,Chan3},此时确定Chan6对应的码流类型与Chan3对应的码流类型不同,则计算若将Chan6由第一码流类型变更为第二码流类型、将Chan3由第二码流类型变更为第一码流类型的情况下,上述待预览通道集合中各通道解码所需的目标总资源量,若计算得到的目标总资源量不大于预设资源量阈值,则将码流配置信息中将Chan6由第一码流类型更新为第二码流类型、将Chan3由第二码流类型更新为第一码流类型。若大于预设资源量阈值,则将待预览通道集合中的各通道对应的码流类型均更新为第一码流类型,并按照上述方法,返回步骤S130继续执行。
这样在调整完毕后,如果某通道以第一码流类型预览,但是用户希望以第二码流类型来预览,用户可直接给出将该通道与其他正在以第二码流类型预览的通道进行互换的指令,例如,直接将该通道拖动至其他正在以第二码流类型预览的通道,操作较简洁。
以此在调整之后,用户可以根据实际情况调整各个码流的码流类型,在满足用户预览需求的情况下,各个通道可在设备支持的解码能力范围内重新达到预览效果。
基于上一实施例,进一步的,在返回步骤S130执行时,优先选取第一预设通道作为被选取的通道,这样可以优先将用户选定的第一码流类型的通道优先更新为第二码流类型。
在获取调换指令时,若待预览通道集合包括第一子集合及第二子集合,在相关通道做了调整的情况下,需判断另一通道子集合中是否包括该相关通道,若有,则将另一通道子集合中的相关通道也进行更新。具体参见上述实施例,在此不再赘述。
基于上述实施例,本发明实施例提供的视频预览方法的第四种流程示意图,如图7,方法包括:
S201,获取各播放窗口各自对应的通道,得到待预览通道集合;
S202,获取上述待预览通道集合中各通道的码流配置信息,其中,码流配置信息中各上述通道对应的播放窗口的码流类型为第一码流类型;
S203,基于最新的码流配置信息,在上述待预览通道集合中选取第一个第一类通道,得到被选取的通道;第一个第一类通道为按照通道对应的播放窗口的次序,依次选取的第一个第一类通道;第一类通道为最新的码流配置信息中,分辨率最低的码流类型所对应的通道;
S204,基于最新的码流配置信息,计算将被选取的通道对应的码流类型从第一码流类型变更为第二码流类型后,上述待预览通道集合中各通道解码所需的目标总资源量;
S205,判断目标总资源量是否不大于预设资源量阈值;若是,则执行步骤S206,若否,则执行步骤S207;
S206,将码流配置信息中被选取的通道对应的码流类型更新为第二码流类型,并返回步骤S203;
S207,按照最新的码流配置信息在各上述播放窗口进行视频的预览。
通过上述实施例,在设备启动后,通过调整,在首先保证所有通道均可预览的情况下,在设备支持的解码能力范围内,使得排列靠前的播放窗口对应的通道优先以第二码流类型进行预览。
基于上述方法实施例,本发明实施例提供了一种视频预览装置,如图8所示,图8为本发明实施例提供的视频预览装置的一种结构示意图,上述装置包括:
第一获取模块810,用于获取各播放窗口各自对应的待预览通道,得到待预览通道集合;
第二获取模块820,用于获取上述待预览通道集合中各通道的码流配置信息,其中,码流配置信息用于指示上述待预览通道集合中各通道的码流类型;
选取模块830,用于在上述待预览通道集合中选取至少一个通道,得到被选取的通道,其中,码流配置信息中包括被选取的通道各自的第一码流类型;
第一计算模块840,用于基于最新的码流配置信息,计算将被选取的通道对应的码流类型从各自的第一码流类型变更为各自的第二码流类型后,上述待预览通道集合中各通道解码所需的目标总资源量;其中,对于每一个被选取的通道,该被选取的通道的第一码流类型码流对应的分辨率小于第二码流类型对应的分辨率;
第一更新模块850,用于若最新计算得到的目标总资源量不大于预设资源量阈值,则将码流配置信息中被选取的通道对应的码流类型更新为各自的第二码流类型;
预览模块860,用于按照最新的码流配置信息在各上述播放窗口进行视频的预览。
在一种可能的实施方式中,针对待预览通道集合中的每一个通道,该通道的第一码流类型为该通道所支持的码流类型中,分辨率最低的码流类型。
在一种可能的实施方式中,初始的码流配置信息中,针对待预览通道集合中的通道,该通道的第一码流类型为该通道所支持的码流类型中分辨率最低的码流类型;针对任一被选取的通道,该通道的第二码流类型为分辨率大于第一分辨率、且与上述第一分辨率最接近的码流类型,上述第一分辨率为该通道的第一码流类型的分辨率。
在一种可能的实施方式中,上述装置还包括:
返回模块,用于在上述若最新计算得到的目标总资源量不大于预设资源量阈值,则将码流配置信息中被选取的通道对应的码流类型更新为各自的第二码流类型之后,返回步骤:在上述待预览通道集合中选取至少一个通道,得到被选取的通道,继续执行;
上述预览模块860具体用于:
若最新计算得到的目标总资源量大于预设资源量阈值或最新的码流配置信息中各通道对应的码流类型为分辨率最高的码流类型,则按照最新的码流配置信息在各上述播放窗口进行视频的预览。
在一种可能的实施方式中,上述选取模块830具体用于:
在上述待预览通道集合中选取第一个第一类通道,得到被选取的通道,其中,上述第一个第一类通道为按照通道对应的播放窗口的次序,依次选取的第一个第一类通道;上述第一类通道为最新的码流配置信息中,分辨率最低的码流类型所对应的通道。
在一种可能的实施方式中,上述待预览通道集合包括第一子集合及第二子集合,上述播放窗口包括主播放窗口和辅助播放窗口,上述第一子集合包括各主播放窗口各自对应的通道,上述第二子集合包括各辅助播放窗口各自对应的通道;
上述选取模块830具体用于:
获取待选取通道集合,其中,上述待选取通道集合为上述第一子集合与上述第二子集合的交集;
在上述待选取通道集合中存在第一类通道的情况下,从上述待选取通道集合中选择一个第一类通道作为被选取的通道;和/或,
在上述待选取通道集合中不存在第一类通道、且上述第一子集合中存在第一类通道的情况下,从上述第一子集合中选择一个第一类通道作为被选取的通道;和/或,
在上述待选取通道集合中不存在第一类通道、且上述第一子集合中不存在第一类通道的情况下,从上述第二子集合中选择一个第一类通道作为被选取的通道,其中,上述第一类通道为最新的码流配置信息中,分辨率最低的码流类型所对应的通道。
在一种可能的实施方式中,上述待预览通道集合包括第一子集合及第二子集合,上述播放窗口包括主播放窗口和辅助播放窗口,上述第一子集合包括各主播放窗口各自对应的通道,上述第二子集合包括各辅播放窗口各自对应的通道;
上述装置还包括:
判断模块,用于在上述被选取的通道为主播放窗口通道的情况下,在上述将码流配置信息中被选取的通道对应的码流类型更新为第二码流类型之后,判断上述第二子集合中是否包括上述被选取的通道,若有,则将上述第二子集合中的被选取的通道的码流类型更新为第二码流类型。
在一种可能的实施方式中,上述第一计算模块840具体用于:
获取最新的码流配置信息下,上述待预览通道集合中各通道解码所需的总资源量,得到第一总资源量;
确定第一资源量,其中,上述第一资源量为被选取的通道的码流类型为第二码流类型的情况下,解码上述被选取的通道的码流所需的资源量;
确定第二资源量,其中,上述第二资源量为被选取的通道的码流类型为第一码流类型的情况下,解码上述被选取的通道的码流所需的资源量;
在上述第一总资源量的基础上,加上上述第一资源量与上述第二资源量的差,得到目标总资源量;
上述装置还包括:
第二更新模块,用于在将码流配置信息中被选取的通道对应的码流类型更新为各自的第二码流类型之后,将最新的码流配置信息下上述待预览通道集合中各通道解码所需的总资源量更新为最新的目标总资源量。
在一种可能的实施方式中,上述装置还包括:
第一切换指令获取模块,用于获取切换指令,其中,上述切换指令用于指示将指定通道的码流类型由第一码流类型切换为第二码流类型;
第二计算模块,用于计算在上述指定通道为第二码流类型、在上述待预览通道集合中除上述指定通道外的其他通道为第一码流类型的情况下,上述待预览通道集合中各通道解码所需的总资源量,得到第二总资源量;
第三更新模块,用于在上述第二总资源量小于上述预设资源量阈值的情况下,在码流配置信息中,将上述指定通道对应的码流类型更新为第二码流类型,将上述其他通道对应的码流类型更新为第一码流类型,并返回步骤:在上述待预览通道集合中选取至少一个通道,得到被选取的通道,继续执行。
在一种可能的实施方式中,上述装置还包括:
第二切换指令获取模块,用于获取切换指令,其中,上述切换指令用于指示将指定通道的码流类型由第一码流类型切换为第二码流类型;
添加模块,用于将当前切换指令中的指定通道添加到预设通道队列的队尾,其中,预设通道队列用于存放将码流类型由第一码流类型切换为第二码流类型的通道;
第一执行模块,用于在码流配置信息中,将上述待预览通道集合中的各通道对应的码流类型均更新为第一码流类型,返回步骤:在上述待预览通道集合中选取至少一个通道,得到被选取的通道,继续执行:
其中,选取模块830具体用于:
基于最新的码流配置信息,在上述预设通道队列中存在第一类通道的情况下,在上述预设通道队列中选取最后一个第一类通道,得到被选取的通道;在上述预设通道队列中不存在第一类通道的情况下,在上述待预览通道集合中选取至少一个第一类通道,得到被选取的通道,其中,上述第一类通道为最新的码流配置信息中,分辨率最低的码流类型所对应的通道。
在一种可能的实施方式中,上述装置还包括:
第三切换指令获取模块,用于获取切换指令,其中,上述切换指令用于指示将指定通道的码流类型由第一码流类型切换为第二码流类型;
第二类通道获取模块,用于基于最新的码流配置信息,在上述待预览通道集合中存在第二类通道的情况下,获取各第二类通道,其中,上述第二类通道为对应的播放窗口的码流类型为第二码流类型的通道;
第一差值计算模块,用于针对每一个第二类通道,计算该第二类通道解码第二码流类型所需的资源量与该第二类通道解码第一码流类型所需的资源量的差值,得到第二类通道的第一资源量差值;
第二差值计算模块,用于计算上述指定通道解码第二码流类型所需的资源量与上述指定通道解码第一码流类型所需的资源量的差值,得到第二资源量差值;
第三类通道获取模块,用于在第三类通道中选取一个通道得到待切换通道,其中,上述第三类通道为第二类通道中第一资源量差值不小于上述第二资源量差值的通道;
码流类型更新模块,用于在码流配置信息中,将上述指定通道对应的码流类型更新为第二码流类型,将上述待切换通道的码流类型更新为第一码流类型。
在一种可能的实施方式中,上述装置包括:
提示信息生成模块,用于在上述待预览通道集合中不存在第二类通道的情况下,生成表示无法将上述指定通道由第一码流类型切换为第二码流类型的提示信息;或
资源量差值计算模块,用于在上述待预览通道集合中不存在第二码流类通道的情况下,计算上述指定通道解码第二码流类型所需的资源量与上述指定通道解码第一码流类型所需的资源量的差值,得到第二资源量差值;
待关闭通道选取模块,用于根据上述第二资源量差值,在上述待预览通道集合中选取待关闭通道,其中,上述待关闭通道解码第一码流类型所需的总资源量不小于上述第二资源量差值;
关闭模块,用于在码流配置信息中,将上述待关闭通道设置为关闭,并将上述指定通道的码流类型更新为第二码流类型。
在一种可能的实施方式中,上述装置还包括:
调换指令获取模块,用于获取预设调换指令,其中,上述预设调换指令用于指示将第一播放窗口对应的通道与第二播放窗口对应的通道进行互换;
第三获取模块,用于获取上述第一播放窗口对应的通道得到第一通道,获取上述第二播放窗口对应的通道得到第二通道;
窗口通道更新模块,用于将上述第一播放窗口对应的通道更新为上述第二通道,将上述第二播放窗口对应的通道更新为上述第一通道;
第二执行模块,用于在码流配置信息中,将上述待预览通道集合中的各通道对应的码流类型均更新为第一码流类型,返回步骤:在上述待预览通道集合中选取至少一个通道,得到被选取的通道,继续执行。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本发明实施例还提供了一种电子设备,如图9所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信,
存储器903,用于存放计算机程序;
处理器901,用于执行存储器903上所存放的程序时,实现如下步骤:
获取各播放窗口各自对应的待预览通道,得到待预览通道集合;
获取上述待预览通道集合中各通道的码流配置信息,其中,码流配置信息用于指示上述待预览通道集合中各通道的码流类型;
在上述待预览通道集合中选取至少一个通道,得到被选取的通道,其中,码流配置信息中包括被选取的通道各自的第一码流类型;
基于最新的码流配置信息,计算将被选取的通道对应的码流类型从各自的第一码流类型变更为各自的第二码流类型后,上述待预览通道集合中各通道解码所需的目标总资源量;其中,对于每一个被选取的通道,该被选取的通道的第一码流类型码流对应的分辨率小于第二码流类型对应的分辨率;
若最新计算得到的目标总资源量不大于预设资源量阈值,则将码流配置信息中被选取的通道对应的码流类型更新为各自的第二码流类型;
按照最新的码流配置信息在各上述播放窗口进行视频的预览。
可选的,处理器901,用于执行存储器903上所存放的程序时,还可以实现上述任一视频预览方法。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一视频预览方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一视频预览方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质及包含指令的计算机程序产品而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (16)
1.一种视频预览方法,其特征在于,所述方法包括:
获取各播放窗口各自对应的待预览通道,得到待预览通道集合;
获取所述待预览通道集合中各通道的码流配置信息,其中,码流配置信息用于指示所述待预览通道集合中各通道的码流类型;
在所述待预览通道集合中选取至少一个通道,得到被选取的通道,其中,码流配置信息中包括被选取的通道各自的第一码流类型;
基于最新的码流配置信息,计算将被选取的通道对应的码流类型从各自的第一码流类型变更为各自的第二码流类型后,所述待预览通道集合中各通道解码所需的目标总资源量;其中,对于每一个被选取的通道,该被选取的通道的第一码流类型对应的分辨率小于第二码流类型对应的分辨率;
若最新计算得到的目标总资源量不大于预设资源量阈值,则将码流配置信息中被选取的通道对应的码流类型更新为各自的第二码流类型;
按照最新的码流配置信息在各所述播放窗口进行视频的预览;
获取切换指令,其中,所述切换指令用于指示将指定通道的码流类型由第一码流类型切换为第二码流类型;
基于最新的码流配置信息,在所述待预览通道集合中存在第二类通道的情况下,获取各第二类通道,其中,所述第二类通道为对应的播放窗口的码流类型为第二码流类型的通道;
针对每一个第二类通道,计算该第二类通道解码第二码流类型所需的资源量与该第二类通道解码第一码流类型所需的资源量的差值,得到第二类通道的第一资源量差值;
计算所述指定通道解码第二码流类型所需的资源量与所述指定通道解码第一码流类型所需的资源量的差值,得到第二资源量差值;
在第三类通道中选取一个通道得到待切换通道,其中,所述第三类通道为第二类通道中第一资源量差值不小于所述第二资源量差值的通道;
在码流配置信息中,将所述指定通道对应的码流类型更新为第二码流类型,将所述待切换通道的码流类型更新为第一码流类型。
2.根据权利要求1所述的方法,其特征在于,针对待预览通道集合中的每一个通道,该通道的第一码流类型为该通道所支持的码流类型中,分辨率最低的码流类型。
3.根据权利要求1所述的方法,其特征在于,初始的码流配置信息中,针对待预览通道集合中的通道,该通道的第一码流类型为该通道所支持的码流类型中分辨率最低的码流类型;针对任一被选取的通道,该通道的第二码流类型为分辨率大于第一分辨率、且与所述第一分辨率最接近的码流类型,所述第一分辨率为该通道的第一码流类型的分辨率。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述若最新计算得到的目标总资源量不大于预设资源量阈值,则将码流配置信息中被选取的通道对应的码流类型更新为各自的第二码流类型之后,返回步骤:在所述待预览通道集合中选取至少一个通道,得到被选取的通道,继续执行;
所述按照最新的码流配置信息在各所述播放窗口进行视频的预览,包括:
若最新计算得到的目标总资源量大于预设资源量阈值或最新的码流配置信息中各通道对应的码流类型为分辨率最高的码流类型,则按照最新的码流配置信息在各所述播放窗口进行视频的预览。
5.根据权利要求1所述的方法,其特征在于,所述在所述待预览通道集合中选取至少一个通道,得到被选取的通道,包括:
在所述待预览通道集合中选取第一个第一类通道,得到被选取的通道,其中,所述第一个第一类通道为按照通道对应的播放窗口的次序,依次选取的第一个第一类通道;所述第一类通道为最新的码流配置信息中,分辨率最低的码流类型所对应的通道。
6.根据权利要求1所述的方法,其特征在于,所述待预览通道集合包括第一子集合及第二子集合,所述播放窗口包括主播放窗口和辅助播放窗口,所述第一子集合包括各主播放窗口各自对应的通道,所述第二子集合包括各辅助播放窗口各自对应的通道;
所述在所述待预览通道集合中选取至少一个通道,得到被选取的通道,包括:
获取待选取通道集合,其中,所述待选取通道集合为所述第一子集合与所述第二子集合的交集;
在所述待选取通道集合中存在第一类通道的情况下,从所述待选取通道集合中选择一个第一类通道作为被选取的通道;和/或,
在所述待选取通道集合中不存在第一类通道、且所述第一子集合中存在第一类通道的情况下,从所述第一子集合中选择一个第一类通道作为被选取的通道;和/或,
在所述待选取通道集合中不存在第一类通道、且所述第一子集合中不存在第一类通道的情况下,从所述第二子集合中选择一个第一类通道作为被选取的通道,其中,所述第一类通道为最新的码流配置信息中,分辨率最低的码流类型所对应的通道。
7.根据权利要求1所述的方法,其特征在于,所述待预览通道集合包括第一子集合及第二子集合,所述播放窗口包括主播放窗口和辅助播放窗口,所述第一子集合包括各主播放窗口各自对应的通道,所述第二子集合包括各辅播放窗口各自对应的通道;
所述方法还包括:
在所述被选取的通道为主播放窗口通道的情况下,在所述将码流配置信息中被选取的通道对应的码流类型更新为第二码流类型之后,判断所述第二子集合中是否包括所述被选取的通道,若有,则将所述第二子集合中的被选取的通道的码流类型更新为第二码流类型。
8.根据权利要求1所述的方法,其特征在于,所述基于最新的码流配置信息,计算将被选取的通道对应的码流类型从各自的第一码流类型变更为各自的第二码流类型后,所述待预览通道集合中各通道解码所需的目标总资源量,包括:
获取最新的码流配置信息下,所述待预览通道集合中各通道解码所需的总资源量,得到第一总资源量;
确定第一资源量,其中,所述第一资源量为被选取的通道的码流类型为第二码流类型的情况下,解码所述被选取的通道的码流所需的资源量;
确定第二资源量,其中,所述第二资源量为被选取的通道的码流类型为第一码流类型的情况下,解码所述被选取的通道的码流所需的资源量;
在所述第一总资源量的基础上,加上所述第一资源量与所述第二资源量的差,得到目标总资源量;
所述方法还包括:
在将码流配置信息中被选取的通道对应的码流类型更新为各自的第二码流类型之后,将最新的码流配置信息下所述待预览通道集合中各通道解码所需的总资源量更新为最新的目标总资源量。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取切换指令,其中,所述切换指令用于指示将指定通道的码流类型由第一码流类型切换为第二码流类型;
计算在所述指定通道为第二码流类型、在所述待预览通道集合中除所述指定通道外的其他通道为第一码流类型的情况下,所述待预览通道集合中各通道解码所需的总资源量,得到第二总资源量;
在所述第二总资源量小于所述预设资源量阈值的情况下,在码流配置信息中,将所述指定通道对应的码流类型更新为第二码流类型,将所述其他通道对应的码流类型更新为第一码流类型,并返回步骤:在所述待预览通道集合中选取至少一个通道,得到被选取的通道,继续执行。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取切换指令,其中,所述切换指令用于指示将指定通道的码流类型由第一码流类型切换为第二码流类型;
将当前切换指令中的指定通道添加到预设通道队列的队尾,其中,预设通道队列用于存放将码流类型由第一码流类型切换为第二码流类型的通道;
在码流配置信息中,将所述待预览通道集合中的各通道对应的码流类型均更新为第一码流类型,返回步骤:在所述待预览通道集合中选取至少一个通道,得到被选取的通道,继续执行:
其中,所述在所述待预览通道集合中选取至少一个通道,得到被选取的通道,包括:
基于最新的码流配置信息,在所述预设通道队列中存在第一类通道的情况下,在所述预设通道队列中选取最后一个第一类通道,得到被选取的通道;在所述预设通道队列中不存在第一类通道的情况下,在所述待预览通道集合中选取至少一个第一类通道,得到被选取的通道,其中,所述第一类通道为最新的码流配置信息中,分辨率最低的码流类型所对应的通道。
11.根据权利要求1所述的方法,其特征在于,所述方法包括:
在所述待预览通道集合中不存在第二类通道的情况下,生成表示无法将所述指定通道由第一码流类型切换为第二码流类型的提示信息;或
在所述待预览通道集合中不存在第二码流类通道的情况下,计算所述指定通道解码第二码流类型所需的资源量与所述指定通道解码第一码流类型所需的资源量的差值,得到第二资源量差值;
根据所述第二资源量差值,在所述待预览通道集合中选取待关闭通道,其中,所述待关闭通道解码第一码流类型所需的总资源量不小于所述第二资源量差值;
在码流配置信息中,将所述待关闭通道设置为关闭,并将所述指定通道的码流类型更新为第二码流类型。
12.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取预设调换指令,其中,所述预设调换指令用于指示将第一播放窗口对应的通道与第二播放窗口对应的通道进行互换;
获取所述第一播放窗口对应的通道得到第一通道,获取所述第二播放窗口对应的通道得到第二通道;
将所述第一播放窗口对应的通道更新为所述第二通道,将所述第二播放窗口对应的通道更新为所述第一通道;
在码流配置信息中,将所述待预览通道集合中的各通道对应的码流类型均更新为第一码流类型,返回步骤:在所述待预览通道集合中选取至少一个通道,得到被选取的通道,继续执行。
13.一种视频预览装置,其特征在于,所述装置包括:
第一获取模块,用于获取各播放窗口各自对应的待预览通道,得到待预览通道集合;
第二获取模块,用于获取所述待预览通道集合中各通道的码流配置信息,其中,码流配置信息用于指示所述待预览通道集合中各通道的码流类型;
选取模块,用于在所述待预览通道集合中选取至少一个通道,得到被选取的通道,其中,码流配置信息中包括被选取的通道各自的第一码流类型;
第一计算模块,用于基于最新的码流配置信息,计算将被选取的通道对应的码流类型从各自的第一码流类型变更为各自的第二码流类型后,所述待预览通道集合中各通道解码所需的目标总资源量;其中,对于每一个被选取的通道,该被选取的通道的第一码流类型对应的分辨率小于第二码流类型对应的分辨率;
第一更新模块,用于若最新计算得到的目标总资源量不大于预设资源量阈值,则将码流配置信息中被选取的通道对应的码流类型更新为各自的第二码流类型;
预览模块,用于按照最新的码流配置信息在各所述播放窗口进行视频的预览;
所述装置还包括:
第三切换指令获取模块,用于获取切换指令,其中,所述切换指令用于指示将指定通道的码流类型由第一码流类型切换为第二码流类型;
第二类通道获取模块,用于基于最新的码流配置信息,在所述待预览通道集合中存在第二类通道的情况下,获取各第二类通道,其中,所述第二类通道为对应的播放窗口的码流类型为第二码流类型的通道;
第一差值计算模块,用于针对每一个第二类通道,计算该第二类通道解码第二码流类型所需的资源量与该第二类通道解码第一码流类型所需的资源量的差值,得到第二类通道的第一资源量差值;
第二差值计算模块,用于计算所述指定通道解码第二码流类型所需的资源量与所述指定通道解码第一码流类型所需的资源量的差值,得到第二资源量差值;
第三类通道获取模块,用于在第三类通道中选取一个通道得到待切换通道,其中,所述第三类通道为第二类通道中第一资源量差值不小于所述第二资源量差值的通道;
码流类型更新模块,用于在码流配置信息中,将所述指定通道对应的码流类型更新为第二码流类型,将所述待切换通道的码流类型更新为第一码流类型。
14.根据权利要求13所述的装置,其特征在于,针对待预览通道集合中的每一个通道,该通道的第一码流类型为该通道所支持的码流类型中,分辨率最低的码流类型;
初始的码流配置信息中,针对待预览通道集合中的通道,该通道的第一码流类型为该通道所支持的码流类型中分辨率最低的码流类型;针对任一被选取的通道,该通道的第二码流类型为分辨率大于第一分辨率、且与所述第一分辨率最接近的码流类型,所述第一分辨率为该通道的第一码流类型的分辨率;
所述装置还包括:
返回模块,用于在所述若最新计算得到的目标总资源量不大于预设资源量阈值,则将码流配置信息中被选取的通道对应的码流类型更新为各自的第二码流类型之后,返回步骤:在所述待预览通道集合中选取至少一个通道,得到被选取的通道,继续执行;
所述预览模块具体用于:
若最新计算得到的目标总资源量大于预设资源量阈值或最新的码流配置信息中各通道对应的码流类型为分辨率最高的码流类型,则按照最新的码流配置信息在各所述播放窗口进行视频的预览;
所述选取模块具体用于:
在所述待预览通道集合中选取第一个第一类通道,得到被选取的通道,其中,所述第一个第一类通道为按照通道对应的播放窗口的次序,依次选取的第一个第一类通道;所述第一类通道为最新的码流配置信息中,分辨率最低的码流类型所对应的通道;
所述待预览通道集合包括第一子集合及第二子集合,所述播放窗口包括主播放窗口和辅助播放窗口,所述第一子集合包括各主播放窗口各自对应的通道,所述第二子集合包括各辅助播放窗口各自对应的通道;
所述选取模块具体用于:
获取待选取通道集合,其中,所述待选取通道集合为所述第一子集合与所述第二子集合的交集;
在所述待选取通道集合中存在第一类通道的情况下,从所述待选取通道集合中选择一个第一类通道作为被选取的通道;和/或,
在所述待选取通道集合中不存在第一类通道、且所述第一子集合中存在第一类通道的情况下,从所述第一子集合中选择一个第一类通道作为被选取的通道;和/或,
在所述待选取通道集合中不存在第一类通道、且所述第一子集合中不存在第一类通道的情况下,从所述第二子集合中选择一个第一类通道作为被选取的通道,其中,所述第一类通道为最新的码流配置信息中,分辨率最低的码流类型所对应的通道;
所述装置还包括:
判断模块,用于在所述被选取的通道为主播放窗口通道的情况下,在所述将码流配置信息中被选取的通道对应的码流类型更新为第二码流类型之后,判断所述第二子集合中是否包括所述被选取的通道,若有,则将所述第二子集合中的被选取的通道的码流类型更新为第二码流类型;
所述第一计算模块具体用于:
获取最新的码流配置信息下,所述待预览通道集合中各通道解码所需的总资源量,得到第一总资源量;
确定第一资源量,其中,所述第一资源量为被选取的通道的码流类型为第二码流类型的情况下,解码所述被选取的通道的码流所需的资源量;
确定第二资源量,其中,所述第二资源量为被选取的通道的码流类型为第一码流类型的情况下,解码所述被选取的通道的码流所需的资源量;
在所述第一总资源量的基础上,加上所述第一资源量与所述第二资源量的差,得到目标总资源量;
所述装置还包括:
第二更新模块,用于在将码流配置信息中被选取的通道对应的码流类型更新为各自的第二码流类型之后,将最新的码流配置信息下所述待预览通道集合中各通道解码所需的总资源量更新为最新的目标总资源量;
所述装置还包括:
第一切换指令获取模块,用于获取切换指令,其中,所述切换指令用于指示将指定通道的码流类型由第一码流类型切换为第二码流类型;
第二计算模块,用于计算在所述指定通道为第二码流类型、在所述待预览通道集合中除所述指定通道外的其他通道为第一码流类型的情况下,所述待预览通道集合中各通道解码所需的总资源量,得到第二总资源量;
第三更新模块,用于在所述第二总资源量小于所述预设资源量阈值的情况下,在码流配置信息中,将所述指定通道对应的码流类型更新为第二码流类型,将所述其他通道对应的码流类型更新为第一码流类型,并返回步骤:在所述待预览通道集合中选取至少一个通道,得到被选取的通道,继续执行;
所述装置还包括:
第二切换指令获取模块,用于获取切换指令,其中,所述切换指令用于指示将指定通道的码流类型由第一码流类型切换为第二码流类型;
添加模块,用于将当前切换指令中的指定通道添加到预设通道队列的队尾,其中,预设通道队列用于存放将码流类型由第一码流类型切换为第二码流类型的通道;
第一执行模块,用于在码流配置信息中,将所述待预览通道集合中的各通道对应的码流类型均更新为第一码流类型,返回步骤:在所述待预览通道集合中选取至少一个通道,得到被选取的通道,继续执行:
其中,选取模块具体用于:
基于最新的码流配置信息,在所述预设通道队列中存在第一类通道的情况下,在所述预设通道队列中选取最后一个第一类通道,得到被选取的通道;在所述预设通道队列中不存在第一类通道的情况下,在所述待预览通道集合中选取至少一个第一类通道,得到被选取的通道,其中,所述第一类通道为最新的码流配置信息中,分辨率最低的码流类型所对应的通道;
所述装置包括:
提示信息生成模块,用于在所述待预览通道集合中不存在第二类通道的情况下,生成表示无法将所述指定通道由第一码流类型切换为第二码流类型的提示信息;或
资源量差值计算模块,用于在所述待预览通道集合中不存在第二码流类通道的情况下,计算所述指定通道解码第二码流类型所需的资源量与所述指定通道解码第一码流类型所需的资源量的差值,得到第二资源量差值;
待关闭通道选取模块,用于根据所述第二资源量差值,在所述待预览通道集合中选取待关闭通道,其中,所述待关闭通道解码第一码流类型所需的总资源量不小于所述第二资源量差值;
关闭模块,用于在码流配置信息中,将所述待关闭通道设置为关闭,并将所述指定通道的码流类型更新为第二码流类型;
所述装置还包括:
调换指令获取模块,用于获取预设调换指令,其中,所述预设调换指令用于指示将第一播放窗口对应的通道与第二播放窗口对应的通道进行互换;
第三获取模块,用于获取所述第一播放窗口对应的通道得到第一通道,获取所述第二播放窗口对应的通道得到第二通道;
窗口通道更新模块,用于将所述第一播放窗口对应的通道更新为所述第二通道,将所述第二播放窗口对应的通道更新为所述第一通道;
第二执行模块,用于在码流配置信息中,将所述待预览通道集合中的各通道对应的码流类型均更新为第一码流类型,返回步骤:在所述待预览通道集合中选取至少一个通道,得到被选取的通道,继续执行。
15.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-12任一所述的方法步骤。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-12任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210779109.4A CN115174965B (zh) | 2022-06-30 | 2022-06-30 | 视频预览方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210779109.4A CN115174965B (zh) | 2022-06-30 | 2022-06-30 | 视频预览方法、装置、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115174965A CN115174965A (zh) | 2022-10-11 |
CN115174965B true CN115174965B (zh) | 2024-01-02 |
Family
ID=83491742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210779109.4A Active CN115174965B (zh) | 2022-06-30 | 2022-06-30 | 视频预览方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115174965B (zh) |
Citations (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008014707A1 (fr) * | 2006-07-27 | 2008-02-07 | Tencent Technology (Shenzhen) Company Limited | Procédé, système et écran de réglage de qualité vidéo |
WO2009106015A1 (zh) * | 2008-02-27 | 2009-09-03 | 华为技术有限公司 | 动态码率分配方法、分组域流媒体服务器 |
CN101977185A (zh) * | 2010-10-14 | 2011-02-16 | 杭州海康威视数字技术股份有限公司 | 视频监控系统中数字录像机及其网络连接控制方法 |
CN102571526A (zh) * | 2010-12-08 | 2012-07-11 | 华为终端有限公司 | 会场带宽的调整方法、装置、会议终端和媒体控制服务器 |
CN103686167A (zh) * | 2013-12-24 | 2014-03-26 | 广东威创视讯科技股份有限公司 | 多码流播出方法及装置 |
CN104333767A (zh) * | 2014-10-10 | 2015-02-04 | 厦门雅迅网络股份有限公司 | 一种车载视频监控系统多通道优先级控制方法及系统 |
WO2015188678A1 (zh) * | 2014-06-13 | 2015-12-17 | 珠海全志科技股份有限公司 | 移动设备视频流传输控制方法及系统 |
CN105262699A (zh) * | 2015-10-29 | 2016-01-20 | 浙江大华技术股份有限公司 | 一种网络自适应编码调整方法及装置 |
CN106416271A (zh) * | 2014-07-30 | 2017-02-15 | 深圳市大富科技股份有限公司 | 信道的码率分配方法、系统及远程图像传输系统 |
CN106713956A (zh) * | 2016-11-16 | 2017-05-24 | 上海交通大学 | 动态自适应视频流媒体的码率控制与版本选择方法及系统 |
CN107155093A (zh) * | 2017-06-21 | 2017-09-12 | 普联技术有限公司 | 一种视频预览方法、装置及设备 |
CN107888964A (zh) * | 2016-09-30 | 2018-04-06 | 杭州海康威视数字技术股份有限公司 | 一种视频播放的码流类型切换方法及装置 |
CN108429705A (zh) * | 2017-02-15 | 2018-08-21 | 杭州海康威视数字技术股份有限公司 | 一种链路带宽分配方法及装置 |
CN108966005A (zh) * | 2018-07-10 | 2018-12-07 | 南阳师范学院 | 一种视频分辨率的调节方法、装置、存储介质及终端 |
CN110769271A (zh) * | 2019-11-11 | 2020-02-07 | 广州酷狗计算机科技有限公司 | 调节多路码流的码率的方法和装置 |
CN111010389A (zh) * | 2019-12-11 | 2020-04-14 | 浙江大华技术股份有限公司 | 码流调整方法及装置、存储介质、电子装置 |
CN111182352A (zh) * | 2018-11-09 | 2020-05-19 | 浙江宇视科技有限公司 | 一种视频播放的自适应码流控制装置及方法 |
CN111385574A (zh) * | 2018-12-28 | 2020-07-07 | 北京字节跳动网络技术有限公司 | 视频编码中的码率控制方法、装置、移动终端及存储介质 |
WO2020151398A1 (zh) * | 2019-01-23 | 2020-07-30 | 上海哔哩哔哩科技有限公司 | 硬件解码动态分辨率无缝切换方法、装置及存储介质 |
CN112203043A (zh) * | 2020-09-14 | 2021-01-08 | 中标慧安信息技术股份有限公司 | 一种视频传输方法及系统 |
WO2021012180A1 (zh) * | 2019-07-23 | 2021-01-28 | 深圳市大疆创新科技有限公司 | 码流的传输控制方法、设备及计算机可读存储介质 |
CN113395478A (zh) * | 2020-06-15 | 2021-09-14 | 谷歌有限责任公司 | 用于改进的视频会议的动态视频分辨率和质量 |
CN113794908A (zh) * | 2021-11-16 | 2021-12-14 | 浙江大华技术股份有限公司 | 一种网络状态调整方法及存储介质 |
CN114466194A (zh) * | 2022-02-14 | 2022-05-10 | 浙江大华技术股份有限公司 | 视频编码的调整方法和装置、存储介质及电子设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070024705A1 (en) * | 2005-08-01 | 2007-02-01 | Richter Roger K | Systems and methods for video stream selection |
US10904591B2 (en) * | 2016-12-28 | 2021-01-26 | Google Llc | Scheme for zero-copy adaptive bitrate video streaming |
-
2022
- 2022-06-30 CN CN202210779109.4A patent/CN115174965B/zh active Active
Patent Citations (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008014707A1 (fr) * | 2006-07-27 | 2008-02-07 | Tencent Technology (Shenzhen) Company Limited | Procédé, système et écran de réglage de qualité vidéo |
WO2009106015A1 (zh) * | 2008-02-27 | 2009-09-03 | 华为技术有限公司 | 动态码率分配方法、分组域流媒体服务器 |
CN101977185A (zh) * | 2010-10-14 | 2011-02-16 | 杭州海康威视数字技术股份有限公司 | 视频监控系统中数字录像机及其网络连接控制方法 |
CN102571526A (zh) * | 2010-12-08 | 2012-07-11 | 华为终端有限公司 | 会场带宽的调整方法、装置、会议终端和媒体控制服务器 |
CN103686167A (zh) * | 2013-12-24 | 2014-03-26 | 广东威创视讯科技股份有限公司 | 多码流播出方法及装置 |
WO2015188678A1 (zh) * | 2014-06-13 | 2015-12-17 | 珠海全志科技股份有限公司 | 移动设备视频流传输控制方法及系统 |
CN106416271A (zh) * | 2014-07-30 | 2017-02-15 | 深圳市大富科技股份有限公司 | 信道的码率分配方法、系统及远程图像传输系统 |
CN104333767A (zh) * | 2014-10-10 | 2015-02-04 | 厦门雅迅网络股份有限公司 | 一种车载视频监控系统多通道优先级控制方法及系统 |
CN105262699A (zh) * | 2015-10-29 | 2016-01-20 | 浙江大华技术股份有限公司 | 一种网络自适应编码调整方法及装置 |
CN107888964A (zh) * | 2016-09-30 | 2018-04-06 | 杭州海康威视数字技术股份有限公司 | 一种视频播放的码流类型切换方法及装置 |
CN106713956A (zh) * | 2016-11-16 | 2017-05-24 | 上海交通大学 | 动态自适应视频流媒体的码率控制与版本选择方法及系统 |
CN108429705A (zh) * | 2017-02-15 | 2018-08-21 | 杭州海康威视数字技术股份有限公司 | 一种链路带宽分配方法及装置 |
CN107155093A (zh) * | 2017-06-21 | 2017-09-12 | 普联技术有限公司 | 一种视频预览方法、装置及设备 |
CN108966005A (zh) * | 2018-07-10 | 2018-12-07 | 南阳师范学院 | 一种视频分辨率的调节方法、装置、存储介质及终端 |
CN111182352A (zh) * | 2018-11-09 | 2020-05-19 | 浙江宇视科技有限公司 | 一种视频播放的自适应码流控制装置及方法 |
CN111385574A (zh) * | 2018-12-28 | 2020-07-07 | 北京字节跳动网络技术有限公司 | 视频编码中的码率控制方法、装置、移动终端及存储介质 |
WO2020151398A1 (zh) * | 2019-01-23 | 2020-07-30 | 上海哔哩哔哩科技有限公司 | 硬件解码动态分辨率无缝切换方法、装置及存储介质 |
WO2021012180A1 (zh) * | 2019-07-23 | 2021-01-28 | 深圳市大疆创新科技有限公司 | 码流的传输控制方法、设备及计算机可读存储介质 |
CN110769271A (zh) * | 2019-11-11 | 2020-02-07 | 广州酷狗计算机科技有限公司 | 调节多路码流的码率的方法和装置 |
CN111010389A (zh) * | 2019-12-11 | 2020-04-14 | 浙江大华技术股份有限公司 | 码流调整方法及装置、存储介质、电子装置 |
CN113395478A (zh) * | 2020-06-15 | 2021-09-14 | 谷歌有限责任公司 | 用于改进的视频会议的动态视频分辨率和质量 |
CN112203043A (zh) * | 2020-09-14 | 2021-01-08 | 中标慧安信息技术股份有限公司 | 一种视频传输方法及系统 |
CN113794908A (zh) * | 2021-11-16 | 2021-12-14 | 浙江大华技术股份有限公司 | 一种网络状态调整方法及存储介质 |
CN114466194A (zh) * | 2022-02-14 | 2022-05-10 | 浙江大华技术股份有限公司 | 视频编码的调整方法和装置、存储介质及电子设备 |
Non-Patent Citations (1)
Title |
---|
基于丢包率统计的无线流媒体码率动态适配技术的研究;李婵文;;中国新通信(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115174965A (zh) | 2022-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8695050B2 (en) | Multicasting system and multicasting method | |
US7945936B2 (en) | Multicasting system, client device, upper router controller, method of displaying content and computer program | |
EP2649792B1 (en) | Pre-buffering audio/video stream pairs | |
US9894010B2 (en) | Management of heterogeneous client device groups | |
CN109257631B (zh) | 视频轮播播放方法、装置、计算机设备及存储介质 | |
JP2019522386A (ja) | ユーザデバイスにおけるサービス品質に基づいてメディア一覧を提示するための方法およびシステム | |
CN108462899B (zh) | 基于设备能力的流媒体码流自适应传输方法、播放设备及播放系统 | |
WO2017080175A1 (zh) | 用于多机位的视频播放器、播放系统及播放方法 | |
US11451603B2 (en) | Selective pre-caching of media streams | |
EP3748983B1 (en) | Video playback method, terminal apparatus, and storage medium | |
US20210099740A1 (en) | Method and apparatus for maintaining bandwidth for electronic content display system | |
CN115174965B (zh) | 视频预览方法、装置、电子设备及计算机可读存储介质 | |
EP3522525B1 (en) | Method and apparatus for processing video playing | |
US11546675B2 (en) | Methods, systems, and media for streaming video content using adaptive buffers | |
US20230199267A1 (en) | Method and apparatus for processing adaptive multi-view streaming | |
US11290513B1 (en) | Distributed adaptive bitrate (ABR) asset delivery | |
CN110913235A (zh) | 用于大规模直播的访问控制方法、装置和电子设备 | |
WO2021013272A1 (zh) | 一种视频播放方法、电子设备以及存储介质 | |
WO2022237461A1 (zh) | 视频的预加载方法、装置、设备及存储介质 | |
CN115278281B (zh) | 直播质量保障方法、装置、计算设备和存储介质 | |
CN115174948B (zh) | 基于转码资源的调度方法及装置 | |
US11350160B1 (en) | Management of a client device buffer | |
US9047914B1 (en) | Content navigation | |
CN116233489A (zh) | 直播处理方法、装置、电子设备及计算机存储介质 | |
CN112995752A (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 |