CN100589557C - 一种提高客户端vcr操作的响应速度的方法 - Google Patents
一种提高客户端vcr操作的响应速度的方法 Download PDFInfo
- Publication number
- CN100589557C CN100589557C CN200610145640A CN200610145640A CN100589557C CN 100589557 C CN100589557 C CN 100589557C CN 200610145640 A CN200610145640 A CN 200610145640A CN 200610145640 A CN200610145640 A CN 200610145640A CN 100589557 C CN100589557 C CN 100589557C
- Authority
- CN
- China
- Prior art keywords
- buffering area
- media server
- frame data
- client
- streaming media
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提供一种提高客户端VCR操作的响应速度的方法,包括:在客户端设置用于缓存帧数据的缓冲区,指向当前播放帧的指针和停止快传门限;在用户请求播放或其他VCR操作时,如果缓冲区没有达到停止快传门限,则客户端的控制模块通过流协议模块向流媒体服务器提出快传请求,流媒体服务器在接到快传请求后向缓冲区快传媒体数据码流;如果缓冲区达到停止快传门限,则控制模块通过流协议模块向流媒体服务器提出正常传输请求,流媒体服务器以正常速度向缓冲区传送媒体数据码流;如果缓冲区满,则根据操作类型选择用接收到新的帧数据替换最老的帧数据或是停止向缓冲区传送帧数据。本发明的方法可有效提高VCR操作的响应速度和用户体验质量。
Description
技术领域
本发明涉及流媒体系统中的视频点播(Video On Demand,以下简称VOD)领域,且特别涉及一种提高客户端的VCR操作的响应速度的方法。
背景技术
在基于IP协议的电视业务或系统(Internet Protocol Television,以下简称IPTV)和流媒体系统中,VOD是一种最主要的业务。在VOD中,需要支持暂停、恢复播放、快进、快退等VCR操作,这些操作的响应速度直接影响用户体验效果。在现有技术中,VCR操作通过实时流协议(RealTime Streaming Protocol,以下简称RTSP)通知流媒体服务器改变媒体数据发放方式来达到VCR效果。具体来说,暂停时,通知流媒体服务器暂停媒体流发放;恢复播放时,通知流媒体服务器从上次暂停处恢复媒体流发放;快进和快退时,通知流媒体服务器以跳帧方式发放关键帧。这种实现方式由于需要实时地与服务器交互,其响应速度难以提高,因此,一般系统除暂停操作外,响应时间都比较长,许多都在1秒以上,长的响应时间影响了用户体验。究其原因,主要是因为这种实现方式完全依赖服务器,而没有利用客户端的缓存和处理能力。同时,随着集成电路技术的快速发展,客户端处理能力越来越强,硬件成本越来越低,特别是CPU和内存价格持续走低,使得VCR功能可以利用客户端资源实现成为可能。
发明内容
本发明的目的是通过利用客户端的缓存资源和CPU处理能力来提高VCR操作的响应速度。
一种提高客户端VCR操作的响应速度的方法,包括以下步骤:
步骤1,在客户端设置用于缓存帧数据的缓冲区,指向当前播放帧的指针和停止快传门限。
步骤2,在用户请求播放或其他VCR操作时,如果上述缓冲区没有达到上述停止快传门限,则客户端的控制模块通过流协议模块向流媒体服务器提出快传请求,流媒体服务器在接到快传请求后向缓冲区快传媒体数据码流;如果上述缓冲区达到停止快传门限,则控制模块通过流协议模块向流媒体服务器提出正常传输请求,流媒体服务器以正常速度向缓冲区传送媒体数据码流;如果上述缓冲区满,则根据操作类型选择用接收到新的帧数据替换最老的帧数据或是停止向缓冲区传输帧数据。
其中,根据操作类型选择媒体数据码流是普通媒体数据码流或者关键帧媒体数据码流。
如果用户开始请求播放,此时缓冲区内没有帧数据,则客户端的控制模块通过流协议模块向流媒体服务器提出快传请求,流媒体服务器在接到快传请求后向缓冲区快传普通媒体数据码流,播放模块以正常速度从缓冲区中取出帧数据,解码后播放,并缓存播放过的关键帧数据;当缓冲区达到上述停止快传门限时,控制模块通过流协议模块向流媒体服务器提出正常传输请求,流媒体服务器在接到正常传输请求后以正常速度向缓冲区传送普通媒体数据码流;如果缓冲区已满而又接收到新的帧数据,则替换最老的帧数据。
如果上述VCR操作是暂停操作,则客户端首先判断缓冲区是否已满,如果未满,则允许流媒体服务器以当前速度传送普通媒体数据码流,直到缓冲区满时,再向服务器发送暂停要求;如果已满,直接向服务器发送暂停要求。
如果上述VCR操作是恢复操作,则控制模块立即通知播放模块播放缓冲区中的帧数据,客户端的控制模块通过流协议模块向流媒体服务器提出传送请求;如果没有达到停止快传门限,则流媒体服务器在接到请求后向缓冲区快传普通媒体数据码流,否则以正常速度向缓冲区传输普通媒体数据码流。
如果上述VCR操作是快进/快退操作,则控制模块立即通知播放模块播放缓冲区中相应的关键帧数据,同时通知流媒体服务器向缓冲区快传或以正常速度传送后续的关键帧媒体数据码流。在快进/快退时,播放模块以固定速度取关键帧数据进行显示,快进/快退的倍速不同通过取关键帧数据的间隔来实现,快进/快退跳过的非关键帧数据都被丢弃。
采用本发明的方法可以有效地提高用户VCR操作的响应速度,提高用户体验质量。
下面结合附图,对本发明的具体实施方式作进一步的详细说明。对于所属技术领域的技术人员而言,从对本发明的详细说明中,本发明的上述和其他目的、特征和优点将显而易见。
附图说明
图1是客户端的系统结构图;
图2是本发明一较佳实施例的正常播放阶段的总体流程图;
图3是本发明一较佳实施例的正常播放阶段缓冲区变化的示意图;
图4是本发明一较佳实施例的暂停操作的总体流程图;
图5是本发明一较佳实施例的暂停操作时缓冲区变化的示意图;
图6是本发明一较佳实施例的恢复播放操作的总体流程图;
图7是本发明一较佳实施例的快进/快退操作的总体流程图;
图8是本发明一较佳实施例的快进/快退操作时缓冲区变化的示意图。
具体实施方式
下面结合附图和具体实施例对本发明所述的一种提高客户端的VCR操作的响应速度的方法作进一步的详细说明。
如图1所示,客户端包含控制模块101、播放模块102、缓冲区103和流协议模块104四部分。其中,播放模块102解码音视频帧数据并显示输出;缓冲区103缓存音视频帧数据待播放模块102使用;控制模块101包括三方面的功能:一是接受和处理用户指令11,按照用户的要求从缓冲区103中提取帧数据供播放模块102解码播放,二是监控缓冲区103的情况,并根据播放模式向流协议模块104发送控制指令,三是进行缓冲区103的管理;流协议模块104负责与流媒体服务器105进行协议交互和媒体数据码流的接收。
在上述系统中,本发明的方法主要包括几个步骤的操作:
第一步,客户端缓冲区初始化:
客户端启动后,首先初始化缓冲区103,设置播放指针为空,设置快传门限和停止快传门限。
第二步,用户开始播放:
如图2所示,在本实施例中,用户100开始请求播放时,缓冲区103中没有数据,控制模块101通过流协议模块104向流媒体服务器105提出快传请求,流媒体服务器105以高出正常码流的方式快发普通媒体数据码流,进行媒体数据的快传。此时播放模块102以正常速度解码帧数据并播放,对播放过的非关键帧数据进行清除腾出缓冲区103,对关键帧数据进行缓存。在这个阶段,缓冲区103被逐渐充满。当控制模块101监控到缓冲区到达停止快传门限时,控制模块101通过流协议模块104向流媒体服务器105提出正常传输请求,通知其从快传模式转为正常传输模式,流媒体服务器105以正常速度向缓冲区传送普通媒体数据码流。
图3a、图3b和图3c表示该正常播放阶段中缓冲区103的变化情况。开始播放时如图3a所示,缓冲区103中的音视频帧数据较少,快传的音视频帧数据被缓存,播放过的关键帧数据也被缓存。如图3b所示,随着时间推移,缓冲区103逐渐被充满,当到达停止快传门限后,快传改成正常下传,但由于需要缓存播放过的关键帧,缓冲区仍然逐渐被消耗。如图3c所示,当缓冲区103被充满后,正常下传的帧数据需要替换最老的关键帧数据,关键帧数据以正常速度老化。如果用户100不进行VCR操作,缓冲区103将一直按照这种滑窗方式运作。
第三步,VCR操作
VCR操作包括暂停、恢复、快进、快退等操作,下面对上述几个主要的VCR操作分别进行描述:
1)暂停操作:如图4所示,在本实施例中,用户100提出暂停请求时,控制模块101通知播放模块102暂停播放。此时如果缓冲区103未满,则流媒体服务器按照当前的速度发放普通媒体数据码流,如果已到达停止快传门限,则以正常速度发送普通媒体数据码流到缓冲区103;如果未到达停止快传门限,则依然以高于正常速度下传普通媒体数据码流到缓冲区103,直到缓冲区103达到停止快传门限时,再由控制模块101通过流协议模块104向流媒体服务器105提出正常传输请求,以正常速度下传普通媒体数据码流到缓冲区103。当缓冲区103满时,控制模块101通过流协议模块104向流媒体服务器105发送暂停要求,流媒体服务器105暂停发送媒体数据。当然,如果100提出暂停请求时缓冲区已满,则直接向流媒体服务器105发送暂停要求即可。
图5a、图5b和图5c表示该暂停操作中缓冲区103的变化情况,在此过程中缓冲区的变化将被逐渐消耗。如图5a所示,如果用户100提出暂停请求时缓存区103中没有到达停止快传门限,缓冲区103中的音视频帧数据较少,则流媒体服务器105继续以高于正常速度的快传模式下传普通媒体数据码流。如图5b所示,如果用户100提出暂停请求时缓存区103中已经到达停止快传门限,或者在暂停操作下缓存区103逐渐被填满直至到达停止快传门限,则流媒体服务器105以正常速度下传普通媒体数据码流。如图5c所示,如果缓冲区103满,则停止下传普通媒体数据码流。
2)恢复:如图6所示,在本实施例中,用户100请求恢复播放时,控制模块101立即通知播放模块102播放缓冲区103中的帧数据,提高响应速度;同时通过通知流协议模块104恢复传输让流媒体服务器105下传普通媒体数据码流,如果缓冲区103未到达停止快传门限,则以高于正常速度进行快传,否则以正常速度下传。在此过程中,缓冲区变化情况与正常播放类似。
3)快进/快退:如图7所示,在本实施例中,用户100请求快进/快退播放时,控制模块101立即通知播放模块102播放缓冲区103中的相应关键帧数据,提高响应速度;同时让流媒体服务器105按照快进/快退的速度下传缓存之后续的关键帧媒体数据码流;关键帧媒体数据的下传速度仍然按照缓冲区103的门限值进行快传或正常传输,其中,快进/快退跳过的非关键帧都被丢弃,关键帧按照滑窗原则老化。在快进/快退时,播放模块102以快进/快退的固定速度选取关键帧数据进行显示,例如每秒取4帧;快进/快退倍速的不同通过取关键帧数据的间隔来实现,例如,媒体数据的关键帧数据间隔为2秒,则2倍速时,每个关键帧都进行显示,而且每秒重复显示4次,流媒体服务器105的正常下传速度为每秒1个关键帧;而16倍速时,隔1个关键帧显示,显示速度为每秒4帧,流媒体服务器105的正常下传速度也是每秒4帧
在快进操作时的缓冲区103如图8所示,用户100请求快进播放时,则快进播放缓冲区103中的关键帧数据,在关键帧数据播放后便丢弃相应的非关键帧数据,同时流媒体服务器105按照快进的速度下传后续的关键帧媒体数据。
当然,本发明还可有其他实施例,在不背离本发明精神及其实质的情况下,所属技术领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明的权利要求的保护范围。
Claims (6)
1.一种提高客户端VCR操作的响应速度的方法,包括以下步骤,
步骤1,在客户端设置用于缓存帧数据的缓冲区,指向当前播放帧的指针和停止快传门限;
步骤2,在用户请求播放或其他VCR操作时,如果上述缓冲区没有达到上述停止快传门限,则客户端的控制模块通过流协议模块向流媒体服务器提出快传请求,流媒体服务器在接到快传请求后向缓冲区快传媒体数据码流;如果上述缓冲区达到停止快传门限,则控制模块通过流协议模块向流媒体服务器提出正常传输请求,流媒体服务器以正常速度向缓冲区传送媒体数据码流;如果上述缓冲区满,则根据操作类型选择用接收到新的帧数据替换最老的帧数据或是停止向缓冲区传送数据,其中,根据操作类型选择媒体数据码流是普通媒体数据码流或者关键帧媒体数据码流。
2.根据权利要求1所述的方法,其特征在于,如果用户开始请求播放,此时缓冲区内没有帧数据,则客户端的控制模块通过流协议模块向流媒体服务器提出快传请求,流媒体服务器在接到快传请求后向缓冲区快传普通媒体数据码流,播放模块以正常速度从缓冲区中取出帧数据,解码后播放,并缓存播放过的关键帧数据;当缓冲区达到上述停止快传门限时,控制模块通过流协议模块向流媒体服务器提出正常传输请求,流媒体服务器在接到正常传输请求后以正常速度向缓冲区传送普通媒体数据码流;如果缓冲区已满而又接收到新的帧数据,则替换最老的帧数据。
3.根据权利要求2所述的方法,其特征在于,如果上述VCR操作是暂停操作,则客户端首先判断缓冲区是否已满,如果未满,则允许流媒体服务器以当前速度传送普通媒体数据码流,直到缓冲区满时,再向服务器发送暂停要求;如果已满,直接向服务器发送暂停要求。
4.根据权利要求3所述的方法,其特征在于,如果上述VCR操作是恢复操作,则控制模块立即通知播放模块播放缓冲区中的帧数据,客户端的控制模块通过流协议模块向流媒体服务器提出传送请求;如果没有达到停上快传门限,则流媒体服务器在接到请求后向缓冲区快传普通媒体数据码流,否则以正常速度向缓冲区传输普通媒体数据码流。
5.根据权利要求4所述的方法,其特征在于,如果上述VCR操作是快进/快退操作,控制模块立即通知播放模块播放缓冲区中相应的关键帧数据,同时通知流媒体服务器向缓冲区快传或以正常速度传送后续的关键帧媒体数据码流。
6.根据权利要求5所述的方法,其特征在于,在快进/快退时,播放模块以固定速度取关键帧数据进行显示,快进/快退的倍速不同通过取关键帧数据的间隔来实现,快进/快退跳过的非关键帧数据都被丢弃。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200610145640A CN100589557C (zh) | 2006-11-22 | 2006-11-22 | 一种提高客户端vcr操作的响应速度的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200610145640A CN100589557C (zh) | 2006-11-22 | 2006-11-22 | 一种提高客户端vcr操作的响应速度的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101193269A CN101193269A (zh) | 2008-06-04 |
CN100589557C true CN100589557C (zh) | 2010-02-10 |
Family
ID=39487973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200610145640A Expired - Fee Related CN100589557C (zh) | 2006-11-22 | 2006-11-22 | 一种提高客户端vcr操作的响应速度的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100589557C (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101710992B (zh) * | 2009-11-16 | 2011-08-24 | 乐视网信息技术(北京)股份有限公司 | 一种预解码高清播放器及播放方法 |
CN101883255A (zh) * | 2010-06-17 | 2010-11-10 | 中兴通讯股份有限公司 | 一种交互式网络电视中点播节目的处理系统及其方法 |
CN101917412A (zh) * | 2010-07-28 | 2010-12-15 | 中兴通讯股份有限公司 | 一种提高流媒体连接缓冲速度的方法及客户端 |
CN102857730A (zh) * | 2012-08-23 | 2013-01-02 | 苏州阔地网络科技有限公司 | 一种缓存帧数据的方法及系统 |
US9210207B2 (en) * | 2014-02-13 | 2015-12-08 | Ericsson Ab | Time-sensitive content manipulation in adaptive streaming buffer |
CN105245946B (zh) * | 2014-07-10 | 2020-08-28 | 中兴通讯股份有限公司 | 可变码率媒体流的流量控制方法、装置以及系统 |
EP3314838A4 (en) * | 2015-06-25 | 2019-01-09 | Thomson Licensing | METHOD AND DEVICE FOR DATA TRANSMISSION |
-
2006
- 2006-11-22 CN CN200610145640A patent/CN100589557C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101193269A (zh) | 2008-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100589557C (zh) | 一种提高客户端vcr操作的响应速度的方法 | |
CN102577272B (zh) | 低等待时间的可高速缓存的媒体流式传输 | |
EP1389874B1 (en) | Fast digital channel changing | |
CN100581158C (zh) | 数据流式传输系统和方法 | |
US7523482B2 (en) | Seamless digital channel changing | |
JP3788260B2 (ja) | 配信システムとその配信方法、及び配信プログラム | |
CN101321268B (zh) | 个人媒体广播系统 | |
CN101179700B (zh) | 节目源切换方法及流媒体播放系统 | |
CN102263959B (zh) | 直播中转方法和系统 | |
CN101889451B (zh) | 通过独立解码器时钟来减少媒体流延迟的系统和方法 | |
CN103210642B (zh) | 在http流送期间发生表达切换时传送用于自然再现的可缩放http流的方法 | |
US8832519B2 (en) | Method and apparatus for FEC encoding and decoding | |
KR101475991B1 (ko) | 모바일 디바이스상에서 비디오를 플레이하기 위한 방법 및 시스템 | |
CN101511010A (zh) | 一种媒体流发送方法及装置 | |
CN100471266C (zh) | 用于存储流式传输系统的数据源的方法 | |
CN102130886B (zh) | 网络视频流媒体系统及传输处理方法、发送端 | |
CN101296158A (zh) | 一种流媒体数据传输方法及其数据传输装置 | |
JP2005223433A (ja) | ストリーミングデータ送信装置およびストリーミングデータ受信装置 | |
CN101998101A (zh) | 可视电话的视频数据接收和发送系统、视频数据处理方法 | |
CN101594528A (zh) | 信息处理系统、信息处理设备、信息处理方法及程序 | |
WO2010051058A1 (en) | System and method for recording and distributing media content | |
CN107770600A (zh) | 流媒体数据的传输方法、装置、设备和存储介质 | |
CN103260052A (zh) | 自适应显示流 | |
CN113114687B (zh) | 一种iptv合流方法及系统 | |
JP5383316B2 (ja) | 送信機と電子装置間の信号ストリームの簡略化された伝送方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100210 Termination date: 20151122 |
|
EXPY | Termination of patent right or utility model |