一种媒体内容同步方法、装置及存储介质与流程

文档序号:17602303发布日期:2019-05-07 20:26阅读:179来源:国知局
一种媒体内容同步方法、装置及存储介质与流程

本申请涉及信息技术领域,尤其涉及一种媒体内容同步方法、装置及存储介质。



背景技术:

当前,随着互联网的发展,用户对媒体资源共享的需求越来越多。因此,出现了多个用户希望可以分别在不同地点使用不同终端设备同时观看同一个视频的需求,以及同一个用户在观看一个视频的过程中想变换地点或者变换终端设备继续观看的需求。



技术实现要素:

本申请实例提出了一种媒体内容同步方法,可以在不同的媒体应用客户端之间实现同一媒体内容的同步播放。该方法包括:第一媒体应用客户端发送媒体信息请求消息,请求获取第二媒体应用客户端正在播放的媒体内容的媒体信息;第一媒体应用客户端接收媒体信息;以及第一媒体应用客户端根据所述媒体信息播放所述媒体信息对应的媒体内容。

本申请的实例还提出了一种媒体应用客户端,包括:

发送模块,响应于请求其他用户终端媒体信息的操作,发送媒体信息请求消息,请求获取第二媒体应用客户端正在播放的媒体内容的媒体信息;

接收模块,用于接收所述媒体信息;以及

播放模块,用于根据所述媒体信息播放所述媒体信息对应的媒体内容。

本申请实例还提供了一种存储介质,存储有可读指令,可以使至少一个处理器执行上述媒体内容同步播放方法。

通过以上技术方案可以看出,一方面可以实现在同一网络中不同媒体应永客户端的同步媒体播放,使得相同或者不同用户可以通过不同的终端观看同一个媒体内容,甚至还可以保持不同终端的播放进度一致。另一方面,通过上述同步媒体内容的方法可以避免用户在不同终端设备上播放同一媒体内容时所执行的搜索媒体内容以及调整播放进度等各种操作,既避免了重复播放,又减少了用户终端与服务器之间的信息交互以及不必要的媒体内容下载,在提高终端设备的效率同时也节约了时间、网络资源和电力资源。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请一实例的系统结构示意图;

图1a为本申请另一实例的系统结构示意图;

图2为本申请实施例所述的媒体内容同步方法的流程图;

图3为本申请一实施例所述的媒体内容同步方法的流程图;

图3a为本申请一实施例所述的媒体应用客户端在获得媒体信息后的处理方法流程图;

图3b为本申请另一实施例所述的媒体应用客户端在获得媒体信息后的处理方法流程图;

图4为本申请一实施例所述的用户终端的媒体应用客户端展示媒体内容列表的示例;

图5为本申请另一实施例所述的媒体内容同步方法的示例;

图6为本申请又一实施例所述的媒体内容同步方法的流程图;

图6a为本申请一实施例的媒体应用客户端在获得媒体信息后的处理方法流程图;

图6b为本申请另一实施例的媒体应用客户端在获得媒体信息后的处理方法流程图;

图7为本申请又一实施例所述的媒体内容同步方法的流程图;

图8为本申请一实施例的媒体应用客户端的结构示意图;

图9为本申请一实施例的媒体应用客户端的结构示意图;

图10为本申请一实施例的媒体应用服务器的结构示意图;以及

图11为本申请一实施例的媒体应用客户端或媒体应用服务器的硬件结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了描述上的简洁和直观,下文通过描述若干代表性的实施例来对本发明的方案进行阐述。实施例中大量的细节仅用于帮助理解本发明的方案。但是很明显,本发明的技术方案实现时可以不局限于这些细节。为了避免不必要地模糊了本发明的方案,一些实施方式没有进行细致地描述,而是仅给出了框架。下文中,“包括”是指“包括但不限于”,“根据……”是指“至少根据……,但不限于仅根据……”。下文中没有特别指出一个成分的数量时,意味着该成分可以是一个也可以是多个,或可理解为至少一个。

如前所述,在互联网飞速发展的过程中,目前出现了多个用户希望可以分别在不同地点使用不同终端同时观看同一个视频的需求以及同一个用户在观看一个视频的过程中想变换地点或者变换终端设备继续观看的需求。这就需要实现同一个媒体内容在不同终端设备之间的共享及同步。现有的媒体同步播放的方法基本上有两种,一种方法是多个用户分别打开媒体播放客户端,找到相同媒体,再分别进行观看;另外一种方法是在有观看历史的用户终端上用同一账号登录,通过之前保存的观看历史实现播放同步。但是以上这两种方案不能自动获取并展示其他用户正在播放的媒体内容而且操作繁琐,用户体验不佳。

为了解决上述问题,本申请的实例提出了一种媒体内容同步播放方法,该方法应用于用户终端的媒体应用客户端,用于实现在网络中,不同媒体应用客户端之间媒体内容的同步播放。例如,当局域网内任一台用户终端上的媒体应用客户端正在播放某一媒体内容时,该局域网内其它用户终端在启动媒体应用客户端时可以自动获取上述媒体应用客户端正在播放的媒体内容,甚至播放进度,并且可以直接选择观看对方正在观看的媒体内容。同时,网络中每个用户终端上媒体应用客户端的播放又各自独立,每个用户的播放进度自由,可以各自快进快退,互不干扰。

图1显示了本申请一些实例所述的媒体同步播放方法所适用的系统结构示意图。如图1所示,本申请的系统至少包括:两个以上用户终端11、网络12和应用服务器13。

在本申请的一些实例中,上述用户终端11可以是智能手机、pad、个人计算机、智能电视和平板电脑等智能终端设备。该用户终端11上包含有显示装置,比如显示器或触摸屏等。一般情况下,在用户终端11上可以安装各种应用客户端,比如,可以播放媒体内容的媒体应用客户端,例如腾讯视频、云视听极光等应用客户端。

在本申请的一些实例中,上述网络12可以是指互联网,上述两个以上的用户终端11可以分别接入互联网并通过互联网分别连接到应用服务器13,分别与其进行通信。

在本申请的一些实例中,上述网络12还可以是指局域网。上述两个以上的用户终端11以及应用服务器13可以一起构建成一个局域网,并通过局域网实现彼此之间的相互通信,例如通过集线器连接到一起。应用服务器13也连接至该局域网。具体的通信协议可以选择局域网(lan)的ieee802.3协议,wlan的ieee802.11协议以及wi-fi协议等等。此时,上述两个以上的用户终端11之间以及用户终端11和应用服务器13之间可以通过该局域网实现相互通信。此外,上述两个以上的用户终端11之间以及用户终端11和应用服务器13之间还可以通过tcp/ip协议实现不同设备之间的相互发现以及相互通信。

在本申请的一些实例中,上述网络12还可以是包括局域网、路由设备14以及互联网15的网络。其具体的网络结构可以如图1a所示,具体而言,上述局域网可以是有线局域网络或无线局域网络。上述两个以上的用户终端11可以和路由设备14一起构建成一个局域网,通过局域网实现彼此之间的相互通信,具体的通信协议可以选择例如局域网(lan)的ieee802.3协议,wlan的ieee802.11协议以及wi-fi协议等等。此外,上述两个以上的用户终端11还可以通过路由设备14连接至互联网15,从而实现与同样连接到互联网14的应用服务器13的通信。

应用服务器13为与用户终端11上安装的应用客户端对应的应用服务器,例如,可以是媒体应用服务器等等。应用服务器13中的应用服务器软件与用户终端11中的应用客户端软件一起为用户提供服务,例如,播放视频文件等。上述应用服务器13可以是单独的服务器也可以是多个服务器组成的集群服务器。上述应用服务器13可以是局域网内部的服务器也可以是互联网上的公共服务器。当应用服务器13为局域网内部的服务器时,网络12内部的用户终端11可以通过网络12直接连接到应用服务器13。而当应用服务器13为互联网上的公共服务器时,网络12内部的用户终端11将通过网络12链接到网络12中的路由设备,再通过路由设备连接到互联网上的应用服务器13。需要说明的是,本申请的实例对用户终端11和应用服务器13之间的连接方式并不作限定。也即,在本申请的实例中,上述应用服务器13可以是局域网内部的服务器也可以是互联网上的公共服务器,上述用户终端11可以是同一个局域网下的不同用户终端也可以是分别连接至互联网的不同用户终端,这些网络设置并不影响本申请实施方式的应用。

在此前提下,基于上述图1所示的系统结构,本申请的实例提供了一种媒体内容同步方法,该方法可应用于用户终端11上的媒体应用客户端,可以实现两个以上媒体应用客户端之间的媒体内容同步播放。如前所述,本申请的实例适用于通过网络连接的多个用户终端,例如,在家里家人一起观看智能电视播放的某个节目时,如果其中某一人或多人想分别回到自己房间通过其他用户终端继续观看该节目时就可以应用该述方法。又例如,一个用户可以应用该方法同步观看其他用户或者该用户在其他终端设备上观看的节目。

这里,不失一般性的假设,称媒体内容同步的请求方为第一媒体应用客户端,被请求方为第二媒体应用客户端。

图2示出了本申请实例提供的媒体内容同步播放方法的流程图。该方法由用户终端11上的第一媒体应用客户端执行,如图2所示,包括以下步骤:

步骤201:发送媒体信息请求消息,请求获取第二媒体应用客户端正在播放的媒体内容的媒体信息;

步骤202:接收第二媒体应用客户端正在播放的媒体内容的媒体信息;以及

步骤203:根据所述媒体信息播放所述媒体信息对应的媒体内容。

由于在局域网或者互联网不同的网络环境下,第一媒体应用客户端的操作有所不同,下面将通过不同的实施例详细说明不同网络环境下的处理方法。

图3示出了本申请一个实例提供的媒体内容同步播放方法的流程图。该方法由用户终端11上的媒体应用客户端执行,如图3所示,包括以下步骤:

步骤301:向一个或者多个第二媒体应用客户端发送媒体信息请求消息,请求其反馈正在播放的媒体内容的媒体信息。

在本申请的一个实施例中,上述步骤301可以在多种条件下被触发执行。例如,可以在第一媒体应用客户端所在的终端被启动时,例如开机时,执行上述步骤301。也可以在启动运行第一媒体应用客户端时,例如,用户点击媒体应用客户端图标或者选项来启动运行该媒体应用客户端时,执行上述步骤301。当某个用户启动运行一个用户终端上的媒体应用客户端时,该用户终端将自身作为一个节点接入网络,也即连接到网络中。需要说明的是,上述网络可以是局域网。此时,上述媒体信息请求可以是一个广播消息,也即该被启动的媒体应用客户端可以通过广播的方式发送一个媒体信息请求至局域网内的所有其他第二媒体应用客户端。

在本申请的另一个实施例中,还可以在选择请求其他媒体应用客户端媒体信息时执行上述步骤301。例如,可以在媒体应用客户端的界面或者菜单中设置“查看局域网内正在播放的媒体内容”功能选项,当用户点击该“查看局域网内正在播放的媒体内容”的功能选项时,媒体应用客户端可以通过广播的方式发送一个媒体信息请求至局域网内的所有其他节点。

在本申请的又一个实施例中,还可以在选择同步至其他媒体应用客户端媒体播放时执行上述步骤301。例如,可以在媒体应用客户端的界面或者菜单中设置“同步至局域网内其他用户正在播放的媒体内容”功能选项,当用户点击该“同步至其他用户正在播放的媒体内容”的功能选项时,媒体应用客户端可以通过广播的方式发送一个媒体信息请求至局域网内的所有其他节点。此外,由于局域内的各个节点可以通过通信协议发现其他节点的存在并获取其他节点的标识,因此,还可以在设置“同步至局域网内其他用户正在播放的媒体内容”功能选项的基础之上进一步设置包含局域网内所有其他节点标识的菜单选项,供用户选择媒体内容同步的目标用户。如此,媒体信息请求中还可以携带被同步的第二媒体应用客户端所对应用户的用户标识。这样,除了上述广播方式之外,媒体应用客户端还可以直接发媒体信息请求至用户选择的目标第二媒体应用客户端,请其反馈媒体信息。

此外,由于在局域网络中没有中心节点,各个节点没有主次之分,因此,每个节点都可以请求其他节点上播放的媒体信息,同时也可以接收其他节点的请求并反馈自身播放的媒体信息。其中,在该局域网络中,各个节点以用户终端设备的设备标识比如mac地址、设备名称等,来区分不同的节点。在接入局域网络后,该用户终端上的媒体应用客户端可以确知已经接入同一局域网络内的其他节点,也即可以获取该局域网络内其他用户终端设备的设备标识。具体而言,媒体应用客户端可以通过局域网络协议,例如tcp/ip、ipx/spx、wapi等等,获取该局域网络内其他用户终端设备的设备标识。

在一些实例中,上述媒体信息可以包括:媒体内容的标识。上述媒体内容的标识是指可以唯一确定媒体内容的标识。一般情况下,媒体应用客户端可以根据媒体内容的标识向服务器发送查询请求以获取与该媒体内容标识对应的媒体内容的地址以及播放总时长等其他信息,因此,通过媒体内容的标识媒体应用客户端可以得到媒体内容的地址,例如媒体内容的url。另外,上述媒体信息可以直接包括:媒体内容的地址。在本申请的实施例中,上述媒体信息还可以包括媒体内容的播放进度信息,例如已播放的时长或者已播放的比例。在本申请的实施例中,上述媒体信息还可以包括媒体内容的播放设置信息,例如全屏幕设置、弹幕设置或者播放倍速设置等。

在一些实例中,上述用户终端上的媒体应用客户端可以利用网络协议向上述网络中的其他用户终端请求正在播放的媒体内容的媒体信息。

更进一步的,还可以设定一个超时时间,比如5秒,作为接到与上述请求对应的响应的时间阈值。

这里,上述媒体信息请求可以是一个全新的报文或者利用现有报文中预先保留的字段实现,该字段里可以配置一个预先约定的字符串,比如“abc”。当一个用户终端收上的媒体应用客户端接收到另一个媒体应用客户端发送的上述新报文或者检测到某个报文中的保留字段被占用时,即可确知一个媒体应用客户端正在请求自身正在播放的媒体内容的媒体信息。此外,除了上述广播方式之外,上述媒体信息请求还可以是逐一发送给网络内各个用户终端的单播报文。需要说明的是,本申请对媒体信息请求的格式以及具体实现方式不作限定。

此时,收到请求的媒体应用客户端首先判断自身的播放状态,如果自身处于空闲状态,则不回复;如果自身正在播放某一媒体内容,则把当前正在播放的媒体内容的媒体信息反馈给发送请求的媒体应用客户端。

此外,用户也可以通过功能设置选择“屏蔽”或者“关闭”他人读取自身的媒体信息的功能。此时,媒体应用客户端在收到来自其他媒体应用客户端的媒体信息请求时将不会回复该请求。

步骤302:接收一个或多个第二媒体应用客户端反馈的媒体信息。

在本申请的实例中,如果设置了上述超时时间,则在发送媒体信息请求的同时启动一个计时器,并且在上述计时器计时到上述超时时间时,停止计时,在此期间,如果没有接收到媒体信息,则可以结束本流程或者提示用户是否再次发送媒体信息请求。如果用户选择再次发送媒体信息请求,则可以返回上述步骤301继续执行。如果在上述计时器超时之前,接收到一个或多个媒体应用客户端反馈的媒体信息,则可以继续执行后续步骤。

这里,上述媒体信息可以按照预先约定的格式发送,具体的,预先约定格式可以为媒体内容的标识、地址、播放总时长以及播放进度。比如,一项媒体内容可以为楚乔传01https://v.qq.com/x/page/f0391428sgt.html5015。当用户终端11的媒体应用客户端接收到上面例子中按照约定格式发送的媒体信息时,首先通过解析到“楚乔传01”获得媒体内容的标识、然后再通过解析得到https://v.qq.com/x/page/f0391428sgt.html为媒体内容的url、“50”为播放总时长(媒体内容总时长50分钟)、“15”为播放进度(已播放15分钟)。在一些实例中,如果媒体应用客户端没有接收到媒体信息,也即没有接收到上述网络中任何一个节点的响应,则说明当前网络中没有能够同步播放的媒体内容。

在收到一个或多个媒体应用客户端反馈的媒体信息之后,第一媒体应用客户端可以有多种的处理方式来播放所接收媒体信息对应的媒体内容。下面将分情况进行详细说明。

图3a显示了根据本申请的一个实施例的第一媒体应用客户端在获取了媒体信息之后的处理过程。如图3a所示,第一媒体应用客户端在获取了媒体信息之后可以执行如下步骤的操作。

步骤303a:显示接收到的所述一个或多个第二媒体应用客户端反馈的媒体信息。

在本申请的一些实施例中,上述显示媒体信息的步骤可以包括:将接收到的所述一个或多个第二媒体应用客户端反馈的媒体信息加入一个媒体列表中,并在当前界面上显示所述媒体列表。

在一些实例中,媒体应用客户端将接收到的媒体信息,比如媒体内容的标识,例如海报、播放时长、播放进度和地址加入到媒体列表中,并通过自身的显示设备显示该媒体列表以供用户根据自己喜欢选择。需要说明的是,显示媒体列表时可以只显示上述媒体信息中的部分内容,例如只显示媒体内容的标识,例如海报,或者只显示媒体内容的标识和播放进度,而对于媒体内容的地址可以显示也可以不显示。

例如,图4为用户终端11的媒体应用客户端显示媒体列表的示例。如图4所示,媒体应用客户端界面的左侧为媒体内容播放窗口401,右侧分别为当前正在播放的媒体内容的剧集列表403,其他用户正在播放的媒体内容列表402以及当前比较热门媒体内容排行榜404。其中,媒体内容列表402内显示了网络内其他用户终端当前正在播放的媒体内容的标识和/或其他信息,例如,媒体内容的名称或海报等等。

步骤304a:接收对所显示某一媒体信息的选择操作。

步骤305a:根据所选择的媒体信息向媒体应用服务器请求该媒体信息对应的媒体内容。

步骤306a:下载并播放所述媒体内容。

在一些实例中,响应于用户对所显示的某一项媒体信息的选择,例如对所述媒体列表中某一项媒体信息的选择,媒体应用客户端将所选择的媒体信息中的地址配置到自身的媒体播放器中,根据所述地址向媒体应用服务器请求下载该媒体内容。

图3b显示了根据本申请的另一个实施例的第一媒体应用客户端在获取了媒体信息之后的处理过程。如图3b所示,第一媒体应用客户端在获取了媒体信息之后的处理过程可以包括如下步骤。

步骤303b:根据接收到的所述一个或多个第二媒体应用客户端反馈的媒体信息向媒体应用服务器请求一项媒体信息对应的媒体内容。

步骤304b:下载并播放所述媒体内容。

具体而言,第一媒体应用客户端可以将所接收的媒体信息中的地址配置到自身的媒体播放器中,根据所述地址向媒体应用服务器请求下载该媒体内容,并播放。

如果第一媒体应用客户端接收到的媒体信息是来自多个第二媒体应用客户端的,第一媒体应用客户端可以从中选择一个媒体信息,然后,向媒体应用服务器请求所述媒体信息对应的媒体内容并播放所述媒体内容。具体的选择方法可以是随机选择、根据用户预先设定的默认用户选择或者根据用户预先设定的第二媒体应用客户端的优先级来选择,优先播放优先级高的媒体应用客户端正在播放的媒体内容。此外,如果第一媒体应用客户端接收到的媒体信息是来自多个第二媒体应用客户端的,第一媒体应用客户端还可以显示这些媒体信息,即将来自这多个第二媒体应用客户端的媒体信息呈现给用户,请用户选择其希望播放的媒体内容。具体的显示以及选择方法可以参考图3a所示的方法。在此不再赘述。

在上述多个实施例中,第一媒体应用客户端从头播放媒体内容或者可以进一步根据该媒体信息中的地址以及播放进度,向媒体应用服务器请求下载该媒体内容未被但是即将被播放的部分,并播放,也即接续媒体信息中记录的播放进度继续播放该媒体内容。

此外,如果媒体信息还包括媒体内容的播放设置信息,则第一媒体应用客户端还可以根据上述播放设置信息进行播放的设置。例如,播放设置信息包括全屏播放以及1.5倍播放则第一媒体应用客户端可以直接全屏以及以1.5倍速播放当前媒体内容。

需要说明的是,在上述媒体内容的播放过程中,用户可以通过媒体应用客户端界面上的播放控制按键控制该媒体内容的播放,例如,暂停、快进、快退或通过拖动播放进度条来独立调整播放进度等等。

更进一步的,当所述媒体内容播放结束时,可以继续提示用户是否再次请求其他媒体应用客户端的媒体信息,此时,响应于请求其他媒体应用客户端的媒体信息的操作,则返回上述步骤301;而响应于不请求其他媒体应用客户端的媒体信息的操作,则结束上述进程。

更进一步的,当用户终端11作为一个节点进入到上述网络时,用户终端11在向上述网络中的其他节点发送媒体信息请求的同时,也可以作为一个节点,接收其他节点发送的媒体信息请求。其中,接收媒体信息请求的进程和发送媒体信息请求的进程是同时异步的。

图5为用户终端11作为接收节点第二媒体应用客户端时实现媒体内容同步播放方法的流程。

需要说明的是,在本申请的实例中,为了保护用户的隐私,用户可以根据自身的需要选择是否向其他媒体应用客户端反馈当前正在观看的媒体内容的媒体信息,例如,可以在上述媒体应用客户端的设置选择中提供一个是否共享播放媒体内容的选项,用户可以通过这个选项设置是否向其他媒体应用客户端共享自身正在播放的媒体内容的媒体信息,从而由用户根据自身的需求来控制是否在接收到来自其他媒体应用客户端的媒体信息请求时反馈自身正在播放的媒体内容的媒体信息。只有当用户选择共享自身正在播放的媒体内容的媒体信息时,媒体应用客户端才会响应来自其他媒体应用客户端的媒体信息请求。下面的例子,就是基于用户选择共享自身正在播放的媒体内容的媒体信息这种设置的情况。如图5所示,该方法可以包括以下步骤:

步骤501:接收来自第一媒体应用客户端的媒体信息请求。

在本申请的实例中,当用户终端11上的媒体应用客户端启动并作为一个节点进入到网络时,除了可以请求正在其他媒体应用客户端上播放的媒体内容的媒体信息之外,还可以接收来自其他媒体应用客户端的媒体信息请求。

如前所述,上述媒体信息请求可以是一个全新的报文或者利用现有报文中预先保留的字段(简称为媒体信息字段)实现。当媒体应用客户端收到的接收到另一个媒体应用客户端发送的上述新报文或者检测到某个报文中的媒体信息字段被占用时,即可确知该报文为媒体信息请求,也即该媒体应用客户端正在请求自身正在播放的媒体内容的媒体信息。

步骤502:确定当前是否有媒体内容正在播放,如果有媒体内容正在播放,执行步骤503;如果没有,则结束本流程。

步骤503:将所述媒体的媒体信息反馈给第一媒体应用客户端。

在一些实例中,第二媒体应用客户端确定当前正在播放媒体内容时,将上述媒体内容的媒体信息反馈给第一媒体应用客户端。如前所述,上述媒体信息可以包括:媒体内容的标识(例如海报)、地址、播放时长以及播放进度等信息。

在本申请的一些实例中,上述方法可以包括:为用户提供接口设置是否分享自身的媒体信息,以及响应于媒体内容分享设置操作,进行媒体内容分享设置。

需要说明的是,作为上述方法的替代方案,可以不要求用户预先进行是否分享媒体信息的设置,或者在用户选择分享媒体信息的基础之上进一步在执行上述步骤503之前,还可以再次提示用户当前有其他媒体应用客户端(例如可以显示设备标识)请求自身当前正在播放的媒体内容的媒体信息,请其选择是否同意分享自身的媒体信息,例如,弹出对话框提示用户“设备**想知道你在看什么精彩的节目,是否告诉他”。在用户选择同意分享自身的媒体信息时,则继续执行步骤503,否则,结束本流程。

通过以上技术方案可以看出,上述媒体内容同步播放方法一方面可以实现在同一网络(例如同一局域网络)中不同媒体应用客户端的同步媒体播放,使得用户可以通过不同的媒体应用客户端观看同一个媒体内容,甚至还可以进一步保持不同媒体应用客户端的播放进度一致。更进一步,各个媒体应用客户端仍然具有相互独立播放控制权限,也即在媒体内容的播放过程中,仍然可以控制媒体内容的播放进度,方便用户的操作,提高了用户体验。另一方面,通过上述自动同步媒体内容播放的方法可以避免用户在不同媒体应用客户端上播放同一媒体内容时,搜索媒体内容以及调整播放进度的各种操作,既避免了重复播放,又减少了用户终端与服务器之间的交互,在提高终端设备的效率同时也节约了时间、网络和电力资源。

需要说明的是,上述实施例是以局域网等用户终端11之间可以直接通信的网络结构为例进行说明的,为了能够实现在当前的互联网上的媒体内容同步播放,本申请还提供了一种媒体内容同步方法,分别应用于媒体应用客户端和媒体应用服务器。在该方法中,媒体内容同步的请求方(请求媒体内容同步到其他媒体应用客户端的媒体应用客户端)和被请求方(被请求媒体内容同步的媒体应用客户端)是具有关联关系的。这种关联关系可以是具有相同用户标识(id)的不同媒体应用客户端或者之间已建立联系的具有不同用户id的不同媒体应用客户端,例如是相互关注或者互为好友的两个用户id对应的媒体应用客户端或者具有单向关注关系的两个用户id对应的媒体应用客户端。这里,不是一般性的假设,称媒体内容同步的请求方为第一媒体应用客户端,被请求方为第二媒体应用客户端。

图6是本申请一个实施例所述的一种媒体内容同步方法的流程图。该方法应用于第一媒体应用客户端。如图6所示,该方法包括以下步骤:

步骤601:向媒体应用服务器发送媒体信息请求,请求其反馈第二媒体应用客户端正在播放的媒体内容的媒体信息。

在本申请的一个实施例中,可以在启动第一媒体应用客户端所在的终端时,或在启动运行第一媒体应用客户端时执行上述步骤601,例如,用户点击媒体应用客户端图标或者选项来启动运行该媒体应用客户端的操作。当某个用户启动运行一个用户终端上的媒体应用客户端时,该用户终端将自身作为一个节点接入网络,也即连接到网络中。此时,该媒体应用客户端可以向媒体应用服务器发送媒体信息请求,请求其反馈其他与自身具有关联关系的媒体应用客户端正在播放的媒体内容的媒体信息。在本申请的一些实施例中,上述媒体信息请求可以不携带媒体内容同步的被请求方的用户标识。在本申请的一些实例中,上述媒体信息请求也可以携带媒体内容同步的被请求方的用户标识,例如可以携带自身登录媒体应用服务器的用户标识或者自身设置的默认的用户标识。

在本申请的另一个实施例中,还可以在选择请求其他媒体应用客户端媒体信息时执行上述步骤601,例如,可以在媒体应用客户端的界面或者菜单中设置“查看其他用户正在播放的媒体内容”功能选项,当用户点击该“查看局域网内正在播放的媒体内容”的功能选项时,媒体应用客户端可以向媒体应用服务器发送媒体信息请求,请求其反馈其他与自身具有关联关系的媒体应用客户端正在播放的媒体内容的媒体信息。此外,媒体应用客户端还可以给出和该用户具有关联关系的用户标识列表供用户选择,或者给出用户输入用户表示的对话框,请用户输入第二媒体应用客户端对应的用户标识。如此,上述媒体信息请求中可携带用户选择或者输入的用户标识。

在本申请的又一个实施例中,还可以在选择同步至其他媒体应用客户端媒体播放时执行上述步骤601。例如,可以在媒体应用客户端的界面或者菜单中设置“同步至其他用户正在播放的媒体内容”功能选项,当用户点击该“查看局域网内正在播放的媒体内容”的功能选项时,媒体应用客户端可以向媒体应用服务器发送媒体信息请求,请求其反馈其他与自身具有关联关系的媒体应用客户端正在播放的媒体内容的媒体信息。此外,该媒体应用客户端还可以进一步显示包含与该用户具有关联关系的其他用户的用户标识的菜单选项,供用户选择媒体内容同步的目标用户。如此,媒体信息请求中即可以携带用户选择的第二媒体应用客户端对应的用户标识。

如前所述,上述媒体信息可以包括:媒体内容的标识。上述媒体信息还可以包括:媒体内容的地址以及播放总时长。上述媒体信息还可以包括:播放进度信息。上述媒体信息还可以包括:播放设置信息。

在一些实例中,上述用户终端上的媒体应用客户端可以利用网络协议向上述网络中的其他用户终端请求正在播放的媒体内容的媒体信息。

更进一步的,还可以设定一个超时时间,比如5秒,作为接到与上述请求对应的响应的时间阈值。

这里,上述媒体信息请求可以是一个全新的报文或者利用现有报文中预先保留的字段实现,该字段里可以配置一个预先约定的字符串,比如“abc”。当一个用户终端收上的媒体应用客户端接收到另一个媒体应用客户端发送的上述新报文或者检测到某个报文中的保留字段被占用时,即可确知一个媒体应用客户端正在请求自身正在播放的媒体内容的媒体信息。此外,除了上述广播方式之外,上述媒体信息请求还可以是逐一发送给网络内各个用户终端的单播报文。需要说明的是,本申请对媒体信息请求的格式以及具体实现方式不作限定。

此时,收到请求的媒体应用服务器获权第二媒体应用客户端的播放状态,如果其正在播放某一媒体内容,则把第二媒体应用客户端当前正在播放的媒体内容的媒体信息反馈给发送请求的第一媒体应用客户端。如果其处于空闲状态,则可以不回复或者回复一个未获取到响应数据的响应。

在本申请一些实例中,上述媒体信息请求还可以包括第一终端的设备标识以及对应的用户标识。上述设备标识可以是第一终端的全球唯一标识(globallyuniqueidentifier,guid)或者其他可以唯一标识设备本身的标识。例如,国际移动用户识别码(imsi);国际移动设备识别码(imei);电子序列号(esn)或移动设备标识(meid)等等。

步骤602:接收所述媒体应用服务器反馈的一个或多个媒体应用客户端正在播放的媒体信息。

在本申请的实例中,如果设置了上述超时时间,则在发送媒体信息请求的同时启动一个计时器,并且在上述计时器计时到上述超时时间时,停止计时,在此期间,如果没有接收到媒体信息,则可以结束本流程或者提示用户是否再次发送媒体信息请求。如果用户选择再次发送媒体信息请求,则可以返回上述步骤601继续执行。如果在上述计时器超时之前,接收到媒体应用服务器反馈的媒体信息,则可以继续执行后续步骤。

这里,上述媒体信息可以按照预先约定的格式发送,具体的,预先约定格式可以为媒体内容的标识、地址、播放时长以及播放进度。

在收到一个或多个媒体应用客户端反馈的媒体信息之后,也可以有多种对媒体信息的处理方式。图6a显示了根据本申请的一个实施例的第一媒体应用客户端在获取了媒体信息之后的处理过程。如图6a所示,第一媒体应用客户端在获取了媒体信息之后可以执行如下步骤的操作。

步骤603a:显示接收到媒体应用服务器反馈的所述一个或多个第二媒体应用客户端的媒体信息。

在本申请的一些实施例中,上述显示媒体信息的步骤可以包括:将接收到的所述一个或多个第二媒体应用客户端的媒体信息加入一个媒体列表中,并在当前界面上显示所述媒体列表。

在一些实例中,媒体应用客户端将接收到的媒体信息,比如媒体内容的标识,例如海报、播放时长、播放进度和地址加入到媒体列表中,并通过自身的显示设备显示该媒体列表以供用户根据自己喜欢选择。需要说明的是,显示媒体列表时可以只显示上述媒体信息中的部分内容,例如只显示媒体内容的标识,例如海报,或者只显示媒体内容的标识和播放进度和/或播放时长,而对于媒体内容的地址可以显示也可以不显示。第一媒体应用客户端显示媒体列表的示例也可以参考上述图4。

步骤604a:接收对所显示某一媒体信息的选择操作。

步骤605a:根据所选择的媒体信息向媒体应用服务器请求该媒体信息对应的媒体内容。

步骤606a:下载并播放所述媒体内容。

根据本申请的另一个实施例的第一媒体应用客户端在获取了媒体信息之后的处理过程可以包括如下步骤。

步骤603b:根据接收到的所述一个或多个第二媒体应用客户端的媒体信息向媒体应用服务器请求所述媒体信息对应的媒体内容;

步骤604b:下载并播放所述媒体内容。

具体而言,第一媒体应用客户端可以将所接收的媒体信息中的地址配置到自身的媒体播放器中,根据所述地址向媒体应用服务器请求下载该媒体内容,并播放。

图7是本申请一个实施例所述的一种媒体内容同步方法的流程图。该方法应用于媒体应用服务器。如图7所示,该方法包括以下步骤:

步骤701:接收来自第一媒体应用客户端的媒体信息请求。

在本申请的一些实施例中,上述媒体信息请求中可以包含媒体内容同步的被请求方,也即第二媒体应用客户端,所对应的用户标识。

在本申请的一些实施例中,上述媒体信息请求中还应当包含媒体内容同步的请求方,也即第一媒体应用客户端,所对应的用户标识以及设备标识。

步骤702:根据所接收媒体信息请求,获取被第二媒体应用客户端当前正在播放的媒体内容的媒体信息。

如果上述媒体信息请求中没有携带第二媒体应用客户端所对应的用户标识,则根据上述媒体信息请求中携带的第一媒体应用客户端所对应的用户标识获取与之具有关联关系的第二媒体应用客户端所对应的用户标识,然后根据第二媒体应用客户端所对应的用户标识获取第二媒体应用客户端当前正在播放的媒体内容的媒体信息。

如果上述媒体信息请求中携带有第二媒体应用客户端所对应的用户标识,则根据上述媒体信息请求中携带的第二媒体应用客户端所对应的用户标识获取第二媒体应用客户端当前正在播放的媒体内容的媒体信息。

由于通常用户在通过第二媒体应用客户端在收看节目之前,都会使用特定的用户标识登录媒体内容服务器,因此,媒体应用服务器可以根据用户标识获取第二媒体应用客户端正在播放的媒体应用的媒体信息。

步骤703:向第一媒体应用客户端反馈所获取的媒体信息。

在一些实例中,如前所述,上述媒体信息可以包括:媒体内容的标识(例如海报)、地址、播放时长以及播放进度等信息。

通过以上技术方案可以看出,上述媒体内容同步播放方法一方面可以实现在同一网络(例如互联网)中不同媒体应用客户端的同步媒体播放,使得不同用户可以观看同一个媒体内容,甚至还可以进一步保持不同媒体应用客户端的播放进度一致。更进一步,各个媒体应用客户端仍然具有相互独立播放控制权限,也即在媒体内容的播放过程中,仍然可以控制媒体内容的播放进度,方便用户的操作,提高了用户体验。另一方面,通过上述自动同步媒体内容播放的方法可以避免不同用户在不同媒体应用客户端上播放同一媒体内容时,搜索媒体内容以及调整播放进度的各种操作,既避免了重复播放,又减少了用户终端与服务器之间的交互,在提高终端设备的效率同时也节约了时间、网络和电力资源。

对应以上媒体内容同步播放方法,本申请还提供了实现上述方法的媒体应用客户端800。

在本申请的一些实例中,上述实现媒体内容同步播放方法的媒体应用客户端800可由图7所示的结构图实现,包括:发送模块801以及接收模块802,各模块的功能如下:

发送模块801,用于发送媒体信息请求,以请求获取第二媒体应用客户端正在播放的媒体内容的媒体信息;

接收模块802,用于接收媒体信息;

播放模块803,用于根据所述媒体信息播放所述媒体信息对应的媒体内容。

在本申请的一些实施例中,上述媒体应用客户端800还可以进一步包括:

显示模块,用于显示所述一个或多个媒体应用客户端的媒体信息。

在本申请的一些实施例中,上述媒体应用客户端800还可以进一步包括:

媒体内容请求模块,用于响应于对所显示某一媒体信息的选择操作,根据所选择的媒体信息向媒体应用服务器请求该媒体信息对应的媒体内容;以及

第一下载模块,用于下载所述媒体内容。

在本申请的一些实施例中,上述媒体应用客户端800还可以进一步包括:

第二下载模块,用于根据接收到的所述媒体信息中的一项媒体信息向媒体应用服务器请求所述媒体信息对应的媒体内容并下载所述媒体内容。

上述各模块的具体实现方法可以参考上述实施例。

更进一步,对应以上媒体内容同步播放方法,本申请还提供了实现上述方法的媒体应用客户端900。

第一接收模块901,用于接收来自第一媒体应用客户端的媒体信息请求。

第一确定模块902,用于确定当前是否有媒体内容正在播放,如果有媒体内容正在播放,则获取当前正在播放的媒体内容的媒体信息。

第一反馈模块903,用于将所述媒体的媒体信息反馈给第一的媒体应用客户端。

上述媒体应用客户端900还可以进一步包括:设置模块,用于为用户提供接口设置是否分享自身的媒体信息,并响应于媒体内容分享设置操作,进行媒体内容分享设置。

更进一步,对应以上媒体内容同步播放方法,本申请还提供了实现上述方法的媒体应用服务器1000。

第二接收模块1001,用于接收来自第一媒体应用客户端的媒体信息请求。

第二确定模块1002,用于根据媒体信息请求获取第二媒体应用客户端当前正在播放的媒体内容的媒体信息。

第二反馈模块1003,用于将获取的媒体信息反馈给第一的媒体应用客户端。

在本申请的一些实施例中,上述应用服务器还可以进一步包括:判断模块,用于判断所述媒体信息请求中是否包括所述第二媒体应用客户端对应的用户标识。

在这种情况下,所述第二确定模块在所述媒体信息请求中包括所述第二媒体应用客户端对应的用户标识时,获取所述用户标识对应的第二媒体应用客户端当前正在播放的媒体内容的媒体信息;以及在所述媒体信息请求中不包括所述第二媒体应用客户端对应的用户标识时,获取与所述第一媒体应用客户端具有关联关系的第二媒体应用客户端当前正在播放的媒体内容的媒体信息。

图11示出了实现媒体内容同步播放方法的用户终端1100所在的计算设备1100的组成结构图。如图11所示,该计算设备包括一个或者多个处理器(cpu)1102、通信模块1104、存储器1106、用户接口1110,以及用于互联这些组件的通信总线1108。

处理器1102可通过通信模块1104接收和发送数据以实现网络通信和/或本地通信。

用户接口1110包括一个或多个输出设备1112,其包括一个或多个扬声器和/或一个或多个可视化显示器。用户接口1110也包括一个或多个输入设备1114,其包括诸如,键盘,鼠标,声音命令输入单元或扩音器,触屏显示器,触敏输入板,姿势捕获摄像机或其他输入按钮或控件等。

存储器1106可以是高速随机存取存储器,诸如dram、sram、ddrram、或其他随机存取固态存储设备;或者非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备,或其他非易失性固态存储设备。

存储器1106存储处理器1102可执行的指令集,包括:

操作系统1116,包括用于处理各种基本系统服务和用于执行硬件相关任务的程序;

应用1118,包括用于实现媒体内容同步播放方法各种应用程序,这种应用程序能够实现上述各实例中的处理流程,比如可以包括图8、9以及10所示的媒体内容同步播放方法的媒体应用客户端800、900以及媒体应用服务器1000中的部分或全部单元。各单元或模块中的至少一个模块可以存储有机器可执行指令。处理器1102通过执行存储器1106中各模块中至少一个模块中的机器可执行指令,进而能够实现上述各模块中的至少一个模块的功能。

需要说明的是,上述各流程和各结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。各模块的划分仅仅是为了便于描述采用的功能上的划分,实际实现时,一个模块可以分由多个模块实现,多个模块的功能也可以由同一个模块实现,这些模块可以位于同一个设备中,也可以位于不同的设备中。

各实施例中的硬件模块可以以硬件方式或硬件平台加软件的方式实现。上述软件包括机器可读指令,存储在非易失性存储介质中。因此,各实施例也可以体现为软件产品。

因此,本申请的一些实例还提供了一种计算机可读存储介质,其上存储有计算机指令,其中,所述计算机指令被处理器执行时实现上述图2-4中任一图所述方法的步骤。

各例中,硬件可以由专门的硬件或执行机器可读指令的硬件实现。例如,硬件可以为专门设计的永久性电路或逻辑器件(如专用处理器,如fpga或asic)用于完成特定的操作。硬件也可以包括由软件临时配置的可编程逻辑器件或电路(如包括通用处理器或其它可编程处理器)用于执行特定操作。

另外,本申请的每个实例可以通过由数据处理设备如计算机执行的数据处理程序来实现。显然,数据处理程序构成了本申请。此外,通常存储在一个存储介质中的数据处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的存储设备(如硬盘和或内存)中执行。因此,这样的存储介质也构成了本申请,本申请还提供了一种非易失性存储介质,其中存储有数据处理程序,这种数据处理程序可用于执行本申请上述方法实例中的任何一种实例。

图8、9以及10中的模块对应的机器可读指令可以使计算机上操作的操作系统等来完成这里描述的部分或者全部操作。非易失性计算机可读存储介质可以是插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器。安装在扩展板或者扩展单元上的cpu等可以根据指令执行部分和全部实际操作。

另外,在本申请各个实例中的装置及各模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上装置或模块集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

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