一种视频展示方法及装置与流程

文档序号:11157664阅读:437来源:国知局
一种视频展示方法及装置与制造工艺

本发明涉及互联网视频技术,尤其涉及一种视频展示方法及装置。



背景技术:

在使用手机、平板电脑、个人电脑、大屏幕投影设备等终端设备播放网络视频时,传统的做法是在界面中只播放一个视频。随着观看网络视频的用户的增多及用户活跃度的提升,这种传统的网络视频展示方式已经无法满足用户的需求,也无法满足运营方对视频内容展示的需求。

为了满足用户及运营方的需求,有一种相关技术是在界面中提供同时在播放的多路视频。然而发明人在实现本发明的过程中发现,这种视频展示方式虽然同时展示的内容较多,但是也有着无法明显突出运营的核心内容以及无法使用户非常容易地找到热点内容等弊端,而如果用户或运营方想调整展示形式,例如将同时在播放的以经典九宫格形式展示的9路视频调整为1个主流+多个副流,或者对屏幕竖直三等分的3路等等变化多样的形式,则需要重新编辑并生成程序代码,这将耗费大量开发时间及成本,并带来一系列稳定性和维护性等问题。



技术实现要素:

本发明提供一种视频展示方法及装置,以解决同时播放多路视频时展示样式调整困难的技术问题。

根据本发明实施例的第一方面,提供一种视频展示方法,所述方法包括:

获取模板数据,其中所述模板数据用于描述多个视频对象在播放界面中的布局样式;

根据所述模板数据在所述播放界面中设置用于展示所述视频对象的槽位,其中每个所述槽位对应一个视频对象;

接收多个视频流及所述多个视频流的顺序信息;

根据所述顺序信息将每个所述视频流作为一个所述视频对象填入到每个所述槽位中,以实现所述多个视频流的同时展示。

可选的,所述布局样式包括每个所述视频对象的位置信息和大小信息;

所述位置信息包括:每个所述视频对象在所述播放界面中的左边距或右边距,及,上边距或下边距;

所述大小信息包括:每个所述视频对象的宽度和高度。

可选的,所述位置信息和所述大小信息均使用与播放界面大小的比值表示。

可选的,所述模板数据使用JSON格式记录。

可选的,所述获取模板数据,包括:

接收所述模板数据;

或者,

接收模板数据指示信息,

根据所述模板数据指示信息,从本地模板数据库中调取所述模板数据。

可选的,根据所述顺序信息将每个所述视频流作为一个所述视频对象填入到每个所述槽位中之后,所述方法还包括:

接收用于替换的视频流;

将被替换的视频流从对应的槽位中移出,以及,将所述用于替换的视频流填入所述对应的槽位。

可选的,根据所述顺序信息将每个所述视频流作为一个所述视频对象填入到每个所述槽位中之后,所述方法还包括:

接收视频流交换指示信息;

根据所述视频流交换指示信息对两个或多个所述槽位中的视频流进行交换。

根据本发明实施例的第二方面,提供一种视频展示装置,所述装置包括:

模板获取模块,用于获取模板数据,其中所述模板数据用于描述多个视频对象在播放界面中的布局样式;

视频接收模块,用于接收多个视频流及所述多个视频流的顺序信息;

视频布局模块,用于根据所述模板数据在所述播放界面中设置用于展示所述视频对象的槽位,其中每个所述槽位对应一个视频对象;

视频展示模块,用于根据所述顺序信息将每个所述视频流作为一个所述视频对象填入到每个所述槽位中,以实现所述多个视频流的同时展示。

可选的,所述布局样式包括每个所述视频对象的位置信息和大小信息;

所述位置信息包括:每个所述视频对象在所述播放界面中的左边距或右边距,及,上边距或下边距;

所述大小信息包括:每个所述视频对象的宽度和高度。

可选的,所述位置信息和所述大小信息均使用与播放界面大小的比值表示。

可选的,所述模板数据使用JSON格式记录。

可选的,所述模板获取模块用于:

接收所述模板数据;

或者,

接收模板数据指示信息,

根据所述模板数据指示信息,从本地模板数据库中调取所述模板数据。

可选的,所述视频接收模块还用于:

接收用于替换的视频流;

所述视频展示模块还用于:

将被替换的视频流从对应的槽位中移出,以及,将所述用于替换的视频流填入所述对应的槽位。

可选的,所述视频接收模块还用于:

接收视频流交换指示信息;

所述视频展示模块还用于:

根据所述视频流交换指示信息对两个或多个所述槽位中的视频流进行交换。

根据本发明实施例的第三方面,提供一种电子设备,包括:

至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;

其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:

获取模板数据,其中所述模板数据用于描述多个视频对象在播放界面中的布局样式;

根据所述模板数据在所述播放界面中设置用于展示所述视频对象的槽位,其中每个所述槽位对应一个视频对象;

接收多个视频流及所述多个视频流的顺序信息;

根据所述顺序信息将每个所述视频流作为一个所述视频对象填入到每个所述槽位中,以实现所述多个视频流的同时展示。

本发明实施例提供的技术方案可以包括以下有益效果:

在本发明实施例中,对于终端设备播放界面上存在多个视频对象同时在播放的情况,使用模板数据对多个视频对象在播放界面中的布局样式进行描述,并将模板数据发送给或预置于终端设备,而终端设备上则采用槽位对视频对象的位置进行规范化,根据模板数据对槽位进行布局,从而实现对视频对象的布局。本发明实施例这种模板化的处理方式使得视频对象的布局可以灵活调整,易于扩展,通过制定丰富多彩的模板可以满足各种不同内容的展现需求,突出运营的首要内容,节省了大量的时间成本及人力成本,也给用户带来了更佳的用户体验。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。此外,这些介绍并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

图1是根据本发明一示例性实施例示出的一种视频展示方法的流程图;

图2是根据本发明一示例性实施例示出的视频布局转变过程示意图;

图3是根据本发明一示例性实施例示出的视频布局转变过程示意图;

图4是根据本发明一示例性实施例示出的视频布局转变过程示意图;

图5是根据本发明一示例性实施例示出的位置信息示意图;

图6是根据本发明一示例性实施例示出的一种视频展示方法的信令示意图;

图7是根据本发明一示例性实施例示出的一种视频展示装置的示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

实施例一

图1是根据本发明一示例性实施例示出的一种视频展示方法的流程图。该方法例如可用于手机、电视、平板电脑、个人电脑、投影器等终端设备。

参见图1所示,该方法可以包括:

步骤S101,获取模板数据,其中所述模板数据用于描述多个视频对象在播放界面中的布局样式。

对于终端设备播放界面上存在多个视频对象同时在播放的情况,技术人员可以预先为多个视频对象设计多种布局样式,一种布局样式也即一种模板。对于一个布局样式来讲,播放界面中一共有几个视频对象(也即一共有几路视频),每个视频对象的播放窗口的大小如何及位置在哪,等等,这些作为布局信息都可以由该布局样式对应的模板数据来描述。

步骤S102,根据所述模板数据在所述播放界面中设置用于展示所述视频对象的槽位,其中每个所述槽位对应一个视频对象。

槽位也可称为容器或子容器,每个槽位对应一个视频对象,换句话说,每个槽位用于填入一个视频流。如果播放界面关联一个父容器,那么每个槽位又可称为子容器。作为示例,在Android(安卓)系统中,该子容器可以使用FrameLayout实现,然后将这些子容器放在一个大的父容器当中。

当按照模板数据将各槽位设置好之后,其实已经完成了各路视频的布局(只不过是空),下一步就可以向每个槽位中填入视频对象了。

步骤S103,接收多个视频流及所述多个视频流的顺序信息。

其中顺序信息用于指示每个视频流应该填入到已设置好的哪个槽位内。例如视频1应填入到槽位a,视频2应填入到槽位b,等等。

需要说明的是,步骤S103与步骤S101~步骤S102的先后顺序本实施例并不做限定,例如终端设备可以先接收视频流及顺序信息,也可以先获取模板数据(例如接收服务器发来的模板数据),或同时接收视频流、顺序信息及模板数据。

步骤S104,根据所述顺序信息将每个所述视频流作为一个所述视频对象填入到每个所述槽位中,以实现所述多个视频流的同时展示。

作为示例可参见图2~4所示。在图2中,手机上原有的布局样式是6路视频,且各路视频均匀分布。在图3中,服务器301给手机302发送了新的模板数据,指示手机将布局样式更改为5路视频,且其中一路居中,播放窗口面积较大,其他四路环绕四周,播放窗口面积较小。手机接收到新的模板数据后,重新设置各个槽位,从而使多路视频播放变为了一种新的布局样式,如图4所示。

另外,当需要替换新的视频内容时,终端设备只需要把槽位中的旧的视频流移出,并把新的视频流移入即可,无须再次重新摆放槽位的位置,而视频流填进槽位后具有和槽位一样的大小和位置。

故在本实施例或本发明其他某些实施例中,根据所述顺序信息将每个所述视频流作为一个所述视频对象填入到每个所述槽位中之后,所述方法还可以包括:

接收用于替换的视频流;

将被替换的视频流从对应的槽位中移出,以及,将所述用于替换的视频流填入所述对应的槽位。

此外,在本实施例或本发明其他某些实施例中,根据所述顺序信息将每个所述视频流作为一个所述视频对象填入到每个所述槽位中之后,所述方法还可以包括:

接收视频流交换指示信息;

根据所述视频流交换指示信息对两个或多个所述槽位中的视频流进行交换。

在本实施例中,对于终端设备播放界面上存在多个视频对象同时在播放的情况,使用模板数据对多个视频对象在播放界面中的布局样式进行描述,并将模板数据发送给或预置于终端设备,而终端设备上则采用槽位对视频对象的位置进行规范化,根据模板数据对槽位进行布局,从而实现对视频对象的布局。本发明实施例这种模板化的处理方式使得视频对象的布局可以灵活调整,易于扩展,通过制定丰富多彩的模板可以满足各种不同内容的展现需求,突出运营的首要内容,节省了大量的时间成本及人力成本,也给用户带来了更佳的用户体验。

实施例二

本实施例基于实施例一,是对实施例一的进一步扩展或深化。在本实施例中,作为示例,模板数据可以使用JSON格式记录。JSON即JavaScript Object Notation,是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式。

所述布局样式具体可以包括每个所述视频对象的位置信息和大小信息;

所述位置信息可以包括:每个所述视频对象在所述播放界面中的左边距或右边距,及,上边距或下边距;

所述大小信息可以包括:每个所述视频对象的宽度和高度。

以左边距(x)、上边距(y)、宽度(w)和高度(h)为例,图5给出了x、y、w、h的一种示例。在模板数据中,每一组x、y、w、h都可视为一个节点,作为示例下面这段文本中包含了三个节点:

另外,在本实施例或本发明其他某些实施例中,所述位置信息和所述大小信息所描述的长度或距离,可以不使用物理值(如长度值,或者像素数)来表示,而是均可以使用与播放界面大小的比值来表示。例如,一个槽位的左边距和宽度的值可以用与播放界面宽度的比值来表示,上边距和高度可以用与播放界面高度的比值来表示。

这样可以满足终端设备如Android手机的各种分辨率的情况,保证各种分辨率下的展现效果是一致的。具体的比值大小可以精确到小数点后5位,这样可以保证每个模板达到严丝合缝的密铺效果。

此外,对于终端设备如何获取模板数据,本实施例也不进行限制,例如终端设备可以接收外界(如服务器或用户)所传入的模板数据,然后按照该模板数据进行布局,或者也可以在终端设备本地预置该模板数据。故在本实施例或本发明其他某些实施例中,所述获取模板数据,可以包括:

接收所述模板数据;

或者,

接收模板数据指示信息,

根据所述模板数据指示信息,从本地模板数据库中调取所述模板数据。

在本实施例中,对于终端设备播放界面上存在多个视频对象同时在播放的情况,使用模板数据对多个视频对象在播放界面中的布局样式进行描述,并将模板数据发送给或预置于终端设备,而终端设备上则采用槽位对视频对象的位置进行规范化,根据模板数据对槽位进行布局,从而实现对视频对象的布局。本发明实施例这种模板化的处理方式使得视频对象的布局可以灵活调整,易于扩展,通过制定丰富多彩的模板可以满足各种不同内容的展现需求,突出运营的首要内容,节省了大量的时间成本及人力成本,也给用户带来了更佳的用户体验。

实施例三

下面结合具体场景对本发明作进一步说明。本实施例基于实施例一或实施例二,涉及电视和服务器,参见图6所示,可以包括如下步骤:

步骤S601,某时刻,服务器向电视发送模板数据。

步骤S602,电视接收到该模板数据后,按照该模板数据所述描述的布局样式,对播放界面进行布局。

步骤S603,电视向服务器反馈已完成布局的信息。

步骤S604,服务器向电视发送视频流及视频流的顺序信息。

步骤S605,电视接收到视频流及视频流的顺序信息后,按照该顺序信息将各视频流填入到相应的槽位中,然后便可开始同时播放这些视频流。

步骤S606,在另一时刻,服务器向电视发送模板数据指示信息(例如模板ID),以及新的视频流和新的顺序信息。

步骤S607,电视接收该模板数据指示信息,以及新的视频流和新的顺序信息。

步骤S608,电视根据模板数据指示信息调取本地已经预设的模板数据,并按该模板数据更改当前的播放界面布局。

步骤S609,电视根据新的布局及新的顺序信息,播放所接收到的新的视频流。

在本实施例中,对于终端设备播放界面上存在多个视频对象同时在播放的情况,使用模板数据对多个视频对象在播放界面中的布局样式进行描述,并将模板数据发送给或预置于终端设备,而终端设备上则采用槽位对视频对象的位置进行规范化,根据模板数据对槽位进行布局,从而实现对视频对象的布局。本发明实施例这种模板化的处理方式使得视频对象的布局可以灵活调整,易于扩展,通过制定丰富多彩的模板可以满足各种不同内容的展现需求,突出运营的首要内容,节省了大量的时间成本及人力成本,也给用户带来了更佳的用户体验。

下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。

图7是根据本发明一示例性实施例示出的一种视频展示装置的示意图。该装置例如可用于手机、电视、平板电脑、个人电脑、投影器等终端设备。

参见图7所示,该装置可以包括::

模板获取模块701,用于获取模板数据,其中所述模板数据用于描述多个视频对象在播放界面中的布局样式。

对于终端设备播放界面上存在多个视频对象同时在播放的情况,技术人员可以预先为多个视频对象设计多种布局样式,一种布局样式也即一种模板。对于一个布局样式来讲,播放界面中一共有几个视频对象(也即一共有几路视频),每个视频对象的播放窗口的大小如何及位置在哪,等等,这些作为布局信息都可以由该布局样式对应的模板数据来描述。

视频接收模块702,用于接收多个视频流及所述多个视频流的顺序信息。

其中顺序信息用于指示每个视频流应该填入到已设置好的哪个槽位内。例如视频1应填入到槽位a,视频2应填入到槽位b,等等。

视频布局模块703,用于根据所述模板数据在所述播放界面中设置用于展示所述视频对象的槽位,其中每个所述槽位对应一个视频对象。

当按照模板数据将各槽位设置好之后,其实已经完成了各路视频的布局(只不过是空),下一步就可以向每个槽位中填入视频对象了。

视频展示模块704,用于根据所述顺序信息将每个所述视频流作为一个所述视频对象填入到每个所述槽位中,以实现所述多个视频流的同时展示。

在本实施例或本发明其他某些实施例中,所述模板数据可以使用JSON格式记录。JSON即JavaScript Object Notation,是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式。

在本实施例或本发明其他某些实施例中,所述布局样式可以包括每个所述视频对象的位置信息和大小信息;

所述位置信息可以包括:每个所述视频对象在所述播放界面中的左边距或右边距,及,上边距或下边距;

所述大小信息可以包括:每个所述视频对象的宽度和高度。

以左边距(x)、上边距(y)、宽度(w)和高度(h)为例,图5给出了x、y、w、h的一种示例。在模板数据中,每一组x、y、w、h都可视为一个节点。

另外,在本实施例或本发明其他某些实施例中,所述位置信息和所述大小信息所描述的长度或距离,可以不使用物理值(如长度值,或者像素数)来表示,而是均可以使用与播放界面大小的比值来表示。例如,一个槽位的左边距和宽度的值可以用与播放界面宽度的比值来表示,上边距和高度可以用与播放界面高度的比值来表示。

这样可以满足终端设备如Android手机的各种分辨率的情况,保证各种分辨率下的展现效果是一致的。具体的比值大小可以精确到小数点后5位,这样可以保证每个模板达到严丝合缝的密铺效果。

对于终端设备如何获取模板数据,本实施例也不进行限制,例如终端设备可以接收外界(如服务器或用户)所传入的模板数据,然后按照该模板数据进行布局,或者也可以在终端设备本地预置该模板数据。故在本实施例或本发明其他某些实施例中,所述模板获取模块具体可以用于:

接收所述模板数据;

或者,

接收模板数据指示信息,

根据所述模板数据指示信息,从本地模板数据库中调取所述模板数据。

另外,当需要替换新的视频内容时,终端设备只需要把槽位中的旧的视频流移出,并把新的视频流移入即可,无须再次重新摆放槽位的位置,而视频流填进槽位后具有和槽位一样的大小和位置。

故在本实施例或本发明其他某些实施例中,所述视频接收模块还可以用于:

接收用于替换的视频流;

所述视频展示模块还用于:

将被替换的视频流从对应的槽位中移出,以及,将所述用于替换的视频流填入所述对应的槽位。

此外,在本实施例或本发明其他某些实施例中,所述视频接收模块还可以用于:

接收视频流交换指示信息;

所述视频展示模块还用于:

根据所述视频流交换指示信息对两个或多个所述槽位中的视频流进行交换。

在本实施例中,对于终端设备播放界面上存在多个视频对象同时在播放的情况,使用模板数据对多个视频对象在播放界面中的布局样式进行描述,并将模板数据发送给或预置于终端设备,而终端设备上则采用槽位对视频对象的位置进行规范化,根据模板数据对槽位进行布局,从而实现对视频对象的布局。本发明实施例这种模板化的处理方式使得视频对象的布局可以灵活调整,易于扩展,通过制定丰富多彩的模板可以满足各种不同内容的展现需求,突出运营的首要内容,节省了大量的时间成本及人力成本,也给用户带来了更佳的用户体验。

关于上述实施例中的装置,其中各个单元\模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本发明实施例还公开了一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:

获取模板数据,其中所述模板数据用于描述多个视频对象在播放界面中的布局样式;

根据所述模板数据在所述播放界面中设置用于展示所述视频对象的槽位,其中每个所述槽位对应一个视频对象;

接收多个视频流及所述多个视频流的顺序信息;

根据所述顺序信息将每个所述视频流作为一个所述视频对象填入到每个所述槽位中,以实现所述多个视频流的同时展示。

本发明实施例还公开了一种电子设备,包括:

至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;

其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:

获取模板数据,其中所述模板数据用于描述多个视频对象在播放界面中的布局样式;

根据所述模板数据在所述播放界面中设置用于展示所述视频对象的槽位,其中每个所述槽位对应一个视频对象;

接收多个视频流及所述多个视频流的顺序信息;

根据所述顺序信息将每个所述视频流作为一个所述视频对象填入到每个所述槽位中,以实现所述多个视频流的同时展示。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由所附的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1