具体实施方式
以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。其它实施方案可以包括结构的、逻辑的、电气的、过程的以及其它的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施方案的部分和特征可以被包括在或替换其它实施方案的部分和特征。本发明的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。在本文中,本发明的这些实施方案可以被单独地或总地用术语“发明”来表示,这仅仅是为了方便,并且如果事实上公开了超过一个的发明,不是要自动地限制该应用的范围为任何单个发明或发明构思。
本文所使用的“终端”定义为,具有无线通信功能的设备,例如台式计算机、移动计算机、膝上型计算机、笔记本计算机、平板计算机、服务器计算机、手持计算机、手持装置、掌上电脑(PDA,Personal Digital Assistant)、手持PDA装置、板载装置、板外装置、混合装置(例如将蜂窝电话功能性与PDA装置功能性组合)、消费装置、车载装置、非车载装置、移动或便携式装置、非移动或非便携式装置、蜂窝电话、个人通信服务(PCS,PersonalCommunications Service)装置、结合无线通信装置的PDA装置、移动或便携式全球定位系统(GPS,Global Positioning System)装置、数字电视广播(DVB,Digital Video Broadcasting)装置、较小计算装置、非台式计算机、“尺寸更小性能更高”装置、超移动装置、超移动个人电脑、移动因特网装置、“Origami”装置或计算装置、支持可动态组成计(DCC,DynamicallyComposable Computing)的装置或其它设备。
图1是说明性实施例的方法示意图,在一些说明性的实施例中可以包括三种装置,即提供网络媒体等资源的网络侧设备(如网络服务器),从网络侧设备获取网络媒体并显示的终端(如终端1),以及与所述终端1互动并可以控制网络媒体播放的控制终端(如终端2),其中:
在一些说明性的实施例中,所述控制终端可以是一个或者多个用于与终端1互动的终端;
在一些说明性的实施例中,所述终端1可以将获取到的多个不同网络媒体的控制元素发送给所述终端2;
在一些说明性的实施例中,所述终端1可以将基于同一网络媒体的全部或者部分控制元素发送给终端2;
在一些说明性的实施例中,所述全部控制元素可以是一个控制元素,例如在网络媒体控制界面仅有一个用于控制所述网络媒体播放的播放键;或者,所述全部控制元素是多个控制元素,例如网络媒体控制界面包括用于控制媒体播放、暂停、停止、快进、快退、上一个、下一个、声音、分辨率等多个控制元素;
在一些说明性的实施例中,所述发送给终端2的部分控制元素可以是某一类控制元素,例如用于控制声音的控制元素,或者,可以是多个不同类别的控制元素;
在一些说明性的实施例中,所述终端1可以是具有播放网络媒体功能的终端,例如网络电视TV、平板电脑等;所述终端2可以是具有接收所述控制元素并显示控制面的终端,例如:智能手机Smart Phone;其中,所述控制面包括与所述控制元素相对应的控制键,例如:播放键、声音调整键、播放进度条等。
如图1所示,在一些说明性的实施例中,所示用于多媒体互动的方法可以包括以下几个步骤:
步骤S1,终端1接收网络服务器传送的包含网络媒体(如音频或视频)的数据流;
优选地,终端1通过网页浏览器从网络服务器下载网络媒体;
在本方案中,所述网页播放器可以是正在播放多媒体的网页,或,网页中的用于显示和控制多媒体播放的媒体播放器,例如HTML5播放器,或,网页中用于播放多媒体的全部或部分网页元素;
步骤S2,终端1对接收到的所述数据流进行解析和播放;
优选地,终端1可以通过网页浏览器中的网页播放器对所述数据流进行解析和播放;
步骤S3,终端1启动多屏互动业务;
优选地,终端1可以在识别用户的操作后,触发所述启动多屏互动业务的操作;
优选地,终端1可以根据设定(例如:定时或周期性)启动多屏互动业务;
步骤S4,终端1寻找用于控制终端1上网络媒体播放的控制终端(即终端2);
优选地,所述寻找的过程包括:
广播包含用以表示服务类型的服务类型标识和接入信息的服务发现请求消息;
优选地,可以是以超文本转移协议(HTTP,Hypertext TransferProtocol)广播的方式发送所述服务发现请求;所述服务发现请求消息可以携带以下参数:服务类型标识和终端1的接入信息(如:终端1的网络协议IP地址以及终端1的端口);其中,服务类型标识用于告知终端1当前所需的服务类型(如:表示多屏控制的标识);
步骤S5,至少一个终端发现并接收终端1广播的包含服务类型标识和接入信息的服务发现请求消息;
所述至少一个终端根据所述服务发现请求消息,向所述终端1回复包含所述服务类型标识、自身的接入信息和/或附属文件地址的服务发现应答消息;该附属文件可以存放所述终端(如终端2)的相关信息,如所述终端2所在的位置、所述终端2可以提供哪些服务等;所述自身的接入信息可以是各个终端(如终端2)的网络协议(IP,Internet Protocol)地址,端口port等;
优选地,所述至少一个终端可以以单播的形式发回所述服务发现应答消息;
终端1接收所述至少一个终端回复的所述服务发现应答消息,并根据接收的所述服务发现应答消息,选择一个或多个终端作为所述控制终端(如终端2);终端1可以将接收到的服务发现应答消息的发送方终端的标识呈现给用户,让用户从中选择一个或者多个作为控制终端,或者,终端1根据预置的选择策略,选择所述控制终端,或者,终端1随机选择一个或者多个作为控制终端;
优选地,在所述终端1选择和确定所述控制终端后,向所述控制终端分配服务标识ID;
优选地,所述终端1向每个所述控制终端发送包含服务标识(ID,IDentity)的消息,所述服务ID用以标记所述控制终端发送的控制指令,后续终端1可以通过识别所述服务ID,识别所述控制指令对应于哪一个服务类型;
例如:终端1选择终端2作为控制终端,那么终端1会给终端2分配一个用于标识多屏控制视频播放的服务ID(例如:001);若终端1的用户在镜像多屏控制视频播放的同时,又需要进行镜像传屏,并且终端1根据终端2的附属文件地址,发现终端2还可以提供镜像传屏的服务,那么终端1可以分配另一个服务ID(例如:002)给终端2,用于区别于服务ID(001)标记当前的服务类型是镜像传屏,当终端1与终端2通信时,如终端2向终端1发送控制指令时,该控制指令中会携带相应服务业务的服务ID,终端1通过识别服务ID就可以确定所述控制指令所针对的服务类型是哪一个;
步骤S6,终端1提取至少一个用于控制网络媒体播放的控制元素;
优选地,所述提取的控制元素可以是全部或部分用于控制网络媒体播放的控制元素;
优选地,所述控制元素可以包括HTML5文件和级联样式表CSS文件;所述HTML5文件是一类能实现在网页中嵌入视频或音频标签的语言文件,不限于所述HTML5文件;所述CSS文件是用于实现HTML5文件的显示控制的一类文件;
优选地,终端1是从播放所述网络媒体的网页播放器中提取控制元素的;
优选地,所述提取控制元素的过程可以包括:
构建所述网页播放器对应的文档对象模型DOM树结构,DOM树是以层次结构组织的节点或信息片断的集合,这个层次结构允许开发人员在树中导航寻找特定信息;网页播放器对应的DOM树上包含了不同控制按键和播放界面的父节点,以及其相应子节点(例如,父节点是按键Button,子节点是搜索Search)的分支;
使用决策树对DOM树中各结点进行分类,根据分类结果得到至少一个分块序列,从所述分块序列中选取预设类型的序列元素,并抽取序列元素对应的网页元素;
所述决策树是一种分类算法,在本方案中所述决策树利用结点的维度特征得出DOM树中结点对应的分块类型,并根据预设类型选取网页元素;
例如:终端1通过网页浏览器分析正在使用的网页播放器,区分出显示元素和控制元素;显示元素包含HTML5文件中的视频video元素以及其属性(如高度hight,宽度widht,外部脚本文件的地址src);控制元素就是播放器的一些控制选项(一般为按键button或控制条)和视频的一些控制control属性;
步骤S7,终端1可以将所述提取的至少一个控制元素的显示属性设置为不可见,即隐藏所述网页播放器的控制面,此步骤为可选步骤;
所述控制面是指网页(或网页播放器)的播放控制界面,所述控制面包括用于控制视频播放的控件,例如:播放键、拖拉播放进度条、拖拉音量控制条、点击停止键等;
优选地,终端1可以将全部或部分已提取的控制元素的显示属性值设置为不可见;
步骤S8,终端1将所述提取的控制网络媒体播放的至少一个控制元素发送至终端2;
终端2接收所述控制网络媒体播放的至少一个控制元素;
步骤S9,终端2对所述控制元素进行解析,并显示控制面;
优选地,所述控制元素由终端2的网页浏览器加载和显示;
步骤S10,终端2识别用户对所述网络媒体播放的控制操作;所述控制操作可以是点击播放键、拖拉播放进度条、拖拉音量控制条、点击停止键等;
终端2根据所述控制操作,向所述终端1发送对应至少一个控制元素的控制指令;
终端1接收来自终端2发送的对应本端的至少一个控制元素(即,对应控制面中某控制键)的控制指令;
以上过程相当于终端1与终端2的控制部分做绑定或者映射。例如用户在终端2中点击了播放键,那么由于其与终端1的播放键已做绑定,因此相当于点击了终端1的播放键,则终端1触发点击播放键的事务处理机制;
优选地,所述控制指令一般包括控制元素标识、控制类型和终端1的接入信息;其中,终端1的接入信息是不必要的,所述控制类型可以是点击、拖拉;如果控制类型是拖拉,而控制元素是播放进度条,则所述控制指令还包括与控制类型相关联的控制参数,如用户拖拉进度条后所在的位置,即,播放进度;
优选地,若终端1向终端2分配了服务ID,则所述控制指令还包括服务ID;如终端2向终端1发送控制指令时,可能的形式是:“HTML5元素ID”+“控制参数”以及服务ID和终端1的IP地址;
优选地,终端1根据所述控制指令,触发所述网页播放器的控制面中的相应控制操作,具体包括:根据所述控制指令中的控制元素标识找到所述控制面中相应的控制元素,在所述相应的控制元素上触发所述控制类型所指示的控制操作,例如终端1解析控制指令:“播放键”+“点击”,并触发该事件的处理:找到本端控制面上的播放键,触发点击该播放键的操作;
步骤S11,可选的,在终端1触发所述相应控制操作之后,终端1向网络服务器发送包含所述控制指令的控制消息,用来告知网络服务器终端1针对当前网络媒体播放做出的一些控制操作;
此步骤适用于一些当前终端1无法直接进行操作控制的的情况,例如终端2向终端1发送了一个快进的控制指令(例如“进度条”+“拖动”+“48分23秒”),而终端1当前并没有缓存到此进度的数据,那么终端1会将该指令发送给网络服务器,请求网络服务器从播放点(“48分23秒”)开始向终端1传送数据;
如果终端1收到的控制指令为暂停,那么终端1可以无需向网络服务器发送控制消息,即终端1本身就可以执行该控制操作;
步骤S12,在终端1触发所述相应控制操作之后,还包括向终端2发送用以表示完成所述控制操作的应答消息;此步骤为可选步骤。
采用上述实施例,可达到以下效果:
提供了一种基于网页的网页音视频的多屏互动方法;
本方案中的网络媒体是由基于HTML5以上技术的网页浏览器播放的,由于HTML5对技术平台没有限定,因此适用于多种技术平台,提高了通用性;
将播放网络媒体的控制元素发送给其它终端,实现了不同的终端之间的互相控制,带来了全新的用户体验。
如图2所示,一种用于多媒体互动的终端10。
在一些说明性的实施例中,所述终端10包括:
发送单元101,用于将提取的控制网络媒体播放的至少部分控制元素发送至控制终端;
接收单元102,用于接收来自所述控制终端对应至少一个控制元素的控制指令,并根据所述控制指令执行相应操作。
在一些说明性的实施例中,所述控制元素包括HTML5文件和级联样式表CSS文件。
在一些说明性的实施例中,所述终端10还包括:
提取单元103,用于从播放所述网络媒体的网页播放器中提取所述至少部分控制元素。
在一些说明性的实施例中,所述提取单元103包括:
第一提取子单元1031,用于构建所述网页播放器对应的文档对象模型DOM树结构;
第二提取子单元1032,用于使用决策树在所述DOM树结构中各节点的元素中获得所述至少一个控制元素。
在一些说明性的实施例中,所述接收单元102接收的控制指令包括控制元素标识和控制类型;或,所述接收单元102接收的控制指令包括控制元素标识、控制类型和接入信息。
在一些说明性的实施例中,当所述控制类型是拖动时,所述接收单元102接收的控制指令还包括与所述控制类型相关联的控制参数。
在一些说明性的实施例中,所述终端10还包括:
隐藏单元104,用于将所述提取的至少部分控制元素的显示属性设置为不可见,隐藏所述网页播放器的控制面。
在一些说明性的实施例中,所述接收单元102根据所述控制指令执行相应操作,具体包括:
触发单元1021,用于根据所述控制指令中的控制元素标识找到所述控制面中相应的控制元素,在所述相应的控制元素上触发所述控制类型所指示的控制操作。
在一些说明性的实施例中,所述终端10还包括:
应答单元105,用于所述接收单元102根据所述控制指令执行相应操作之后,向所述控制终端发送用以表示完成所述控制操作的应答消息。
在一些说明性的实施例中,所述终端10还包括:
网络单元106,用于所述接收单元102根据所述控制指令执行相应操作之后,向网络侧发送包含所述控制指令的控制消息。
在一些说明性的实施例中,所述终端10还包括:
播放单元107,用于所述提取单元103提取所述至少部分控制元素之前,通过所述网页播放器播放所述数据流;
启动单元108,用于启动多屏互动业务,并寻找到所述控制终端。
在一些说明性的实施例中,所述启动单元108,包括:
第一启动子单元1081,用于广播包含服务类型标识和接入信息的服务发现请求消息;
第二启动子单元1082,用于接收至少一个终端回复的包含所述服务类型标识、以及每个终端自身的接入信息和附属文件地址的服务发现应答消息;
第三启动子单元1083,用于根据接收的所述服务发现应答消息,选择一个或多个终端作为所述控制终端。
在一些说明性的实施例中,所述终端10还包括:
分配单元109,用于所述启动单元108寻找到所述控制终端之后,向每个所述控制终端发送包含服务标识ID的消息,所述服务ID用以标记所述控制终端发送的控制指令;所述接收单元接收的来自所述控制终端的控制指令中包括所述服务ID。
在一些说明性的实施例中,以上所述各个单元是网页浏览器的子单元。
如图3所示,一种用于多媒体互动的终端20。
在一些说明性的实施例中,所述终端20包括:
接收单元201,用于接收其它终端发送的控制网络媒体播放的至少一个控制元素;
识别单元202,用于识别对所述网络媒体播放的控制操作;
发送单元203,用于根据所述控制操作,向所述终端发送对应至少一个控制元素的控制指令。
在一些说明性的实施例中,所述终端20,还包括:
显示单元204,用于所述接收单元201接收所述控制元素与所述识别单元202识别对所述网络媒体播放的控制操作之间,对所述控制元素进行解析,并显示控制面;所述控制面包含与所述控制元素相应的控制键。
在一些说明性的实施例中,所述控制元素包括HTML5文件和CSS文件。
在一些说明性的实施例中,所述控制指令包括控制元素标识和控制类型;或,所述控制指令包括控制元素标识、控制类型和所述终端的接入信息。
在一些说明性的实施例中,当所述控制类型是拖动时,所述控制指令还包括与所述控制类型相关联的控制参数。
在一些说明性的实施例中,所述终端20还包括:
发现单元205,用于所述接收单元201接收所述控制元素之前,发现并接收所述终端广播的包含服务类型标识和接入信息的服务发现请求消息;
推荐单元206,用于根据所述服务发现请求消息,向所述终端回复包含所述服务类型标识、自身的接入信息和附属文件地址的服务发现应答消息。
在一些说明性的实施例中,所述终端20还包括:
应答单元207,用于所述发送单元203发送所述控制指令之后,接收所述终端回复的用以表示完成所述控制指令的应答消息。
在一些说明性的实施例中,所述终端20还包括:
分配单元208,用于所述推荐单元206回复所述服务发现应答消息之后,接收所述终端发送的包含服务ID的消息,所述发送单元203发送给所述终端的所述控制指令中携带所述服务ID。
在一些说明性的实施例中,所述各个单元是网页浏览器的子单元。
采用上述实施例,可达到以下效果:
提供了一种基于网页的网页音视频的多屏互动方法;
本方案中的网络媒体是由基于HTML5以上技术的网页浏览器播放的,由于HTML5对技术平台没有限定,因此适用于多种技术平台,提高了通用性;
播放终端将播放网络媒体的控制元素发送给其它终端,实现了其它终端对播放终端上网络媒体的播放控制,提高用户体验。
本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。