对内容进行同步操作的方法及装置与流程

文档序号:13968657阅读:342来源:国知局

本公开涉及信息技术领域,具体涉及一种对内容进行同步操作的方法及装置。



背景技术:

目前,各个终端想要获取内容时,需要通过网络连接到内容服务器,从而获取内容服务器提供的各种内容,或者通过终端之间的信息分享实现内容获取。获取内容过程中或获取内容之后往往涉及到同步操作的需求。

目前,若想实现终端之间(比如移动终端)的内容同步,通常的做法是将在线内容分享给其他终端,使得各终端均实现在线分享内容。但是这种在线分享内容的同步性是因同一个内容提供者实时提供在线内容,并没有真正实现将一个终端的内容同步给另一终端使得各终端进行同步操作,且各终端操作内容的时间不能做到严格一致。



技术实现要素:

针对以上问题,本公开提出了一种能够对内容进行同步操作的方法和装置。

根据本公开的第一方面,提供了一种对内容进行同步操作的方法,包括:

向一个或多个终端发送同步指令,所述同步指令用于指示所述一个或多个终端同时对待同步操作的内容执行操作。

其中,向一个或多个终端发送同步指令,包括:

主终端向一个或多个从终端发送同步指令。

其中,所述方法还包括:

所述主终端分别向一个或多个从终端发送待同步操作的内容。

其中,所述方法还包括:主终端确定所述待同步操作的内容。

其中,主终端确定所述待同步操作的内容包括:

主终端从远程实体接收内容,将当前接收到的内容中的部分或全部确定为所述待同步操作的内容;或

主终端将本地存储的内容中的部分或全部确定为所述待同步操作的内容。

其中,所述待同步操作的内容为流媒体内容;

所述主终端为流媒体终端,所述远程实体为流媒体终端或流媒体服务器。

其中,同时对待同步操作的内容执行操作包括:同时对发送给所述从终端的流媒体内容进行播放操作。

其中,在确定待同步操作的内容之前,该方法还包括:所述主终端接收一个或多个从终端发送的推选请求,所述推选请求用于指示所述主终端作为从远程实体接收待同步操作的内容的终端。

其中,在确定待同步操作的内容之前,该方法还包括:所述主终端接收一个或多个从终端发送的连接请求,所述连接请求用于指示主终端作为从远程实体接收待同步操作的内容的终端。

其中,在确定待同步操作的内容之前,该方法还包括:所述主终端接收所述远程实体发送的指示信息,所述指示信息用于指示所述主终端作为从远程实体接收待同步操作的内容的终端。

所述主终端分别向一个或多个从终端发送待同步操作的内容之前,还包括:确定所述一个或多个从终端为身份认证通过的终端。

还包括:确定转发映射表;

根据所述转发映射表中记录的从终端的标识信息,向从终端发送所述待同步操作的内容中的全部或部分内容。

其中,转发映射表是预先设置的或者是响应于从终端的请求而设置的。

还包括:所述主终端建立服务端口;

响应于从终端的内容获取请求,从所述服务端口向从终端发送所述待同步操作的内容。

还包括:

响应于从终端的同步请求触发同步指令;或者

向从终端发送同步帧或者同步标识符而触发同步指令。

本发明另一个方面提供一种对内容进行同步操作的方法,包括:

接收同步指令,所述同步指令用于指示同时执行对待同步操作的内容进行同步操作;

根据所述同步指令对待同步操作的内容进行同步操作。

其中,从终端接收主终端发送的待同步操作的内容;以及从终端接收来自主终端的所述同步指令。

其中,所述内容为流媒体内容;

所述主终端为流媒体终端。

其中,从终端向远程实体发送内容同步请求;以及接收所述远程实体返回的同步指示信息,所述同步指示信息用于指示所述从终端按照主终端的同步指令进行同步操作。

本发明提供一种用于对内容进行同步操作的装置,包括:

发送模块,用于向一个或多个终端发送同步指令,所述同步指令用于指示所述一个或多个终端同时对待同步操作的内容执行操作。

本发明提供另一种用于对内容进行同步操作的装置,包括:

接收模块,用于接收同步指令,所述同步指令用于指示同时执行对待同步操作的内容进行同步操作;

处理模块,用于根据所述同步指令对待同步操作的内容进行同步操作。

本发明公开了一种用于对内容进行同步操作的方法及装置,主终端或从终端向一个或多个终端发送同步指令,所述同步指令用于指示所述一个或多个终端同时对待同步操作的内容执行操作。根据本公开的实施例,可以使得接收到同步指令的各终端,如,移动终端,对待操作的内容进行同步操作,有效实现了同步时间一致。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本发明的一些实施例,而非对本发明的限制。

图1是一种流媒体传输系统的示意图。

图2是根据本公开的一实施例的一种对内容进行同步操作的方法的流程图。

图3是根据本公开的另一实施例的一种对内容进行同步操作的方法的流程图。

图4是根据本公开的又一实施例的一种对内容进行同步操作的方法的流程图。

图5是根据本公开的再一实施例的一种对内容进行同步操作的方法的流程图。

图6是根据本公开的又一实施例的一种对内容进行同步操作的方法的流程图。

图7是根据本公开的再一实施例的一种对内容进行同步操作的方法的流程图。

图8图示了根据本公开的实施例的一种对内容进行同步操作的方法的示意性流程。

图9是根据本公开的一实施例的一种对内容进行同步操作的装置的示意性框图。

图10是根据本公开另一实施例的一种对内容进行同步操作的装置的示意性框图。

图11图示了根据本公开的实施例的一对内容进行同步操作的方法的示意性流程。

图12是根据本公开的实施例的一种用于对内容进行同步操作的装置的示意图。

图13是根据本公开的实施例的一种对内容进行同步操作的装置的示意图。

具体实施方式

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

目前,各个终端通过网络连接到内容服务器,从而获取内容服务器提供的各种内容。

目前,若想实现终端之间(比如移动终端)之间的内容同步,通常的做法是将在线内容分享给其他终端,使得各终端均实现在线分享内容,但是这种在线分享内容的同步性是因同一个内容提供者实时提供在线内容,并没有实现将一个终端的内容同步给另一终端使得各终端进行同步操作。

针对上述问题,本发明提出一种解决方案,对内容进行同步操作的方法,包括:

某一终端向一个或多个其他终端发送同步指令,所述同步指令用于指示所述一个或多个其他终端同时对待同步操作的内容执行操作。

若所述某一终端也想进行同步操作,则所述某一终端和所述其他终端均执行所述同步指令,实现所有具备所述同步指令的终端可同时操作待同步操作的内容。

公开了一种用于对内容进行同步操作的方法,可以使得接收到同步指令的各终端,如,移动终端,对待操作的内容进行同步操作,有效实现了同步时间一致。

所述向一个或多个其他终端发送同步指令的某一终端可以是各终端中的主终端或从终端。

比如,若各终端均已经存储有待同步操作的内容,且已经选定其中一个终端为主终端,其他各终端为从终端,则,发送同步指令的某一终端可以是各终端中的主终端或从终端。

比如,手机a、b、c本地各存储有相同的音乐m(比如,下载地址、格式和容量等完全相同),手机a、b、c想要同步播放所述音乐,以使得在一个空间中的各手机播放音乐后整体音乐音量变得更高,则手机a、b、c中的任何一个可以向其他手机发送同步指令;其他手机在接收到同步指令后,可根据同步指令中的同步时间在时间到达时播放音乐m,同时,所述发送同步指令的手机也可在同步指令中的同步时间在时间到达时播放音乐m。

上述各终端均已经存储有待同步操作的内容,可以是各终端分别从网络获取内容,也可以是终端之间相互分享内容。

可选的,手机相关页面上可以设置播放或拒绝播放按钮,用户可以在输入播放按钮后,手机系统可以执行所述同步指令,用户输入拒绝播放按钮后,手机系统可不执行所述同步指令。

上述方案中,另一种实施方式为:在各终端中选择一个主终端,分别向一个或多个从终端发送待同步操作的内容。

所述待同步操作的内容可以是主终端确定的内容,然后发送给从终端。也可以是某个从终端确定的内容,发送给其他各终端。也可以是各终端自身确定的内容,则各终端确定的内容是相同的内容。

主终端确定待同步操作的内容发送给从终端时,一种典型的应用场景为:如图1所示,各个终端通过网络(有线网络或者无线网络)连接到流媒体服务器,从而获取流媒体服务器提供的各种流媒体服务。例如,可以利用流媒体技术向终端传输音/视频等多媒体信息,从而为用户提供各种服务,诸如媒体新闻发布、网络直播、网络广告、电子商务、视频点播(vod)、远程教育、远程医疗、网络电台、实时视频会议等互联网信息服务。

上例中,在进行流传输时,声音、影像或动画等时基媒体由音视频服务器向终端进行连续、实时传送,用户不必等到整个文件全部下载完毕,而只需经过几秒或十数秒的启动延时即可进行观看,流传输避免了用户必须等待整个文件全部从服务器下载到本地后才能观看的缺点。然而,上述这种本质上基于服务器-客户端架构的传输方式可能不能满足多用户参与的应用场景。例如,这种架构要求所有的客户端(例如移动终端)均与服务器建立连接,从服务器接收数据,各个客户端之间不能直接进行数据的交换,不便于客户端之间的对内容进行同步操作。

为此,本公开提出了通过选择一终端作为主终端,而其它终端作为从终端,并且主终端向各从终端发送待进行同步操作的内容以及同步指令,从而使得各从终端可以与主终端同步对内容进行操作,实现多用户参与的应用场景。

主终端确定所述待同步操作的内容具体可包括:主终端从远程实体接收内容,将当前接收到的内容中的部分或全部确定为所述待同步操作的内容;或,主终端将本地存储的内容中的部分或全部确定为所述待同步操作的内容。

所述待同步操作的内容为流媒体内容;所述主终端为流媒体终端,所述远程实体为流媒体终端或流媒体服务器。

同时对待同步操作的内容执行操作包括:同时对发送给所述从终端的流媒体内容进行播放操作。

本发明多用户参与对内容进行同步操作的其中一个应用场景为,可以对多用户中的其中一个用户存储的数据进行同步操作。

比如,一种应用场景中,当某用户的手机1需要向同一会议室的多个其他用户的手机2、手机3共享音乐时,用户1可与手机2和3建立网络连接。此时,提供音乐数据的手机1作为主终端。当然,也可以将手机2或3作为主终端。

手机1可以将音乐进行压缩或其他处理发送给手机2和3,且向手机2和3发送同步指令,手机1~3根据同步指令同时播放音乐。这样就可解决一个手机播放音乐,多用户共享时存在的音量低且播放效果不理想的问题。

本发明多用户参与对内容进行同步操作的另一个应用场景为,本地多用户对来自远程服务器的流媒体数据进行同步操作。

比如,对于远程电话会议,可以在各分会场通过专用的多媒体终端将接收到的多媒体内容播放,从而在各分会场实现与主会场同步播放会议内容的应用场景。

又比如,对于两个地点之间的远程电话会议,地点1和地点2分别可能存在多个用户参与会议。此时,地点1的各用户可分别持有一个移动终端,如手机。当地点2的电话会议数据流转过来时,地点1的其中一个移动终端作为主终端接收数据流,将每单位时间段接收到的数据流或处理过的数据流发送给其他移动终端,并向各移动终端发送同步指令,指示各移动终端在根据同步指令中数据同步的时间节点进行同步操作。

其中,每单位时间段可以是1秒、十分之一秒、百分之一秒等一个时间段。此外,主终端也可将每单位时间段接收到的数据流缓存,然后将数据流进行分包发送。

上述实施例由于使用移动终端,如手机,可实现多用户同时参与,且同步对内容进行操作,无需固定终端或不便移动的终端进行数据同步。在降低系统成本和复杂性的情况下满足多用户参与同步操作内容的需求,提升了用户体验。

以下以各终端同步播放多媒体内容为例来说明本公开的原理。然而,应理解,本公开的原理不限于对多媒体内容的同步播放,而是可以应用于多用户参与场景下各用户对数据内容的其它同步操作。

如图2所示,其中示出了根据本公开的一实施例的利用终端进行内容同步播放的过程。可选地,在本公开中,终端可以是但不限于用户终端(ue)。可选地,用户终端可以是智能手机、pda、导航仪、掌上电脑、机顶盒等等设备,在此不作限制。

例如,为实现在终端2和终端3之间进行多媒体内容的同步播放,可以将终端2作为主终端,而终端3作为从终端。其中,主终端2向从终端3发送待同步播放的多媒体数据。响应于来自主终端2的同步指令,可以在主终端2和从终端3之间实现对接收的多媒体数据进行同步播放。为此,可以在主终端2上确定转发映射表,以便设置作为发送目的地的从终端3的网络地址标识符等相关信息。实际上,在这种情况下,主终端2可以根据设置的转发映射表主动地向其它终端(不限于图中所示的终端3)推送有关多媒体服务。根据这种方式,只需要在初次使用时设定从终端3的用户所感兴趣的多媒体内容的范围,此后,终端2将根据转发映射表自动地将接收到的多媒体数据发送给终端3。换句话说,这种方式实际上属于信息推送(push)的方式。

可选地,可以在主终端2上预先设置转发映射表。例如,主终端2的用户可以预先设置要参与到同步播放的终端(例如从终端3)的网络地址标识符。这样,可以根据转发映射表来确定将接收到的多媒体数据发送给哪个终端。

可选地,可以根据要参与同步播放多媒体的终端的请求,在主终端2上建立转发映射表,从而记录要参与到同步播放多媒体的终端的网络地址标识符。

可选地,如图2所示,根据应用场景,可能需要对加入同步播放的终端进行身份验证,以保证具有相关权限的用户才能观看同步播放的多媒体内容。这可以通过预先设定的ip地址范围、要被验证的终端的用户提供的账号密码等方式进行身份验证。

如上所述,为了在多个终端上进行多媒体内容的同步播放,需要从多媒体内容源获得相应的多媒体数据。根据本公开的实施例,如图2所示,终端1提供多媒体内容,主终端2作为转发设备与作为多媒体内容源的终端1建立会话连接。

可选地,终端1可以是远程用户终端,而终端2和3可以是本地用户终端。

可选地,根据实际应用需要,可以通过终端1对终端2的身份进行验证。

在建立会话连接之后,根据终端2发送的获取多媒体数据的请求,终端1对多媒体数据,例如音视频数据进行编码并打包,并且将其流传输到终端2上。

可选地,终端1对多媒体数据,例如音视频数据进行编码并打包的步骤,也可以在建立会话连接之前进行,在此不作限定。

可选地,在实现流传输时,可以采用http/tcp来传输控制信息,而采用实时传输协议/用户数据报协议(rtp/udp)来传输实时的音视频数据。

为进行流传输,终端1将音视频文件进行编码压缩,并且打包为许多数据包。然后,终端1将各个数据包发送给终端2。为消除时延和抖动的影响,保证视频播放的质量,可以在作为转发设备的主终端2上建立缓冲区来缓存来自于终端1的音视频数据。可以考虑终端1和终端2之间的网络连接状况、终端2的存储器大小、播放音视频的质量要求等因素来设定缓冲区的大小。

在接收到数据包时,主终端2将其存储在建立的缓冲区中。可选地,考虑到终端2的存储容量有限,可以通过丢弃已经播放的多媒体数据从而可以重新利用腾出的空间来缓存后续尚未播放的内容。

然后,主终端2可以根据设置的转发映射表,向终端3发送所缓存的音视频数据。

在接收到来自于主终端2的音视频数据之后,从终端3可以向主终端2发送同步请求,请求播放音视频数据。

响应于来自终端3的同步请求,终端2发送同步响应,触发同步播放指令,从而在终端2和3之间同步解压音视频数据并且播放所解压的音视频数据。

可选地,在向终端3转发缓存的多媒体数据之前或者之后,终端2可以向终端3发送同步帧,从而主动触发同步播放指令,以便在终端2和3之间同步解压音视频数据并且播放所解压的音视频数据。

可选地,也可以在向终端3转发的缓存的多媒体数据中嵌入同步标识符,从而设定触发同步播放的条件,以便在终端2和3之间同步解压音视频数据并且播放所解压的音视频数据。

应注意,尽管在本公开的图2中,将某些步骤示为在一些步骤之后顺序执行,然而这并非限定了必须按照这样的顺序来实现本原理。实际上,如图2所示,对终端2和终端3的身份的验证以及设置转发映射表完全可以在终端2接收到来自终端1的多媒体内容之后或者在终端2从终端1接收多媒体内容的同时进行,只要在终端2向终端3发送多媒体数据时获取了作为发送目的地的终端3的地址即可。

尽管在图2中图示了仅仅主终端2与终端1建立会话连接。然而,可选地,终端2和终端3可以分别与终端1建立连接,并且选择其中的一个作为主终端而从提供多媒体内容的终端1接收并缓存多媒体数据,并且将缓存的多媒体数据转发到作为从终端的另一个终端。

另外,应注意,尽管在图2中,示出了同步播放多媒体数据的两个终端2和3,然而,本公开的原理完全可以应用到不止两个终端的场景。在多于两个终端的应用中,可以选择其中的至少一个终端作为缓存或存储多媒体数据的主终端,而将其它终端作为接收缓存的多媒体数据的从终端。

可选地,在一个或多个本地终端中选择至少一个作为主终端与提供多媒体数据的远程终端建立连接,从而可以通过主终端接收来自于远程终端的数据,而将其它本地终端作为从终端接收主终端转发的缓存的多媒体数据。

可选地,一个或多个本地终端分别与提供多媒体数据的远程终端建立连接,并且在其中选择至少一个作为主终端而接收来自于远程终端的数据,而其它本地终端作为从终端接收主终端转发的缓存的多媒体数据。

可选地,选择至少一个作为主终端时,可以通过在一个或多个本地终端中进行协商,来推选其中的至少一个作为主终端而接收来自于远程终端的数据。或者,可以通过远程终端在一个或多个本地终端中选择至少一个作为主终端,使得该主终端接收来自于该远程终端的数据。例如,可以根据各个终端的存储容量、处理能力、网络状况等因素来设置性能优先级,并且根据性能优先级来选择相应的终端作为主终端。或者,可以根据各个终端与远程终端的历史连接记录、目前的网络连接状况、访问远程终端的权限等因素来选择相应的终端作为主终端。

在本公开的上述实施例中,将一终端作为主终端,通过在其中建立缓冲区来缓存接收的多媒体内容,向作为从终端的其它终端转发缓存的多媒体内容,并根据主终端发送的同步播放指令而使得各个从终端与主终端同步播放多媒体内容,消除了专用的流媒体服务器以及专用的多媒体终端,可以在降低成本和系统复杂性的情况下满足多用户参与同步观看多媒体内容的需求,提升了用户体验。

尽管以上参照图2图示了通过终端2作为主终端接收来自远程终端1的多媒体数据,并且将其中的一部分或者全部转发给作为从终端的终端3,从而实现从终端3和主终端2同步播放多媒体数据,然而,根据实际应用场景,终端2也可以将其自身存储的多媒体资源发送给终端3作为二者同步操作的内容,而不是一定要从远程终端1接收待同步操作的内容。

图3示出了根据本公开的另一实施例的利用终端进行流媒体内容同步播放的过程。与图2所示的实施例的主要不同在于,在根据图3所示的实施例中,可以将终端2作为虚拟服务器而不是单纯的转发设备,在其中建立缓冲区来缓存从多媒体源接收的音视频数据,并且根据从终端3接收到的获取多媒体资源的请求,向终端3提供所请求的多媒体数据。实际上,在这种情况下,作为虚拟服务器的主终端2可以根据作为客户端的其它从终端所发送的资源获取请求,向其它终端提供有关多媒体服务。在这种方式下,作为虚拟服务器的主终端2根据从终端3发送的服务请求进行处理并返回用户所需的结果,即,可以采用信息拉取(pull)模式。

如图3所示,终端1可以作为远程终端提供多媒体内容,终端2作为虚拟服务器与终端1建立会话连接,从而可以接收来自于终端1的压缩编码并打包后的多媒体数据(例如音视频数据)。

如上所述,在终端2中建立缓冲区来缓存来自于终端1的音视频数据。例如,可以考虑终端1和终端2之间的网络连接状况、终端2的存储器大小、播放音视频的质量要求等因素来设定缓冲区的大小。

在接收到来自终端1发送的数据包时,终端2将其存储在建立的缓冲区中。在本实施例中,为实现终端2和3之间同步播放多媒体内容,可以在终端2上设置且打开相应的虚拟服务器端口。

与参照图2的实施例不同,终端2可以不主动向终端3发送多媒体数据,而是在接收到终端3的资源获取请求后,再向终端3发送相应的多媒体数据。也就是说,图3所示的实施例可以采用信息拉取的方式。

如图3所示,主终端2作为虚拟服务器,在设置并且打开了服务器端口之后,等待来自作为客户端的从终端3的资源获取请求。响应于所接收的来自从终端3的资源获取请求,主终端2将缓冲区中缓存的多媒体数据的一部分或者全部发送给从终端3。

可选地,如图3所示,根据应用场景,可能需要对加入同步播放的从终端3进行身份验证,以保证具有相关权限的用户才能观看同步播放的多媒体内容。例如,这可以通过在作为虚拟服务器的主终端2上预先设定的ip地址范围、要被验证的从终端的用户提供的账号密码等方式进行身份验证。

在向终端3发送了缓存的音视频数据之后,可以响应于来自终端3的同步播放请求,主终端2发送同步响应,从而触发同步播放指令,以便在终端2和3之间同步解压音视频数据并且播放所解压的音视频数据。

可选地,在向终端3发送缓存的多媒体数据之前或者之后,终端2可以向终端3发送同步帧,从而主动触发同步播放指令,以便在终端2和3之间同步解压音视频数据并且播放所解压的音视频数据。

可选地,也可以在向终端3发送的缓存的多媒体数据中嵌入同步标识符,从而设定触发同步播放的条件,以便在终端2和3之间同步解压音视频数据并且播放所解压的音视频数据。

可选地,在终端2和终端3之间,例如可以采用以下方式来进行多媒体数据的传输:终端3向终端2发送获取资源的请求,即,终端3的用户选择某一流媒体服务后,终端3与终端2之间可以使用http/tcp交换控制信息,终端3使用http从终端2检索相关参数,这些参数可能包括目录信息、音视频数据的编码类型或与音视频检索相关的网络地址;终端2和3之间运行实时流协议,以交换音视频传输所需的控制信息;终端2使用rtp/udp协议将音视频数据传输给终端3。然后,响应于同步播放指令,主终端2和从终端3可以同步播放多媒体内容。

在本公开的上述实施例中,将主终端作为虚拟服务器,通过在其中建立缓冲区来缓存接收的多媒体内容,并且响应于从终端的资源获取请求而发送所缓存的相应的多媒体数据,并根据同步播放指令而使得各个从终端与主终端同步播放多媒体内容,消除了专用的流媒体服务器以及专用的多媒体终端,可以在降低成本和系统复杂性的情况下满足多用户参与同步观看多媒体内容的需求,提升了用户体验。

应注意,上述实施例完全可以应用到不止两个终端的场景。在多于两个终端的应用中,可以选择其中的至少一个终端作为主终端,而将其它终端作为从终端,其中主终端作为缓存多媒体数据的虚拟服务器,而将从终端作为接收缓存的多媒体数据的设备。

可选地,在一个或多个本地终端中选择至少一个作为主终端与提供多媒体数据的远程终端建立连接,并且利用主终端作为虚拟服务器来缓存所接收的来自于远程终端的数据,并且根据作为从终端的其它终端的资源获取请求而发送所缓存的多媒体数据。

可选地,一个或多个本地终端分别与提供多媒体数据的远程终端建立连接,并且在其中选择至少一个作为主终端,使之成为接收来自于远程终端的数据的虚拟服务器,而其它本地终端作为从终端,向作为虚拟服务器的主终端发送资源获取请求,以便接收主终端发送的缓存的多媒体数据。

类似地,可以通过在一个或多个本地终端中进行协商,来选择其中的至少一个作为主终端而接收来自于远程终端的数据。或者,可以通过远程终端在一个或多个本地终端中选择至少一个作为主终端而接收来自于远程终端的数据。例如,可以根据各个终端的存储容量、处理能力、网络状况等因素来设置性能优先级,并且根据性能优先级来选择相应的终端作为主终端。或者,可以根据各个终端与远程终端的历史连接记录、目前的网络连接状况、访问远程终端的权限等因素来选择相应的终端作为主终端。

尽管在图2和图3中将远程终端(例如流媒体终端)作为待操作的内容(例如待同步播放的多媒体数据)的来源,然而,可选地,可以采用服务器(例如,流媒体服务器)作为待操作的内容(例如待同步播放的多媒体数据)的来源,在此不作限制。

图4图示了根据本公开的另一实施例的在多个终端之间实现多媒体内容的同步播放的过程。如图4所示,提供多媒体数据的终端1与服务器建立会话连接,以便向服务器上传音视频文件。在终端1的身份通过服务器的验证之后,终端1可以向服务器发送相应的音视频数据。终端1可以采用各种方式,对要上传的音视频文件进行编码并且打包,从而将音视频文件上传到服务器。为获取终端1提供的多媒体资源,本地终端2可以作为主终端,与服务器建立会话连接,从而可以从服务器接收或者获取终端1上传的多媒体资源。关于服务器与终端2之间的多媒体数据传输,如上所述,可以采用推送或者拉取模式。推送模式是根据用户需要,有目的、按时将用户感兴趣的信息主动发送到终端。推送模式的主要优点一是对用户要求低,普遍适用于广大公众;二是及时性好,信源及时地向用户“推送”不断更新的动态信息;拉取模式指用户有目的地在网络上主动查询信息,用户从客户端浏览器给服务器发出请求,由服务器获取所需信息,拉取模式的主要优点是针对性强,能满足用户的个性化需求;信息传输量小,网络上所传输的只是用户的请求和服务器针对该请求所作的响应;信源任务轻,信息系统只是被动接受查询,提供用户所需的部分信息。或者,可以将信息推送与拉取两种模式结合。例如,先推后拉,先由服务器及时推送公共信息,再由终端的用户有针对性地拉取个性化信息;先拉后推,根据终端的用户拉取的信息,服务器进一步主动提供(推送)与之相关的信息;推中有拉,在信息推送过程中,允许终端的用户随时中断并定格在感兴趣的音视频资源上,以拉取更有针对性的信息;拉中有推,根据终端的用户搜索(即拉取)过程中所用的关键字,作为信源的服务器主动推送相关的最新信息。

此外,考虑到终端的存储器容量以及与服务器之间的网络状况,为保证实时传输的质量,可以在终端2上建立缓冲区,用来缓存从服务器接收的多媒体数据。

至于终端2与终端3之间的多媒体数据传输以及同步播放,则可以采用图2或者图3的方式。如果采用图2的转发方式,则可以形成图4所示的过程;如果采用图3的虚拟服务器方式,则可以形成图5所示的过程。为避免重复,其具体细节可以参见以上针对图2和图3所示的实施例的描述,在此不再赘述。

在图2-5中示出了在作为多媒体源的终端1(例如远程终端)上对音视频文件进行编码并打包,然后向服务器或者作为主终端的终端2(例如本地终端)发送音视频数据的方式。可选地,在实时应用中(如现场流媒体广播),可以根据当前的网络状况和终端的性能参数,终端1将多媒体数据一边编码一边发送给终端2或者服务器;或者,在某些非实时应用中,可以将多媒体数据事先编码打包,当提供多媒体服务时,终端2或者服务器直接读取这些编码打包后的数据。

可选地,在进行多媒体数据传输时,可以采用码流自适应的方式:将多媒体文件中的视频码流转换为一个特定码率和图像尺寸的码流;或者把同一段视频内容编码生成多个具有不同码率和图像尺寸的码流,然后自适应选择一个最合适的码流传输给接收方。根据情况,这可以在终端1、服务器或者终端2任一个上进行。生成的码流还需要进一步打包成为特定网络传输协议的数据包用于网络传输,为提高传输可靠性,传输的数据包可以利用前向纠错编码(fec)来保护。在接收到传输的数据后,如果存在丢包或者是比特出错,接收方的错误恢复处理可以根据附加的纠错数据来恢复传输错误。如果还不能恢复传输错误,接收方可以向发送方发出重传请求,在解码开始前重新传输丢失的包。恢复后的多媒体数据将由解码器解码得到重构的多媒体数据,由于容错保护和数据重传可能不能恢复所有的错误数据,还可以通过接收方的错误掩藏机制利用重构的多媒体数据的相关性来掩盖这些错误,最后进行同步播放。

可选地,如上所述,提供待同步操作的内容(例如待同步播放的多媒体数据的)源可以是服务器(例如流媒体服务器)。如图6或7所示,主终端2也可以直接从服务器取得编码并打包的多媒体数据。这种情况适用于服务器直接提供多媒体数据的场景。至于终端2与终端3之间的多媒体数据传输以及同步播放,则可以采用图2或者图3的方式。如果采用图2的转发方式,则可以形成图6所示的过程;如果采用图3的虚拟服务器方式,则可以形成图7所示的过程。为避免重复,其具体细节可以参见以上针对图2和图3所示的实施例的描述,在此不再赘述。

图8图示了根据本公开的实施例的一种对内容进行同步操作的方法,包括:s800主终端确定待同步操作的内容;s810,所述主终端分别向一个或多个从终端发送所述待同步操作的内容中的全部或部分内容,作为当前内容;以及s820,所述主终端向所述各从终端发送同步指令,所述同步指令用于指示所述各从终端与主终端同时执行对所述当前内容的操作。

可选地,主终端确定待同步操作的内容包括:主终端从远程实体接收待同步操作的内容;或主终端将本地存储的内容确定为待同步操作的内容。

可选地,所述待同步操作的内容为流媒体内容;所述主终端为流媒体终端,所述远程实体为流媒体终端或流媒体服务器。

可选地,同时执行对所述当前内容的操作包括:同时播放发送给所述从终端的流媒体内容。

可选地,上述方法,还包括:所述主终端接收一个或多个从终端发送的推选请求,所述推选请求用于指示所述主终端作为从远程实体接收待同步操作的内容的终端。

可选地,上述方法还包括:所述主终端接收一个或多个从终端发送的连接请求,所述连接请求用于指示主终端作为从远程实体接收待同步操作的内容的终端。

可选地,上述方法还包括:所述主终端接收所述远程实体发送的指示信息,所述指示信息用于指示所述主终端作为从远程实体接收待同步操作的内容的终端。

可选地,在所述主终端分别向一个或多个从终端发送所述待同步操作的内容中的全部或部分内容之前,上述方法还包括:确定所述一个或多个从终端为身份认证通过的终端。

可选地,上述方法还包括:确定转发映射表;根据所述转发映射表中记录的从终端的标识信息,向从终端发送所述待同步操作的内容中的全部或部分内容。

可选地,转发映射表是预先设置的或者是响应于从终端的请求而设置的。

可选地,上述方法还包括:所述主终端建立服务端口;响应于从终端的内容获取请求,从所述服务端口向从终端发送所述待同步操作的内容中的全部或部分内容。

可选地,上述方法还包括:响应于从终端的同步请求触发同步指令;或者向从终端发送同步帧或者同步标识符而触发同步指令。

本发明提供一种对内容进行同步操作的方法,包括:

主终端或从终端接收同步指令,所述同步指令用于指示同时执行对待同步操作的内容进行同步操作;主终端或从终端根据所述同步指令对待同步操作的内容进行同步操作。

其中一种实施方式为:从终端接收主终端发送的待同步操作的内容;以及从终端接收来自主终端的所述同步指令。

其中,所述内容为流媒体内容;所述主终端为流媒体终端。

从终端接收同步指令之前,还可包括:从终端向远程实体发送内容同步请求,请求远程实体发送同步内容,如电话会议的同步视频;远程实体在接收到多个终端发送的内容同步请求后,确定属于用一组的各终端,选择其中一个终端作为主终端,其他终端作为从终端,并向各终端发送同步指示信息,从终端接收远程实体返回的同步指示信息,所述同步指示信息用于指示所述从终端按照主终端的同步指令进行同步操作,所述同步指示信息还用于指示主终端向从终端发送同步指令,或者指示所述主终端向从终端发送同步指令和待同步操作的内容。

主终端接收到远程实体发送的内容后,可以按照接收速度向从终端发送,也可以重新打包按照新的发送速度进行发送。比如,当前时刻接收到一定量的内容后,可将该内容的全部在当前时刻发送给从终端,或者将内容缓存,从缓存中打包发送给从终端。

本发明实施例提供一种用于对内容进行同步操作的装置,包括:

发送模块,如收发器,用于向一个或多个终端发送同步指令,所述同步指令用于指示所述一个或多个终端同时对待同步操作的内容执行操作。

本发明实施例提供另一种用于对内容进行同步操作的装置,包括:

接收模块,如收发器,用于接收同步指令,所述同步指令用于指示同时执行对待同步操作的内容进行同步操作;

处理模块,如,处理器,用于根据所述同步指令对待同步操作的内容进行同步操作。

更具体的,图9是根据本公开的一实施例的一种用于对内容进行同步操作的装置的示意性框图。如图9所示,其包括:处理器900,确定待同步操作的内容;收发器910,分别向一个或多个从终端发送所述待同步操作的内容中的全部或部分内容,作为当前内容;其中处理器900被配置为指示收发器910向所述各从终端发送同步指令,所述同步指令用于指示所述各从终端与主终端同时执行对所述当前内容的操作。

可选地,上述装置中的处理器,被配置为:确定转发映射表,并根据转发映射表,指示收发器向所述至少一个从终端发送待操作的内容的全部或者一部分。

可选地,上述装置中的处理器被配置为:预先设置转发映射表或者响应于从终端的请求而设置转发映射表。

可选地,上述装置中的处理器还被配置为:建立服务端口,并响应于至少一个从终端的资源获取请求,向其发送待操作的内容的全部或者一部分。

可选地,上述装置中的处理器还被配置为:根据至少一个终端的同步请求而触发对当前内容的同步操作。

可选地,上述装置中的处理器还被配置为:通过指示收发器向至少一个终端发送同步帧或者标识符而触发对当前内容的同步操作。

可选地,上述装置中的收发器被配置为:与提供待操作的内容的全部或者一部分的远程终端建立连接。

可选地,上述装置中的收发器被配置为:经由服务器与提供待操作的内容的全部或者一部分的远程终端建立连接。

可选地,上述装置中的收发器被配置为:与提供待操作的内容的全部或者一部分的服务器建立连接。

可选地,上述装置是终端,包括但不限于以下中的至少一种:智能手机、pda、平板电脑、导航仪、机顶盒。

图10是根据本公开另一实施例的一种用于对内容进行同步操作的控制装置的示意性框图。如图10所示,该控制装置包括处理器1010、与处理器连接的存储器1020以及收发器1030,其中,存储器1020存储指令,处理器1010被配置为在运行存储器1020中存储的指令时,执行以下步骤:确定待同步操作的内容;指示收发器分别向一个或多个从终端发送所述待同步操作的内容中的全部或部分内容,作为当前内容;并且指示收发器向所述各从终端发送同步指令,所述同步指令用于指示所述各从终端与主终端同时执行对所述当前内容的操作。

图11图示了根据本公开的实施例的一种用于对内容进行同步操作的方法的流程。如图11所示,该方法包括:s1100,接收主终端发送的内容;以及s1110,接收来自主终端的同步指令,所述同步指令用于指示接收到所述内容的从终端与所述主终端同时执行对所述内容的操作。

可选地,所述内容为流媒体内容;所述主终端为流媒体终端。

可选地,该方法,还包括:向主终端发送建立转发映射表的请求。

可选地,该方法还包括:向主终端发送资源获取请求。

可选地,该方法还包括:向主终端发送同步请求,从而触发所述同步指令。

可选地,该方法还包括:接收主终端发送的同步帧或者同步标识符,从而触发所述同步指令。

图12是根据本公开的实施例的一种对内容进行同步操作的装置的示意图。如图12所示,该装置包括:收发器1200,接收主终端发送的内容和同步指令,处理器1210,根据所述同步指令指示与所述主终端同时执行对所述内容的操作。

图13是根据本公开的实施例的一种对内容进行同步操作的装置的示意图。如图13所示,该装置包括:处理器1300、与处理器连接的存储器1310以及收发器1320;其中,存储器存储指令;处理器被配置为:在运行存储器中存储的指令时,指示收发器接收主终端发送的内容和同步指令,所述同步指令用于指示与所述主终端同时执行对所述内容的操作。

可选地,上述装置是终端,包括但不限于以下中的至少一种:智能手机、pda、平板电脑、导航仪、机顶盒。

根据本公开上述实施例,将一终端作为主终端,向其它从终端发送来源于远程实体的内容或者其自身存储的内容,并根据同步指令而在主终端和各个从终端之间同步操作内容,可以在降低成本和系统复杂性的情况下实现多用户参与的场景,提升了用户体验。

根据本公开上述实施例,将一终端作为转发设备,通过在其中建立缓冲区来缓存接收的多媒体内容,向其它终端转发缓存的多媒体内容,并根据同步播放指令而在各个终端之间同步播放多媒体内容,消除了专用的流媒体服务器以及专用的多媒体终端,可以在降低成本和系统复杂性的情况下满足多用户参与同步观看多媒体内容的需求,提升了用户体验。

根据本公开的上述实施例,将一终端作为虚拟服务器,通过在其中建立缓冲区来缓存接收的多媒体内容,并且响应于其它终端的资源获取请求而发送所缓存的相应的多媒体数据,并根据同步播放指令而在各个终端之间同步播放多媒体内容,消除了专用的流媒体服务器以及专用的多媒体终端,可以在降低成本和系统复杂性的情况下满足多用户参与同步观看多媒体内容的需求,提升了用户体验。

本领域技术人员应理解,本说明书中出现的框图表示实施本公开的原理的说明性电路的概念图。类似地,应理解,任何流程表、流程图、状态转移图、伪代码等表示可在计算机可读介质中被实质性表示并由计算机或处理器执行的各种过程,不论这些计算机或处理器是否明确地显示出来。可在短暂性状态(信号)和非短暂性状态(例如,在诸如cd-rom、dvd、蓝光、硬盘驱动器、闪存卡、或其他类型的有形存储介质的有形介质上)中实现写入的计算机可读介质和代码。

图中所示的各种元件的功能可以通过使用专用硬件和能够联合合适的软件执行软件的硬件来提供。当由处理器提供时,该功能可由单个专用处理器或单个共用处理器或其中有一些可以共用的多个独立的处理器提供。并且,明确的使用术语“处理器”或“控制器”不应该被解读为排他性地专指能够执行软件的硬件,而可以没有限制地、隐含地包括数字信号处理器(“dsp”)硬件、用于存储软件的只读存储器(“rom”)、随机存取存储器(“ram”)和非易失性存储器。

上面已经描述了一些具体实施例。但是应该了解可以对这些实施例作出修改。例如,不同的实施例的元素可以进行组合、补充、修改和删除,从而获得其他的实施例。此外,本领域的普通技术人员应该了解可以使用其他的结构和处理流程来替换上面已经公开的结构和处理流程,从而获得其它实施例。该其它实施例至少以实质上相同的方式,实现实质上相同的功能,达到本公开的实施例提供的实质上相同的效果。相应地,这些以及其他的实施例应该属于本发明的范围。

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