一种时基媒体播放方法及系统的制作方法

文档序号:7719637阅读:186来源:国知局
专利名称:一种时基媒体播放方法及系统的制作方法
技术领域
本发明涉及计算机领域,特别是涉及一种时基媒体播放方法及系统。
背景技术
目前,网络上的音频/视频(A/V)等时基媒体信息主要有下载后播放和流式播放 两种播放方式。 其中,为了通过使用下载方法将内容传递给用户,当用户将完整的文件下载到其 本地硬盘上后,再使用播放器播放内容。这种方式对解码库要求比较低,通常媒体的解码库 都会提供本地文件解码的功能。但是下载需要用户将文件复制到其计算机中,然后才能播 放,而且必须保证文件的完整性和正确性。然而,A/V文件一般都较大,所以需要的存储容 量也较大;同时由于网络带宽的限制,下载常常要花数分钟甚至数小时,所以这种处理方法 延迟也很大,不能用于播放实时流。 如果要通过使用流式播放方法,依据流传输协议,客户播放器需要与媒体服务器 建立连接,接收并播放相应的流。因为流式播放可实现边下载、边解码、边播放,所以它比 下载更高效地使用带宽,有助于防止网络变得过载并有助于维持系统的可靠性。即,在流 式播放方式下,声音、影像或动画等时基媒体由音视频服务器向用户计算机的连续、实时传 送,用户不必等到整个文件全部下载完毕,而只需经过几秒或十数秒的启动延时即可进行 观看。当时基媒体在客户端播放时,文件的剩余部分将在后台从服务器内继续下载。相对 于下载后本地播放,流式播放不仅使启动延时成十倍、百倍地縮短,而且避免了用户必须等 待整个文件全部从Internet上下载才能观看的缺点。 但是,在流式播放的方式下,需要解码库对流式播放的支持,即播放器需要具有能 够解析流式传输协议(如,实时流控制协议(RSTP)等),因此,对播放器的要求较高。

发明内容
本发明提供一种时基媒体播放方法及系统,能够将下载与流式播放的优点相结合。 为实现上述目的,本发明提供了如下方案
—种时基媒体播放方法,包括 接收到播放器的时基媒体播放请求后,实时获取服务器以流式进行传输的时基媒 体数据; 解析所述实时获取的时基媒体数据,并将所述解析后的时基媒体数据映射为本地 映射文件; 将所述本地映射文件的句柄发送给所述播放器,以便所述播放器以文件方式读取 所述时基媒体数据,对时基媒体进行播放。
优选的,还包括 将所述解析后的时基媒体数据映射为本地文件后,将所述本地文件保存在共享缓冲区。 优选的,所述接收到播放器的时基媒体播放请求后还包括 判断所述共享缓冲区是否存在所述请求的时基媒体的本地映射文件; 如果存在,将所述本地映射文件的句柄发送给所述播放器,以便所述播放器以文
件方式读取所述时基媒体数据,对时基媒体进行播放; 否则,执行所述实时获取服务器以流式进行传输的时基媒体数据及其后续步骤。
优选的,所述将所述解析后的时基媒体数据映射为本地映射文件根据时,还包 括 根据时基媒体的唯一标识建立与所述本地映射文件之间的映射关系; 所述判断所述共享缓冲区是否存在所述请求的时基媒体的本地映射文件包括 获取该时基媒体的唯一标识,判断所述共享缓冲区中是否存在与该唯一标识对应
的本地映射文件。 优选的,还包括 当多个进程引用同一本地映射文件时,增加该本地映射文件的引用计数;
当进程结束时,将所述引用计数进行减操作。
优选的,还包括 当所述引用计数为零时,将该本地映射文件从所述共享缓冲区移除。
—种时基媒体播放系统,包括 实时获取单元,用于接收到播放器的时基媒体播放请求后,实时获取服务器以流 式进行传输的时基媒体数据; 映射单元,用于解析所述实时获取的时基媒体数据,并将所述解析后的时基媒体 数据映射为本地映射文件; 发送单元,用于将所述本地映射文件的句柄发送给所述播放器,以便所述播放器
以文件方式读取所述时基媒体数据,对时基媒体进行播放。
优选的,还包括 保存单元,用于将所述解析后的时基媒体数据映射为本地文件后,将所述本地文
件保存在共享缓冲区。 优选的,还包括 判断单元,用于判断所述共享缓冲区是否存在所述请求的时基媒体的本地映射文 件; 第一触发单元,用于如果存在,则将所述本地映射文件的句柄发送给所述播放器,
以便所述播放器以文件方式读取所述时基媒体数据,对时基媒体进行播放; 第二触发单元,用于如果不存在,则触发执行所述实时获取服务器以流式进行传
输的时基媒体数据及其后续步骤。 优选的,还包括 映射关系建立单元,用于将所述解析后的时基媒体数据映射为本地映射文件根据 时,根据时基媒体的唯一标识建立与所述本地映射文件之间的映射关系;
所述判断单元具体用于获取该时基媒体的唯一标识,判断所述共享缓冲区中是否 存在与该唯一标识对应的本地映射文件。
优选的,还包括 引用计数加单元,用于当多个进程引用同一本地映射文件时,增加该本地映射文 件的引用计数; 引用计数减单元,用于当进程结束时,将所述引用计数进行减操作。
优选的,还包括 移除单元,用于当所述引用计数为零时,将该本地映射文件从所述共享缓冲区移 除。
根据本发明提供的具体实施例,本发明公开了以下技术效果 本发明在接收到播放器的多媒体播放请求后,实时获取服务器以流式进行传输的 多媒体数据;解析所述实时获取的多媒体数据,并将所述解析后的多媒体数据映射为本地 映射文件;将所述本地映射文件的句柄发送给所述播放器,以便所述播放器以文件方式读 取所述多媒体数据,对多媒体进行播放。可见,在本发明中,通过文件映射的方法,可以在获 取数据流的过程中,进行动态地解析及映射,播放器只需要读取映射后的文件即可进行播 放。因此,使得整个播放过程对于播放器而言是文件播放,而对于服务器而言是流式传输, 从而可以将下载与流式播放的优点相结合,既可以实现时基媒体的实时播放,又不需要播 放器对流式传输协议的支持。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施 例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图 获得其他的附图。
图1是本发明实施例提供的方法的流程图;
图2是本发明实施例提供的另一方法的流程图;
图3是本发明实施例提供的装置的示意图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。 实施例一、参见图l,本发明实施例提供的时基媒体播放方法包括以下步骤
S101 :接收到播放器的时基媒体播放请求后,实时获取服务器以流式进行传输的 时基媒体数据; 其中,所述时基媒体可以包括音频、视频、动画等可以进行连续播放的多媒体文 件。 S102 :解析所述实时获取的时基媒体数据,并将所述解析后的时基媒体数据映射 为本地映射文件; S103 :将所述本地映射文件的句柄发送给所述播放器,以便所述播放器以文件方式读取所述时基媒体数据,对时基媒体进行播放。 本发明实施例提供以软件的方式提供了一种播放控制服务,在具体实现时,可以 在客户端安装本发明实施例提供的软件,就可以按照本发明实施例提供的方法实现时基媒 体的播放。 因此,上述各步骤的执行主体是上述软件系统,S卩,在本发明实施例中,播放器实 际播放的并不是服务器提供的数据流,而是所述软件系统提供的本地映射文件。所述软件 系统相当于是服务器与播放器之间的桥梁,借助该软件系统,可以实现对于服务器而言仍 然是流式传输,但是对于播放器而言,却是文件播放,因此,可以在用户界面上收到流式播 放的效果,但是并不需要播放器对流式传输协议的支持,只要能够支持文件格式即可。
需要说明的是,流式传输的实现需要合适的传输协议,一般采用RTP/UDP来传输 实时声音或视频数据,用HTTP/TCP来传输控制信息。在本发明实施例中,协议解析的工作 是由所述软件系统完成的,同时可以建立缓冲区,解析完成之后,将解析后的数据映射为本 地映射文件,存放在所述缓冲区中;然后将该本地映射文件的句柄发送给播放器,播放器就 可以按照播放本地文件的方式来播放了,因此播放器只需要具有基本的解码功能即可。可 见,在播放时基媒体的过程中,传输协议与数据格式各自独立、相互透明,只需要有本地文 件解码库即可进行解码播放。 而在普通的流式播放过程中,通常的播放流程是这样的Helper程序及服务器运 行实时流控制协议(RSTP),以交换时基媒体传输所需的控制信息。与CD播放机或VCRs所 提供的功能相似,RSTP提供了操纵播放、快进、快倒、暂停及录制等命令的方法。服务器使 用RTP/UDP协议将时基媒体数据传输给客户程序(一般可以认为客户程序等同于Helper 程序),一旦时基媒体数据抵达客户端,播放器即可播放输出。因此,播放器接收到的是服 务器发送的时基媒体数据,因此,播放器在对数据进行解码之前,还需要对数据进行协议解 析。即,播放器必须知道服务器所使用的传输协议,并且必须具有解析该传输协议的功能才 能够实现。 另外需要说明的是,在本发明实施例中,播放器虽然是以读取文件的方式进行播 放,但是并不需要将完整的文件下载完毕才播放,而是可以边下载边播放,播放过程中只要 满足数据的完整性即可。例如,视频数据在播放时通常以帧为单位的,那么只要接收到一帧 完整的数据,播放器就可以成功地将该数据解码,并展现其图像。 此外,在服务器进行流式传输的过程中,数据会被分解为许多包进行传输,而由于 网络是动态变化的,从而使各个包选择的路由可能不尽相同,因此,它们到达客户端的时间 延迟也就不等,甚至先发的数据包还有可能后到。为此,使用缓存系统来弥补延迟和抖动的 影响,并保证数据包顺序的正确性,从而使媒体数据能连续输出,而不会因为网络暂时拥塞 使播放出现停顿。例如,假设某视频共有1、2、3、4、5这样五个数据包,客户端首先接收到了 数据包1、3、5,此时按照普通的流式播放方式,播放器在播放完数据包1的内容之后,会等 待,直到接收到数据包2,再继续播放;如果播放完了数据包3,数据包4仍然未收到,则又会 继续等待。 但是本发明实施例中,则可以尚未接收到的数据包跳过,例如,仍假设某视频共有 1 、 2、 3、4、 5这样五个数据包,客户端首先接收到了数据包1 、 3、 5,则,在播放完数据包1的内 容后,可以继续播放数据包3的内容,在播放数据包3的内容之前可以显示一个空的图像,或者提示用户该部分内容暂时无法播放等等。因此,提高了播放的灵活性。 实施例二、在该实施例中,可以在将所述解析后的时基媒体数据映射为本地文件
后,将所述本地文件保存在共享缓冲区。这样,在接收到播放器的时基媒体播放请求后,可
以首先判断共享缓冲区是否存在该时基媒体的本地映射文件,如果存在,则可以使播放器
直接以文件方式读取数据,并播放时基媒体,如果不存在,再按照实施例一所描述的方式进行。 参见图2,该实施例的时基媒体播放方法可以包括以下步骤
S201 :接收播放器的时基媒体播放请求; S202 :判断共享缓冲区是否存在所述请求的时基媒体的本地映射文件;如果存 在,进入步骤S203 ;否则,进入步骤S204 : 在具体判断时,可以根据时基媒体文件的标识进行判断,例如,通常,网页中的视 频等时基媒体都会有文件名,可以以此作为时基媒体的唯一标识,通过该唯一标识进行与 本地文件的映射;这样,在接收到播放器的时基媒体播放请求后,可以首先获取该时基媒体 的唯一标识,然后在所述共享缓冲区中判断是否存在与该唯一标识对应的本地映射文件。 当然,也可以通过其他方法来建映射关系,这里不做限定。 S203 :将所述本地映射文件的句柄发送给所述播放器,以便所述播放器以文件方 式读取所述时基媒体数据,对时基媒体进行播放; S204 :接收到播放器的时基媒体播放请求后,实时获取服务器以流式进行传输的 时基媒体数据; S205 :解析所述实时获取的时基媒体数据,并将所述解析后的时基媒体数据映射 为本地映射文件; S206 :将所述本地映射文件的句柄发送给所述播放器,以便所述播放器以文件方 式读取所述时基媒体数据,对时基媒体进行播放。 在普通的流式播放过程中,在对下载的数据进行缓存时,通常使用的是高速缓存, 高速缓存使用环形链表结构来存储数据通过丢弃已经播放的内容,重新利用空出的高速 缓存空间来缓存后续尚未播放的内容。 而在本发明实施例二中,为了同一客户端可以共享缓冲区的数据,还可以对缓冲 区的数据进行保存,即,对于缓冲区中的本地映射文件,在即使是已播放的内容,也不会丢 弃,而是保存在缓冲区中,待整个视频播放完成之后,就可以获得该视频完整的文件。这样, 如果用户下次再需要通过网页浏览该视频时,就可以直接从缓冲区读取文件,而不用再从 服务器下载,因此,大大提高了播放的效率,同时节省了网络资源。 这里需要说明的是,如果某视频还没有播放完毕,用户就将网页关闭了,则所述软 件系统可以继续将该视频的文件下载完,并在缓冲区中保存其完整的本地映射文件,以便 在同一客户端实现共享。 这里另外需要说明的是,在不同的网页中可能存在相同的视频,本发明实施例能 够支持从不同的网页播放同一视频时,共享缓冲区中的本地映射文件。例如,假设用户在网 页1中播放视频A时,将该视频A的数据映射到了缓冲区,并进行了保存;而网页2中也存 在视频A,那么下次如果用户在网页2中播放该视频A,同样可以将视频A对应的本地映射 文件的句柄发送给网页2中相应的播放器,因此,该网页2中的播放器也可以直接以文件方式读取数据并进行视频的播放。 此外,还可以允许多个进程共享缓冲区中的同一本地映射文件,例如,用户启动了 多个关于同一本地映射文件的进程,则可以增加此本地映射文件的引用计数,当某进程结 束时,则将该本地映射文件的引用计数进行减一操作,当引用计数为0时,还可以将该本地 映射文件从共享缓冲区中移除。可见,通过这种多进程共享的方式,进一步提高了效率。
与本发明实施例提供的方法相对应,本发明实施例还提供了一种时基媒体播放系 统,参见图3,该系统包括 实时获取单元U301,用于接收到播放器的时基媒体播放请求后,实时获取服务器 以流式进行传输的时基媒体数据; 映射单元U302,用于解析所述实时获取的时基媒体数据,并将所述解析后的时基 媒体数据映射为本地映射文件; 发送单元U303,用于将所述本地映射文件的句柄发送给所述播放器,以便所述播 放器以文件方式读取所述时基媒体数据,对时基媒体进行播放。 可见,本发明实施例通过文件映射的方法,可以在获取数据流的过程中,进行动态 地解析及映射,播放器只需要读取映射后的文件即可进行播放。因此,使得整个播放过程对 于播放器而言是文件播放,而对于服务器而言是流式传输,从而可以将下载与流式播放的 优点相结合,既可以实现时基媒体的实时播放,又不需要播放器对流式传输协议的支持。
为了实现本地映射文件的共享,该系统还可以包括 保存单元,用于将所述解析后的时基媒体数据映射为本地文件后,将所述本地文 件保存在共享缓冲区。
在对本地映射文件进行保存的情况下,该系统还可以包括 判断单元,用于判断所述共享缓冲区是否存在所述请求的时基媒体的本地映射文 件; 第一触发单元,用于如果存在,则将所述本地映射文件的句柄发送给所述播放器,
以便所述播放器以文件方式读取所述时基媒体数据,对时基媒体进行播放; 第二触发单元,用于如果不存在,则触发执行所述实时获取服务器以流式进行传
输的时基媒体数据及其后续步骤。 其中,该系统还包括 映射关系建立单元,用于将所述解析后的时基媒体数据映射为本地映射文件根据
时,根据时基媒体的唯一标识建立与所述本地映射文件之间的映射关系; 相应的,所述判断单元具体用于获取该时基媒体的唯一标识,判断所述共享缓冲
区中是否存在与该唯一标识对应的本地映射文件。 本发明实施例能够支持多个进程共享本地映射文件,此时,该系统还可以包括
引用计数加单元,用于当多个进程引用同一本地映射文件时,增加该本地映射文 件的引用计数; 引用计数减单元,用于当进程结束时,将所述引用计数进行减操作。
此外,该系统还可以包括 移除单元,用于当所述引用计数为零时,将该本地映射文件从所述共享缓冲区移 除。
以上对本发明所提供的一种时基媒体播放方法及系统,进行了详细介绍,本文中 应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助 理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想, 在具体实施方式
及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本 发明的限制。
权利要求
一种时基媒体播放方法,其特征在于,包括接收到播放器的时基媒体播放请求后,实时获取服务器以流式进行传输的时基媒体数据;解析所述实时获取的时基媒体数据,并将所述解析后的时基媒体数据映射为本地映射文件;将所述本地映射文件的句柄发送给所述播放器,以便所述播放器以文件方式读取所述时基媒体数据,对时基媒体进行播放。
2. 根据权利要求l所述的方法,其特征在于,还包括将所述解析后的时基媒体数据映射为本地文件后,将所述本地文件保存在共享缓冲区。
3. 根据权利要求2所述的方法,其特征在于,所述接收到播放器的时基媒体播放请求 后还包括判断所述共享缓冲区是否存在所述请求的时基媒体的本地映射文件; 如果存在,将所述本地映射文件的句柄发送给所述播放器,以便所述播放器以文件方 式读取所述时基媒体数据,对时基媒体进行播放;否则,执行所述实时获取服务器以流式进行传输的时基媒体数据及其后续步骤。
4. 根据权利要求3所述的方法,其特征在于,所述将所述解析后的时基媒体数据映射 为本地映射文件根据时,还包括根据时基媒体的唯一标识建立与所述本地映射文件之间的映射关系; 所述判断所述共享缓冲区是否存在所述请求的时基媒体的本地映射文件包括 获取该时基媒体的唯一标识,判断所述共享缓冲区中是否存在与该唯一标识对应的本 地映射文件。
5. 根据权利要求2所述的方法,其特征在于,还包括当多个进程引用同一本地映射文件时,增加该本地映射文件的引用计数; 当进程结束时,将所述引用计数进行减操作。
6. 根据权利要求5所述的方法,其特征在于,还包括 当所述引用计数为零时,将该本地映射文件从所述共享缓冲区移除。
7. —种时基媒体播放系统,其特征在于,包括实时获取单元,用于接收到播放器的时基媒体播放请求后,实时获取服务器以流式进 行传输的时基媒体数据;映射单元,用于解析所述实时获取的时基媒体数据,并将所述解析后的时基媒体数据 映射为本地映射文件;发送单元,用于将所述本地映射文件的句柄发送给所述播放器,以便所述播放器以文 件方式读取所述时基媒体数据,对时基媒体进行播放。
8. 根据权利要求7所述的系统,其特征在于,还包括保存单元,用于将所述解析后的时基媒体数据映射为本地文件后,将所述本地文件保 存在共享缓冲区。
9. 根据权利要求8所述的系统,其特征在于,还包括判断单元,用于判断所述共享缓冲区是否存在所述请求的时基媒体的本地映射文件;第一触发单元,用于如果存在,则将所述本地映射文件的句柄发送给所述播放器,以便 所述播放器以文件方式读取所述时基媒体数据,对时基媒体进行播放;第二触发单元,用于如果不存在,则触发执行所述实时获取服务器以流式进行传输的 时基媒体数据及其后续步骤。
10. 根据权利要求9所述的系统,其特征在于,还包括映射关系建立单元,用于将所述解析后的时基媒体数据映射为本地映射文件根据时, 根据时基媒体的唯一标识建立与所述本地映射文件之间的映射关系;所述判断单元具体用于获取该时基媒体的唯一标识,判断所述共享缓冲区中是否存在 与该唯一标识对应的本地映射文件。
11. 根据权利要求8所述的系统,其特征在于,还包括引用计数加单元,用于当多个进程引用同一本地映射文件时,增加该本地映射文件的 引用计数;引用计数减单元,用于当进程结束时,将所述引用计数进行减操作。
12. 根据权利要求11所述的系统,其特征在于,还包括移除单元,用于当所述引用计数为零时,将该本地映射文件从所述共享缓冲区移除。
全文摘要
本发明公开了一种时基媒体播放方法及系统,其中,所述方法包括接收到播放器的时基媒体播放请求后,实时获取服务器以流式进行传输的时基媒体数据;解析所述实时获取的时基媒体数据,并将所述解析后的时基媒体数据映射为本地映射文件;将所述本地映射文件的句柄发送给所述播放器,以便所述播放器以文件方式读取所述时基媒体数据,对时基媒体进行播放。通过本发明,可以将下载与流式播放的优点相结合,既可以实现时基媒体的实时播放,又不需要播放器对流式传输协议的支持。
文档编号H04L29/06GK101702767SQ20091023585
公开日2010年5月5日 申请日期2009年10月28日 优先权日2009年10月28日
发明者夏黎明 申请人:北京东方网力科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1