实现网络媒体同步视听的方法、系统及用户端的制作方法

文档序号:7653978阅读:241来源:国知局
专利名称:实现网络媒体同步视听的方法、系统及用户端的制作方法
技术领域
本发明涉及网络通信技术领域,具体的特别涉及一种实现网络媒体同步视听的方法、系统及用户端。
背景技术
网络媒体播放器是一种不需要计算机本地硬盘保存媒体文件,就能够直接从网络中获取媒体资源并进行实时播放的工具,因此不仅用户操作方便,而且能够节约本地资源。现有很多媒体编码格式都支持边下载边播放的工作模式,在应用网络媒体播放器播放网络媒体时,网络地址可以是URL(统一资源定位),也可以是点对点网络技术P2P的网络种子。以网络音乐播放器为例,有些是利用P2P网络让用户在线播放海量音乐,也有些是使用固定的音乐服务器稳定地向用户提供服务,还有些通过搜索引擎获取所需音乐的URL地址,从而实现在线播放的功能,使用户能够方便快捷地欣赏最新最全的音乐。
现有的网络直播技术可以提供同步视听的效果,例如参与P2P直播的所有用户都能够同步观看同一频道的相同视频内容。在采用P2P方式进行视频直播时,P2P的直播运营商设置一台或多台P2P种子服务器(如果分配了多台种子服务器,则它们通常分布在不同的网段中,以便向用户提供较高的带宽);当一个新用户接入到该网络视频时,系统在已有的在线节点中寻找部分与其较为接近的节点分配给该新用户,节点类型可以是最快的网段的节点、最近的节点、随机节点或者种子服务器等;在P2P数据传输过程中,可以将固定时间的视频作为一块数据包,每个节点向其它节点周期性交换数据块的传送情况,若本节点下载的数据包较慢,则主动从其它较快的节点上下载数据包,以便跟上视频播放的进度;在P2P访问中,系统会动态地保存速度快的节点的IP地址,以备在新用户加入时,向其返回该IP地址来协助新用户提高下载速率。应用P2P的方式来实现同步视听时,用户无法自主选择需要的媒体内容,因为直播的视频或音频内容由内容提供商预先安排,因此用户无法任意点播视频内容。
现有的网络媒体播放器在工作时,将本地计算机对显卡或声卡输出的实时采样作为输入,并编码发送到远程用户,以此来实现网络媒体的实时同步共享,现有的网络媒体播放器的工作流程如图1所示,该图1示出了在两个用户之间实现视听同步的情况步骤101用户A使用媒体播放器在本地计算机上播放网络中的影音文件。
步骤102本地计算机的声卡和显卡在输出影音文件信号的同时,对该信号进行采集。
步骤103将采集到的信号进行压缩编码后通过网络传输至用户B。
步骤104用户B使用的本地计算机接收到该信号后对其进行解码。
步骤105将解码后的多媒体数据输入本地计算机的声卡或显卡,实现用户之间的同步视听。
由上述对现有技术的描述可知,现有的网络媒体播放器播放的媒体内容需要经过输出后再采样,使得媒体信号的质量下降;并且直接从声卡读取的媒体数据包括本地计算机上当前播放的所有声音,因此可能包括杂音,导致无法消除本地计算机上其它应用的干扰;在用户试图与多个用户同步视听时,容易由于网络用户接入带宽较小,造成视听效果的瓶颈。

发明内容
本发明的目的在于提供一种实现网络媒体同步视听的方法,以克服现有技术中网络媒体内容需要经过输出采样后再发送,从而导致媒体信号质量下降,同步视听效果差的问题。
本发明的另一目的在于提供一种的实现网络媒体同步视听的系统,以克服现有系统中的网络媒体内容经过输出采样后发送,导致媒体信号质量下降同步视听效果差的问题。
本发明的又一目的在于提供一种用户终端,以克服现有用户终端之间同步视听效果差的问题。
为解决上述技术问题,本发明提供如下技术方案一种实现网络媒体同步视听的方法,包括
主控用户向加入同步视听的受控用户发送当前播放的网络媒体地址及播放信息,所述播放信息包括播放进度信息和播放状态信息;受控用户根据所述网络媒体地址和播放进度信息,执行所述播放状态信息指示的操作,实现与主控用户同步视听所述网络媒体。
所述播放状态信息包括持续播放、暂停播放、向前拖动播放、或向后拖动播放。
所述播放状态信息为持续播放,所述受控用户根据所述网络媒体地址和播放进度信息,执行所述播放状态信息指示的操作包括受控用户向所述网络媒体地址对应的服务器发送获取所述网络媒体的请求,所述请求中包含该网络媒体当前播放进度信息;所述服务器读取该网络媒体当前播放进度至结束时的内容,并将该内容发送至受控用户;所述受控用户根据接收到的内容持续播放所述网络媒体。
所述主控用户和受控用户之间扩展了P2P功能,所述方法进一步包括主控用户和受控用户之间周期性发送数据更新消息,所述数据更新消息包含网络媒体地址、播放进度信息、播放状态信息以及下载进度信息;所述主控用户和受控用户中下载进度慢的用户根据所述数据更新消息,向下载进度快的用户请求所述网络媒体的后续内容;所述下载进度快的用户将已下载的所述网络媒体的后续内容发送至所述下载进度慢的用户。
所述播放状态信息为暂停播放,受控用户根据所述网络媒体地址和播放进度信息,执行所述播放状态信息指示的操作包括受控用户停止向所述网络媒体地址对应的服务器发送获取所述网络媒体的请求;所述网络媒体地址对应的服务器停止向所述受控用户发送网络媒体内容;所述受控用户从所述播放进度信息处暂停播放所述网络媒体。
所述方法进一步包括
主控用户和受控用户之间停止周期性发送所述数据更新消息,且所述下载进度快的用户停止将已下载的所述网络媒体的后续内容发送至所述下载进度慢的用户。
所述方法进一步包括主控用户和受控用户中的任意一方终止同步视听所述网络媒体。
一种实现网络媒体同步视听的系统,包括网络媒体服务器,用于存放同步视听的网络媒体;主控用户端,用于向加入同步视听的受控用户端发送当前播放的网络媒体地址及播放信息,所述播放信息包括播放进度信息和播放状态信息;受控用户端,用于根据所述网络媒体地址和播放进度信息,执行所述播放状态信息指示的操作,实现与主控用户端同步视听所述网络媒体。
一种用户端,包括发送控制信息单元,用于向加入同步视听的其它用户端发送当前播放的网络媒体地址及播放信息,所述播放信息包括播放进度信息和播放状态信息。
用户端扩展了P2P功能,所述用户端进一步包括发送更新消息单元,用于向加入同步视听的其它用户端周期性发送数据更新消息,所述数据更新消息包含网络媒体地址、播放进度信息、播放状态信息以及下载进度信息;发送网络媒体单元,用于所述用户端的下载进度大于其它用户端时,向其它用户端发送已下载的网络媒体;请求网络媒体单元,用于所述用户端的下载进度小于其它用户端时,向其它用户端请求所述网络媒体。
一种用户端,包括接收控制信息单元,用于接收其它用户端发送的当前播放的网络媒体地址及播放信息,所述播放信息包括播放进度信息和播放状态信息;执行控制信息单元,用于根据网络媒体地址和播放进度信息,执行播放状态信息指示的操作,实现与其它用户端同步视听所述网络媒体。
所述执行控制信息单元包括发送请求单元,用于向所述网络媒体地址对应的服务器发送获取所述网络媒体的请求,所述请求中包含该网络媒体当前播放进度信息;接收网络媒体单元,用于接收所述服务器发送的网络媒体。
用户端扩展了P2P功能,所述用户端进一步包括发送更新消息单元,用于向其它用户端周期性发送数据更新消息,所述数据更新消息包含网络媒体地址、播放进度信息、播放状态信息以及下载进度信息;发送网络媒体单元,用于所述用户端的下载进度大于其它用户端时,向其它用户端发送已下载的网络媒体;请求网络媒体单元,用于所述用户端的下载进度小于其它用户端时,向其它用户端请求所述网络媒体。
由以上本发明提供的技术方案可见,应用本发明实现网络媒体同步视听的方法,主控用户无需将当前播放的网络媒体内容输出采样后,再发送到受控用户,而是通过将网络媒体地址和播放信息发送给受控用户,受控用户根据网络媒体地址和播放进度信息,执行播放状态信息指示的持续播放、暂停播放等操作,使得用户间可以灵活地同步视听网络媒体,达到良好的协同娱乐效果;进一步的,本发明实现同步视听网络媒体的用户之间通过扩展的P2P功能,保证了各个用户在组成的P2P网络中同步视听的流畅度提高,相应增强了系统的性能。


图1为现有网络媒体播放器的工作流程图;图2为本发明方法的第一实施例流程图;图3为本发明方法的第二实施例流程图;图4为本发明方法的第三实施例流程图;图5为本发明方法的第四实施例流程图;图6为本发明方法的第五实施例流程图;
图7为本发明方法的第六实施例流程图;图8为本发明方法的第七实施例流程图;图9为本发明系统的实施例框图;图10为本发明用户端的第一实施例框图;图11为本发明用户端的第二实施例框图。
具体实施例方式
本发明的核心是提供一种实现网络媒体同步视听的方法,该方法中主控用户向加入同步视听的受控用户发送当前播放的网络媒体地址、播放进度信息和播放状态信息;受控用户根据网络媒体地址和播放进度信息,执行播放状态信息指示的操作,从而实现与主控用户同步视听同一网络媒体。
为了使本技术领域的人员更好地理解本发明方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本发明作进一步详细的说明。
本发明方法第一实施例的流程图如图2所示步骤201主控用户向加入同步视听的受控用户发送当前播放的网络媒体地址及播放信息。
其中,受控用户可以向主控用户发送加入同步视听的请求,或者由主控用户邀请受控用户加入同步视听。
具体的,播放信息包括播放状态信息和播放进度信息。播放状态信息包括持续播放、暂停播放、向前拖动播放、或向后拖动播放等;播放进度信息指网络媒体当前播放的位置。
步骤202受控用户根据网络媒体地址和播放进度信息,执行播放状态信息指示的操作,实现与主控用户同步视听网络媒体。
特别的,当播放状态信息为持续播放时,受控用户向网络媒体地址对应的服务器发送获取网络媒体的请求,该请求中包含该网络媒体当前播放进度信息;服务器读取该网络媒体当前播放进度至结束时的内容,并将该内容发送至受控用户;受控用户根据接收到的内容持续播放该网络媒体。
进一步的,主控用户和受控用户之间扩展了P2P功能,则主控用户和受控用户之间周期性发送数据更新消息,该数据更新消息包含网络媒体地址、播放进度信息、播放状态信息以及下载进度信息;主控用户和受控用户中下载进度慢的用户根据数据更新消息,向下载进度快的用户请求网络媒体的后续内容;下载进度快的用户将已下载的网络媒体的后续内容发送至下载进度慢的用户。
特别的,播放状态信息为暂停播放时,受控用户停止向网络媒体地址对应的服务器发送获取网络媒体的请求;网络媒体地址对应的服务器停止向该受控用户发送网络媒体内容;受控用户从播放进度信息处暂停播放该网络媒体。
进一步的,主控用户和受控用户之间停止周期性发送所述数据更新消息,且下载进度快的用户停止将已下载的网络媒体的后续内容发送至下载进度慢的用户。
特别的,主控用户和受控用户中的任意一方都可以终止同步视听网络媒体。
本发明方法第二实施例的流程图如图3所示,该实施例示出了两个用户之间持续播放某一网络媒体资源,从而实现同步视听的流程,其中由受控用户B向主控用户A发送加入同步视听的请求步骤301主控用户A从网络媒体提供方点播、获取并且实时播放某一网络媒体资源。
步骤302受控用户B主动向主控用户A发送加入同步视听的请求。
步骤303主控用户A将当前播放的网络媒体资源的网络地址和当前播放进度等信息发送至受控用户B。
步骤304受控用户B根据该网络媒体资源的网络地址和当前播放进度信息向网络媒体提供方请求该网络媒体资源的当前播放内容。
具体的,当前播放进度信息通常为该网络媒体资源的偏移信息,该偏移信息是对应的网络媒体资源的偏移量。例如,该网络媒体资源的大小为3M字节,且该网络媒体播放到1M字节时对应的时间为50秒,若此时受控用户B加入,则主控用户A发送的偏移信息就是该网络媒体资源在50秒处所对应内容的位置,即该网络媒体资源的偏移量。
步骤305网络媒体提供方根据该网络媒体资源当前播放进度信息,发送该网络媒体资源的当前播放内容到受控用户B。
具体的,网络媒体提供方根据步骤304中获得的偏移信息,从该网络媒体资源当前播放的偏移量处开始顺序发送该网络媒体资源到受控用户B。
下面以用户A和用户B同步收听网络中的一首MP3歌曲为例,详细说明第二实施例的实现过程。在MP3文件中包含多个顺序的音频数据帧,数据帧之间的采样率和长度可以不同,但无论数据帧的长度为多少,每一数据帧对应的播放时间均为26ms,因此每个MP3音频文件是由若干个26ms的数据帧组成,任意的播放时刻都对应了相关的数据帧。
用户A通过搜索等途径获取了歌曲S的网络链接地址“http://192.168.0.1/music/words.mp3”后,用户A使用网络音乐播放器根据该链接地址实时获取并播放歌曲S;用户B获知用户A当前的听歌状态后,向用户A发送加入同步收听歌曲S的请求;用户A接受用户B的请求后,向用户B返回歌曲S的网络地址“http://192.168.0.1/music/words.mp3”,以及用户A当前收听歌曲S的播放进度信息,假设歌曲S的大小为3M字节,而此时用户A收听到1M字节的数据帧处,则“1M”即为歌曲S的播放进度信息;用户B收到歌曲S的网络地址和播放进度信息后,向网络地址“http://192.168.0.1/music/words.mp3”发送歌曲S的内容请求,该内容请求中携带歌曲S的当前播放进度信息“1M”和结束信息(这里的结束信息可以是歌曲S结尾处对应的3M,也可以是基于一定数目的数据帧的分批下载,例如每隔0.3M请求下载一次);网络媒体提供方的服务器192.168.0.1根据收到的内容请求,从该服务器上读取文件words.mp3从1M字节起到结束信息处的数据内容,并将该数据内容发送到用户B;用户B接收到数据内容后,即从歌曲S的1M字节处开始播放,并且在播放期间,用户B可以自动从服务器上获取该歌曲S的后续数据帧,实现持续并与用户A同步播放该歌曲S。
本发明方法第三实施例的流程图如图4所示,该实施例示出了两个用户之间持续播放某一网络媒体资源,从而实现同步视听的流程,其中由主控用户A邀请受控用户B加入同步视听步骤401主控用户A从网络媒体提供方点播、获取并且实时播放某一网络媒体资源。
步骤402主控用户A邀请受控用户B加入同步视听,并将当前播放的网络媒体资源的网络地址和当前播放进度等信息发送至受控用户B。
步骤403受控用户B收到该邀请后返回接受该邀请的信息到主控用户A(受控用户B也可以选择返回拒绝该邀请的信息到主控用户A,从而结束同步视听流程)。
步骤404受控用户B根据该网络媒体资源的网络地址和当前播放进度信息向网络媒体提供方请求该网络媒体资源的当前播放内容。
步骤405网络媒体提供方根据该网络媒体资源当前播放进度信息,发送该网络媒体资源的当前播放内容到受控用户B。
当用户A和用户B同步收听网络中的一首MP3歌曲时,第三实施例的具体实现过程与第二实施例的具体实现过程类似,不同点仅在于用户A邀请用户B加入同步收听,因此在此不再赘述。
本发明方法第四实施例的流程图如图5所示,该实施例示出了两个用户之中的受控用户B从网络媒体提供方获得网络媒体内容的速度较慢,影响正常播放时,通过扩展的P2P功能持续播放该网络媒体,从而实现同步视听的流程步骤501主控用户A从网络媒体提供方点播、获取并且实时播放某一网络媒体资源。
步骤502受控用户B主动向主控用户A发送加入同步视听的请求(该步骤也可以是主控用户A邀请受控用户B加入同步视听)。
步骤503主控用户A将当前播放的网络媒体资源的网络地址和当前播放进度等信息发送至受控用户B。
步骤504受控用户B根据该网络媒体资源的网络地址和当前播放进度信息向网络媒体提供方请求该网络媒体资源的当前播放内容。
步骤505网络媒体提供方根据该网络媒体资源当前播放进度信息,发送该网络媒体资源的当前播放内容到受控用户B。
步骤506主控用户A和受控用户B之间周期性发送当前播放的网络媒体资源的网络地址、播放进度信息、播放状态信息和下载进度信息到对方,将这些信息作为数据更新消息。
具体的,下载进度是指已经从网络媒体提供方处下载的该网络媒体资源的数据帧,为了播放的流畅,通常下载的数据帧总是领先于当前播放的数据帧。
步骤507受控用户B根据周期性交换的数据更新消息向主控用户A请求由于网络故障等原因下载速度慢于播放速度的后续网络媒体内容。
步骤508主控用户A响应受控用户B的请求,将已经下载的后续网络媒体内容对应的数据帧发送给受控用户B。
仍以用户A和用户B同步收听网络中的一首MP3歌曲为例,详细说明第四实施例的实现过程。在该实现过程中,假设用户B由于网络故障或带宽问题导致了下载进度慢于当前播放进度,而用户A的下载速率正常。
用户A通过搜索等途径获取了歌曲S的网络链接地址“http://192.168.0.1/music/words.mp3”后,用户A使用网络音乐播放器根据该链接地址实时获取并播放歌曲S;用户B获知用户A当前的听歌状态后,向用户A发送加入同步收听歌曲S的请求;用户A接受用户B的请求后,向用户B返回歌曲S的网络地址“http://192.168.0.1/music/words.mp3”,以及用户A当前收听歌曲S的播放进度信息,假设歌曲S的大小为3M字节,而此时用户A收听到1M字节的数据帧处,则1M即为歌曲S的播放进度信息;用户B收到歌曲S的网络地址和播放进度信息后,向网络地址“http://192.168.0.1/music/words.mp3”发送歌曲S的内容请求,该内容请求中携带歌曲S的当前播放进度信息“1M”和结束信息(这里的结束信息可以是歌曲S结尾处对应的3M,也可以是基于一定数目的数据帧的分批下载,例如每隔0.3M请求下载一次);
网络媒体提供方的服务器192.168.0.1根据收到的内容请求,从该服务器上读取文件words.mp3从1M字节起到结束信息处的数据内容,并将该数据内容发送到用户B;用户B接收到数据内容后,即从歌曲S的1M字节处开始播放,并且在播放期间,用户B可以自动从服务器上获取该歌曲S的后续数据帧;用户A和用户B周期性地向对方发送歌曲S的播放进度信息、播放状态信息以及下载进度信息作为该歌曲S播放的数据更新消息;用户B由于与服务器192.168.0.1的网络故障原因导致从该服务器上下载歌曲S的进度慢于播放歌曲S的进度,因此用户B根据数据更新消息向用户A请求播放歌曲S所需要的后续数据帧,假设所请求的数据帧对应于歌曲S的1.6M-2.0M字节的数据内容;用户A由于下载进度较好,因此接收到用户B的请求后,将已经下载的歌曲S的1.6M-2.0M字节的数据内容发送给用户B,从而保证了在用户B网络故障时实现与用户A同步收听歌曲S。
本发明方法第五实施例的流程图如图6所示,该实施例示出了两个用户之间持续播放某一网络媒体一段时间后,暂停该网络媒体的播放,从而实现同步视听的流程步骤601主控用户A暂停当前播放的网络媒体资源时,同时发送该网络媒体资源的地址,播放进度信息和暂停状态信息等信息到受控用户B。
步骤602受控用户B收到主控用户A发送的信息后,向网络媒体提供方中断请求该网络媒体的后续内容。
特别的,当主控用户A和受控用户B之间扩展了P2P功能时,受控用户B在向网络媒体提供方中断请求该网络媒体后续内容的同时,也停止与主控用户A之间交换后续的网络媒体内容数据帧。
步骤603受控用户B暂停该网络媒体内容的播放,同时等待主控用户A发送后续的播放状态信息。
具体的,主控用户A在暂停播放该网络媒体内容一段时间后,可以向用户B发送的播放状态信息包括继续播放的状态信息、或停止播放的状态信息、或向前拖动播放的状态信息、或向后拖动播放的状态信息等。
在该实施例五中,也可以由受控用户B首先暂停当前网络媒体的播放,并发送相关的控制信息到主控用户A。
特别的,若受控用户B首先停止当前网络媒体的播放,则表示其主动退出当前同步视听状态,则受控用户B向主控用户A发送停止同步的状态信息,主控用户A不再向受控用户B发送后续播放状态信息,并且若两个用户之间扩展了P2P功能,则主控用户A也同时停止向受控用户B发送该网络媒体数据帧的同步更新消息。
仍然以用户A和用户B同步收听网络中的一首MP3歌曲为例,详细说明第五实施例的实现过程。
用户A与用户B在持续同步收听了歌曲S一段时间后,用户A暂停播放歌曲S,同时向用户B发送如下控制信息歌曲S的网络地址“http://192.168.0.1/music/words.mp3”,歌曲S当前的播放进度信息(假设用户A当前收听到歌曲S的2M字节内容处,则将信息“2M”作为播放进度信息),以及歌曲S当前的播放状态信息(用户A当前暂停播放该歌曲S,因此该播放状态信息为停止播放);用户B收到用户A发送的控制信息后,从该歌曲S的播放进度信息中获知,用户A在歌曲S的2M内容处暂停了播放,因此用户B不再向网络媒体提供方的服务器192.168.0.1请求该歌曲S的后续内容;若用户A和用户B之间扩展了P2P功能,则用户B除了停止向服务器192.168.0.1请求歌曲S的后续内容外,同时停止与用户A交换该歌曲S的2M字节内容后的数据帧的更新消息;用户A和用户B同时暂停播放歌曲S,同时用户B等待用户A发送歌曲S的后续播放状态信息,包括继续播放歌曲S、或停止播放歌曲S、或向前拖动播放歌曲S、或向后拖动播放歌曲S。
本发明方法第六实施例的流程图如图7所示,该实施例示出了三个用户之间通过P2P功能持续播放某一网络媒体,从而实现三个用户之间同步视听的流程,其中受控用户C从网络媒体提供方获得网络媒体内容的速度较慢
步骤701主控用户A从网络媒体提供方点播、获取并且实时播放某一网络媒体资源。
步骤702受控用户B主动向主控用户A发送加入同步视听的请求(该步骤也可以是主控用户A邀请受控用户B加入同步视听)。
步骤703主控用户A将当前播放的网络媒体资源的网络地址和当前播放进度等信息发送至受控用户B。
步骤704受控用户B根据该网络媒体资源的网络地址和当前播放进度信息向网络媒体提供方请求该网络媒体资源的当前播放内容。
步骤705网络媒体提供方根据该网络媒体资源当前播放进度信息,发送该网络媒体资源的当前播放内容到受控用户B。
步骤706主控用户A和受控用户B之间周期性发送当前播放的网络媒体资源的网络地址、播放进度信息、播放状态信息和下载进度信息到对方,将这些信息作为数据更新消息。
步骤707受控用户B根据周期性交换的数据更新消息向主控用户A请求由于网络故障等原因下载速度慢于播放速度的后续网络媒体内容。
步骤708主控用户A响应受控用户B的请求,将已经下载的后续网络媒体内容对应的数据帧发送给受控用户B。
步骤709受控用户C主动向主控用户A发送加入同步视听的请求(该步骤也可以是主控用户A邀请受控用户C加入同步视听)。
步骤710主控用户A将当前播放的网络媒体资源的网络地址、当前播放进度信息、当前同步视听的主控用户A和受控用户B的网络地址和端口发送至受控用户C。
步骤711主控用户A、受控用户B和受控用户C之间周期性发送当前播放的网络媒体资源的网络地址、播放进度信息、播放状态信息和下载进度信息,并将这些信息作为数据更新消息。
步骤712受控用户C根据周期性交换的数据更新消息向主控用户A和受控用户B请求由于网络故障等原因下载速度慢于播放速度的后续网络媒体内容。
步骤713主控用户A和受控用户B响应受控用户C的请求,将已经下载的后续网络媒体内容对应的数据帧发送给受控用户C。
三个以上的用户持续播放某一网络媒体,从而实现同步视听的步骤和过程与上述实施例六类似,在此不再赘述。
以用户A、用户B和用户C同步收听网络中的一首MP3歌曲为例,详细说明第六实施例的实现过程。在该实现过程中,假设用户C由于网络故障或带宽问题导致了下载进度慢于当前播放进度。
用户A通过搜索等途径获取了歌曲S的网络链接地址“http://192.168.0.1/music/words.mp3”后,用户A使用网络音乐播放器根据该链接地址实时获取并播放歌曲S;用户B获知用户A当前的听歌状态后,向用户A发送加入同步收听歌曲S的请求;用户A接受用户B的请求后,向用户B返回歌曲S的网络地址“http://192.168.0.1/music/words.mp3”,以及用户A当前收听歌曲S的播放进度信息,假设歌曲S的大小为3M字节,而此时用户A收听到1M字节的数据帧处,则1M即为歌曲S的播放进度信息;用户B收到歌曲S的网络地址和播放进度信息后,向网络地址“http://192.168.0.1/music/words.mp3”发送歌曲S的内容请求,该内容请求中携带歌曲S的当前播放进度信息“1M”和结束信息;网络媒体提供方的服务器192.168.0.1根据收到的内容请求,从该服务器上读取文件words.mp3从1M字节起到结束信息处的数据内容,并将该数据内容发送到用户B;用户B接收到数据内容后,即从歌曲S的1M字节处开始播放,并且在播放期间,用户B可以自动从服务器上获取该歌曲S的后续数据帧;用户A和用户B周期性地向对方发送歌曲S的播放进度信息、播放状态信息以及下载进度信息作为该歌曲S播放的数据更新消息;用户B由于与服务器192.168.0.1的网络故障原因导致从该服务器上下载歌曲S的进度慢于播放歌曲S的进度,因此用户B根据数据更新消息向用户A请求播放歌曲S所需要的后续数据帧,假设所请求的数据帧对应于歌曲S的1.5M-2.0M字节的数据内容;用户A由于下载进度较好,因此接收到用户B的请求后,将已经下载的歌曲S的1.5M-2.0M字节的数据内容发送给用户B,从而保证了在用户B网络故障时实现与用户A同步收听歌曲S;用户C获知用户A当前的听歌状态后,向用户A发送加入同步收听歌曲S的请求;用户A接受用户C的请求后,向用户C返回歌曲S的网络地址“http://192.168.0.1/music/words.mp3”,用户A当前收听歌曲S的播放进度信息,假设此时用户A收听到1.5M字节的数据帧处,则1.5M即为歌曲S的播放进度信息,同时还向用户C返回用户A与用户B的网络地址和端口信息;用户A、用户B和用户C之间周期性地发送歌曲S的播放进度信息、播放状态信息以及下载进度信息作为该歌曲S播放的数据更新消息;用户C由于与服务器192.168.0.1的网络故障原因导致从该服务器上下载歌曲S的进度慢于播放歌曲S的进度,因此用户C根据数据更新消息向用户A和用户B中下载进度快于自己的用户请求播放歌曲S所需要的后续数据帧,假设所请求的数据帧对应于歌曲S的2.0M-2.5M字节的数据内容;用户A由于下载进度较好,因此接收到用户C的请求后,将已经下载的歌曲S的2.0M-2.5M字节的数据内容发送给用户C,从而保证了在用户C网络故障时实现与用户A和用户B同步收听歌曲S。
本发明方法第七实施例的流程图如图8所示,该实施例示出了三个用户之间形成了封闭的P2P网络,它们持续播放某一网络媒体一段时间后暂停播放该网络媒体,从而实现同步视听的流程步骤801主控用户A暂停当前播放的网络媒体资源时,同时向受控用户B和受控用户C发送该网络媒体资源的地址、播放进度信息和暂停状态信息等信息。
步骤802受控用户B和受控用户C收到主控用户A发送的信息后,向网络媒体提供方中断请求该网络媒体的后续内容,同时停止用户之间发送的网络媒体数据帧的同步更新消息。
步骤803受控用户B和受控用户C暂停该网络媒体内容的播放,同时等待主控用户A发送后续的播放状态信息。
具体的,主控用户A在暂停播放该网络媒体内容一段时间后,可以向用户B和用户C发送的播放状态信息包括继续播放的状态信息、或停止播放的状态信息、或向前拖动播放的状态信息、或向后拖动播放的状态信息等。
在该实施例七中,也可以由受控用户B或受控用户C中的任意一个首先暂停当前网络媒体的播放,并发送相关的控制信息到其它用户。
特别的,若受控用户B或受控用户C首先停止当前网络媒体的播放,则表示其主动退出当前同步视听状态,则该受控用户向主控用户A发送停止同步的状态信息,主控用户A不再向该受控用户发送后续播放状态信息。
三个以上的用户暂停某一网络媒体的播放,从而实现同步视听的步骤和过程与上述实施例七类似,在此不再赘述。
仍然以用户A、用户B和用户C同步收听网络中的一首MP3歌曲为例,详细说明第七实施例的实现过程。
用户A、用户B和用户C在持续同步收听了歌曲S一段时间后,用户A暂停播放歌曲S,同时向用户B和用户C发送如下控制信息歌曲S的网络地址“http://192.168.0.1/music/words.mp3”,歌曲S当前的播放进度信息(假设用户A当前收听到歌曲S的2M字节内容处,则将信息“2M”作为播放进度信息),以及歌曲S当前的播放状态信息(用户A当前暂停播放该歌曲S,因此该播放状态信息为暂停播放);用户B和用户C收到用户A发送的控制信息后,从该歌曲S的播放进度信息中获知,用户A在歌曲S的2M内容处暂停了播放,因此用户B和用户C不再向网络媒体提供方的服务器192.168.0.1请求该歌曲S的后续内容,并且同时停止相互之间交换该歌曲S的2M字节内容后的数据帧的更新消息;用户A、用户B和用户C同时暂停播放歌曲S,同时用户B和用户C等待用户A发送歌曲S的后续播放状态信息,包括继续播放歌曲S、或停止播放歌曲S、或向前拖动播放歌曲S、或向后拖动播放歌曲S。
本发明实现网络媒体同步视听的系统的实施例框图如图9所示该系统包括网络媒体服务器910,用于存放同步视听的网络媒体;主控用户端920,用于向加入同步视听的受控用户发送当前播放的网络媒体地址及播放信息,该播放信息包括播放进度信息和播放状态信息;受控用户端930,用于根据网络媒体地址和播放进度信息,执行播放状态信息指示的操作,实现与主控用户同步视听所述网络媒体。
本发明用户端的第一实施例框图如图10所示该用户端包括发送控制信息单元S10,用于向加入同步视听的其它用户端发送当前播放的网络媒体地址及播放信息,该播放信息包括播放进度信息和播放状态信息;发送更新消息单元S20,用于向加入同步视听的其它用户端周期性发送数据更新消息,该数据更新消息包含网络媒体地址、播放进度信息、播放状态信息以及下载进度信息;发送网络媒体单元S30,用于当该用户端的下载进度大于其它用户端时,向其它用户端发送已下载的网络媒体;请求网络媒体单元S40,用于当用户端的下载进度小于其它用户端时,向其它用户端请求该网络媒体。
本发明用户端的第二实施例框图如图11所示该用户端包括接收控制信息单元S50,用于接收其它用户端发送的当前播放的网络媒体地址及播放信息,所述播放信息包括播放进度信息和播放状态信息;执行控制信息单元S60,用于根据网络媒体地址和播放进度信息,执行播放状态信息指示的操作,实现与其它用户端同步视听所述网络媒体;发送更新消息单元S70,用于向其它用户端周期性发送数据更新消息,所述数据更新消息包含网络媒体地址、播放进度信息、播放状态信息以及下载进度信息;发送网络媒体单元S80,用于该用户端的下载进度大于其它用户端时,向其它用户端发送已下载的网络媒体;请求网络媒体单元S90,用于该用户端的下载进度小于其它用户端时,向其它用户端请求所述网络媒体。
其中,执行控制信息单元S60包括发送请求单元S61,用于向网络媒体地址对应的服务器发送获取该网络媒体的请求,该请求中包含该网络媒体当前播放进度信息;接收网络媒体单元S62,用于接收服务器发送的网络媒体。
由以上本发明提供的实施例可知,应用本发明实现网络媒体同步视听的方法,主控用户通过将网络媒体地址和播放信息发送给受控用户,受控用户根据网络媒体地址和播放进度信息,执行播放状态信息指示的持续播放、暂停播放等操作,使得用户间可以灵活地同步视听网络媒体,达到良好的协同娱乐效果,并且本发明实现同步视听的用户之间通过扩展的P2P功能,提高了同步视听的流畅度,相应增强了系统的性能。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
权利要求
1.一种实现网络媒体同步视听的方法,其特征在于,包括主控用户向加入同步视听的受控用户发送当前播放的网络媒体地址及播放信息,所述播放信息包括播放进度信息和播放状态信息;受控用户根据所述网络媒体地址和播放进度信息,执行所述播放状态信息指示的操作,实现与主控用户同步视听所述网络媒体。
2.根据权利要求1所述的方法,其特征在于,所述播放状态信息包括持续播放、暂停播放、向前拖动播放、或向后拖动播放。
3.根据权利要求2所述的方法,其特征在于,所述播放状态信息为持续播放,所述受控用户根据所述网络媒体地址和播放进度信息,执行所述播放状态信息指示的操作包括受控用户向所述网络媒体地址对应的服务器发送获取所述网络媒体的请求,所述请求中包含该网络媒体当前播放进度信息;所述服务器读取该网络媒体当前播放进度至结束时的内容,并将该内容发送至受控用户;所述受控用户根据接收到的内容持续播放所述网络媒体。
4.根据权利要求3所述的方法,其特征在于,所述主控用户和受控用户之间扩展了P2P功能,所述方法进一步包括主控用户和受控用户之间周期性发送数据更新消息,所述数据更新消息包含网络媒体地址、播放进度信息、播放状态信息以及下载进度信息;所述主控用户和受控用户中下载进度慢的用户根据所述数据更新消息,向下载进度快的用户请求所述网络媒体的后续内容;所述下载进度快的用户将已下载的所述网络媒体的后续内容发送至所述下载进度慢的用户。
5.根据权利要求3或4所述的方法,其特征在于,所述播放状态信息为暂停播放,受控用户根据所述网络媒体地址和播放进度信息,执行所述播放状态信息指示的操作包括受控用户停止向所述网络媒体地址对应的服务器发送获取所述网络媒体的请求;所述网络媒体地址对应的服务器停止向所述受控用户发送网络媒体内容;所述受控用户从所述播放进度信息处暂停播放所述网络媒体。
6.根据权利要求5所述的方法,其特征在于,所述方法进一步包括主控用户和受控用户之间停止周期性发送所述数据更新消息,且所述下载进度快的用户停止将已下载的所述网络媒体的后续内容发送至所述下载进度慢的用户。
7.根据权利要求1所述的方法,其特征在于,所述方法进一步包括主控用户和受控用户中的任意一方终止同步视听所述网络媒体。
8.一种实现网络媒体同步视听的系统,其特征在于,包括网络媒体服务器,用于存放同步视听的网络媒体;主控用户端,用于向加入同步视听的受控用户端发送当前播放的网络媒体地址及播放信息,所述播放信息包括播放进度信息和播放状态信息;受控用户端,用于根据所述网络媒体地址和播放进度信息,执行所述播放状态信息指示的操作,实现与主控用户端同步视听所述网络媒体。
9.一种用户端,其特征在于,包括发送控制信息单元,用于向加入同步视听的其它用户端发送当前播放的网络媒体地址及播放信息,所述播放信息包括播放进度信息和播放状态信息。
10.根据权利要求9所述的用户端,其特征在于,用户端扩展了P2P功能,所述用户端进一步包括发送更新消息单元,用于向加入同步视听的其它用户端周期性发送数据更新消息,所述数据更新消息包含网络媒体地址、播放进度信息、播放状态信息以及下载进度信息;发送网络媒体单元,用于所述用户端的下载进度大于其它用户端时,向其它用户端发送已下载的网络媒体;请求网络媒体单元,用于所述用户端的下载进度小于其它用户端时,向其它用户端请求所述网络媒体。
11.一种用户端,其特征在于,包括接收控制信息单元,用于接收其它用户端发送的当前播放的网络媒体地址及播放信息,所述播放信息包括播放进度信息和播放状态信息;执行控制信息单元,用于根据网络媒体地址和播放进度信息,执行播放状态信息指示的操作,实现与其它用户端同步视听所述网络媒体。
12.根据权利要求11所述的用户端,其特征在于,所述执行控制信息单元包括发送请求单元,用于向所述网络媒体地址对应的服务器发送获取所述网络媒体的请求,所述请求中包含该网络媒体当前播放进度信息;接收网络媒体单元,用于接收所述服务器发送的网络媒体。
13.根据权利要求12所述的用户端,其特征在于,用户端扩展了P2P功能,所述用户端进一步包括发送更新消息单元,用于向其它用户端周期性发送数据更新消息,所述数据更新消息包含网络媒体地址、播放进度信息、播放状态信息以及下载进度信息;发送网络媒体单元,用于所述用户端的下载进度大于其它用户端时,向其它用户端发送已下载的网络媒体;请求网络媒体单元,用于所述用户端的下载进度小于其它用户端时,向其它用户端请求所述网络媒体。
全文摘要
本发明公开了一种实现网络媒体同步视听的方法,包括主控用户向加入同步视听的受控用户发送当前播放的网络媒体地址及播放信息,所述播放信息包括播放进度信息和播放状态信息;受控用户根据所述网络媒体地址和播放进度信息,执行所述播放状态信息指示的操作,实现与主控用户同步视听所述网络媒体。本发明还公开了一种实现网络媒体同步视听的系统和用户端。应用本发明实现网络媒体同步视听的方法,主控用户无需将当前播放的网络媒体内容输出采样后,再发送到受控用户,而是通过将网络媒体地址和播放信息发送给受控用户,使受控用户执行播放状态信息指示的操作,从而使得用户间可以灵活地同步视听网络媒体,达到良好的协同娱乐效果。
文档编号H04N7/52GK101072359SQ20071010796
公开日2007年11月14日 申请日期2007年5月18日 优先权日2007年5月18日
发明者胡鹏, 王新亮, 周军 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1