CN104219581A - 一种更新播放队列的方法及装置 - Google Patents
一种更新播放队列的方法及装置 Download PDFInfo
- Publication number
- CN104219581A CN104219581A CN201410441278.2A CN201410441278A CN104219581A CN 104219581 A CN104219581 A CN 104219581A CN 201410441278 A CN201410441278 A CN 201410441278A CN 104219581 A CN104219581 A CN 104219581A
- Authority
- CN
- China
- Prior art keywords
- video segment
- queue
- duration
- playing
- reading
- 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.)
- Pending
Links
Abstract
本发明公开了一种更新播放队列的方法及装置,用以减少节目的重复播放。所述方法,包括:从播放队列中读取直播流的视频片段;根据读取的视频片段进行播放;从播放队列中删除读取的视频片段。
Description
技术领域
本发明涉及计算机及通信技术领域,特别涉及一种更新播放队列的方法及装置。
背景技术
视频直播是指利用互联网及流媒体技术进行直播,视频因融合了图像、文字、声音等丰富元素,声形并茂,效果极佳,逐渐成为互联网的主流表达方式。视频通过真实、生动的传播,营造出强烈的现场感,吸引眼球,达成印象深刻、记忆持久的传播效果。
M3U8是一种直播视频的格式。为了使视频播放流畅,一般在播放前和播放过程中缓存一定时长的视频片段。在播放视频时从缓存的播放队列中读取视频数据。以及,将下载的视频数据存储到播放队列中,并从播放队列中删除已读取的视频数据。这样始终保持播放队列是满数据的。但是存在这样一个情况,当一个直播视频播放结束时,播放队列存储着该直播视频最后一段时长的数据。在下次播放别的直播视频时,由于是从播放队列中读取视频数据,而播放队列存储的是前一个直播视频的数据。也就是说,要先播放一段时间的前一个直播视频,然后才能播放当前要播放的直播视频。导致播放重复,影响用户的收看效果。
发明内容
本发明提供一种更新播放队列的方法及装置,用以减少重复播放。
本发明提供一种更新播放队列的方法,包括:
从播放队列中读取直播流的视频片段;
根据读取的视频片段进行播放;
从播放队列中删除读取的视频片段。
本实施例有视频片段从播放队列中读出时,便可以从播放队列中删除视频片段,而不需要等有下载的视频片段时再删除。这样,当本次所有视频片段均被播放后,播放队列也为空。在下次播放视频片段时,由于播放队列已为空,所以不会重复播放,减少对用户的干扰,提高用户体验。
可选的,所述方法还包括:
下载视频片段,并存储到播放队列中。
本实施例中,还可以下载视频片段。
可选的,所述从播放队列中删除读取的视频片段,包括:
每间隔预设的时长时,从播放队列中删除读取的视频片段。
本实施例中可以周期性的删除,这样可以减少删除处理的次数,也就减少了系统功耗。还可以及时清理已播放的视频片段,为后续下载的视频片段留出空间。
可选的,所述预设的时长包括一个周期内的多个时长,多个时长的数量与播放队列可存储的视频片段的数量一致;
多个时长中的第一时长大于视频片段的长度的一半且小于视频片段的长度;
多个时长中除第一时长以外的其它均为第一时长的2倍。
本实施例中通过这种方式配置的时长,可以保证在删除的时间点已经有一个视频片段被完整播放,也就可以完整的删除一个视频片段。并且比视频片段的结束时间点略微滞后,则在因为某种原因导致视频片段的播放延迟时,也可以保证在删除的时间点该视频片段已完整播放,便于完整删除视频片段。
可选的,所述每间隔预设的时长时,从播放队列中删除读取的视频片段,包括:
在没有下载到视频片段时,每间隔预设的时长时,从播放队列中删除读取的视频片段。
本实施例中在有视频片段下载时,可自然删除已播放的视频片段。在没有下载视频片段时,才执行上述检测和删除操作,可减少检测次数,节省系统功耗。
一种更新播放队列的装置,包括:
读取模块,用于从播放队列中读取直播流的视频片段;
播放模块,用于根据读取的视频片段进行播放;
删除模块,用于从播放队列中删除读取的视频片段。
可选的,所述装置还包括:
下载模块,用于下载视频片段,并存储到播放队列中。
可选的,所述删除模块每间隔预设的时长时,从播放队列中删除读取的视频片段。
可选的,所述预设的时长包括一个周期内的多个时长,多个时长的数量与播放队列可存储的视频片段的数量一致;
多个时长中的第一时长大于视频片段的长度的一半且小于视频片段的长度;
多个时长中除第一时长以外的其它均为第一时长的2倍。
可选的,所述删除模块在没有下载到视频片段时,每间隔预设的时长时,从播放队列中删除读取的视频片段。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中播放队列的示意图;
图2为本发明实施例中播放队列的示意图;
图3为本发明实施例中更新播放队列的方法流程图;
图4为本发明实施例中更新播放队列的方法流程图;
图5为本发明实施例中更新播放队列的方法流程图;
图6为本发明实施例中更新播放队列的装置结构图;
图7为本发明实施例中更新播放队列的装置结构图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
目前,播放队列一般缓存3个视频片段,每个视频片段的时长大概是10s。一个播放队列的实例如图1所示,其中缓存了视频片段T1、T2和T3。如果下载了视频片段T4,则将T4缓存到播放队列中,以及从播放队列中删除T1,参见图2所示。如果没有下载T4,则播放队列始终缓存着T1、T2和T3。当下次播放视频时,由于下载新的视频片段需要一段时间,所以为了减少用户的等待,会先播放播放队列中的视频片段。此时播放队列缓存着T1、T2和T3,也就是说T1、T2和T3将会被再播放一次,使用户重复收看,对用户造成干扰。
为解决该问题,本实施例不需要等待有视频片段下载时再删除播放队列中的视频片段,而是在播放队列中的视频片段已播放时便可删除。这样可减少视频片段的重复播放。
参见图3,本实施例中更新播放队列的方法包括:
步骤301:从播放队列中读取直播流的视频片段。一个视频片段可以是一个TS(Transport Stream,传输流)碎片文件。
步骤302:根据读取的视频片段进行播放。
步骤303:从播放队列中删除读取的视频片段。
本实施例不需要等待有视频片段下载时再删除播放队列中的视频片段,而是在播放队列中的视频片段已播放时便可删除。这样可减少视频片段的重复播放。
例如,播放队列缓存了视频片段T1、T2和T3。当T1被播放后,删除T1,播放队列中还存有T2和T3。
本实施例中,所述方法还包括:下载视频片段,并存储到播放队列中。
播放队列采用先进先出方式。删除播放队列队头位置已播放的视频片段,后面的视频片段前移,这样播放队列的队尾部分有剩余空间。在下载了视频片段时,将该视频片段存储到播放队列的队尾。播放后即可删除视频片段,为下载视频片段留出足够的空间。并且在下载速度不稳定时,还可以保证播放的流畅性。
本实施例中,步骤303还可以实现为:每间隔预设的时长时,从播放队列中删除读取的视频片段。
例如,视频片段的长度为10S,则间隔的预设时长也可以为10S。这样可以不需要实时检测是否有视频片段播放结束,也不需要实时删除部分视频片段,节省系统功耗。
较佳的,所述预设的时长包括一个周期内的多个时长,多个时长的数量与播放队列可存储的视频片段的数量一致;多个时长中的第一时长大于视频片段的长度的一半且小于视频片段的长度;多个时长中除第一时长以外的其它均为第一时长的2倍。
例如,视频片段的长度为10S,播放队列可缓存3个视频片段,则有3个时长,第一时长、第二时长和第三时长。第一时长可以为6S,则第二时长和第三时长均为12S。并且初始检测的时间点在第一视频片段的后半段,如初始检测的时间点为6S,则依据第一时长,下一次的检测点为12S;再依据第二时长,下一次的检测点为24S;再依据第三时长,下一次的检测点为36S。这样3个视频片段均被检测过,一个周期结束。然后再以6S为起始点,重复上述过程。
本实施例中采用这样的时长间隔,不与视频片段的开始时间和结束时间重合,便于给下载视频片段留出一定的缓冲时间,已经给播放留出一定的缓冲时间。如果有视频片段下载,自然可挤出播放队列队头的视频片段,不需要执行删除操作。预留这样的时间可以减少无用的删除操作,节省系统功耗。
本实施例中,步骤303还可以实现为:在没有下载到视频片段时,每间隔预设的时长时,从播放队列中删除读取的视频片段。
本实施例中可以定期检测是否有下载的视频片段,如果有,则不需要特意删除已播放的视频片段,依靠新存储的视频片段便可挤出已播放的视频片段。如果没有,再采用前述方案,每间隔预设的时长时,从播放队列中删除读取的视频片段。可减少多余的处理,节省功耗。
下面通过几个典型实施例详细介绍更新播放队列的实现过程。
参见图4,本实施例中更新播放队列的方法包括:
步骤401:从播放队列中读取直播流的视频片段。一个视频片段可以是一个TS(Transport Stream,传输流)碎片文件。
步骤402:根据读取的视频片段进行播放。
步骤403:每间隔预设的时长时,检测是否有已读取的视频片段;如果有,继续步骤404,否则结束本次流程。
步骤404:从播放队列中删除读取的视频片段。
本实施例针对是否有已读取的视频片段进行检测,可以不关心是否有视频片段下载。
参见图5,本实施例中更新播放队列的方法包括:
步骤501:从播放队列中读取直播流的视频片段。一个视频片段可以是一个TS(Transport Stream,传输流)碎片文件。
步骤502:根据读取的视频片段进行播放。
步骤503:每间隔预设的时长时,检测是否有下载的视频片段;如果有,继续步骤504,否则继续步骤505。
步骤504:将下载的视频片段存储到播放队列。
步骤505:检测是否有已读取的视频片段;如果有,继续步骤506,否则结束本次流程。
步骤506:从播放队列中删除读取的视频片段。
本实施例中先检测是否有视频片段下载,如果有,则不需要检测已播放的视频片段,利用存储已下载的视频片段便可删除已播放的视频片段。如果没有视频片段下载,仍然删除已播放的视频片段,以减少重复播放,提高用户体验。
通过以上描述介绍了更新播放队列的实现过程,该过程可由装置实现,下面对该装置的内部结构和功能进行介绍。
参见图6,本实施例中更新播放队列的装置包括:读取模块601、播放模块602和删除模块603。
读取模块601,用于从播放队列中读取直播流的视频片段。
播放模块602,用于根据读取的视频片段进行播放。
删除模块603,用于从播放队列中删除读取的视频片段。
参见图7,所述装置还包括:下载模块604。
下载模块604,用于下载视频片段,并存储到播放队列中。
可选的,所述删除模块每间隔预设的时长时,从播放队列中删除读取的视频片段。
可选的,所述预设的时长包括一个周期内的多个时长,多个时长的数量与播放队列可存储的视频片段的数量一致;
多个时长中的第一时长大于视频片段的长度的一半且小于视频片段的长度;
多个时长中除第一时长以外的其它均为第一时长的2倍。
可选的,所述删除模块603在没有下载到视频片段时,每间隔预设的时长时,从播放队列中删除读取的视频片段。
本实施例中在没有下载的视频片段时,也删除已播放的视频片段,当一个视频播放完成后,播放队列为空,在下次播放视频时,不会重复播放前一个视频,减少对用户的干扰,提高用户体验。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种更新播放队列的方法,其特征在于,包括:
从播放队列中读取直播流的视频片段;
根据读取的视频片段进行播放;
从播放队列中删除读取的视频片段。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
下载视频片段,并存储到播放队列中。
3.如权利要求1所述的方法,其特征在于,所述从播放队列中删除读取的视频片段,包括:
每间隔预设的时长时,从播放队列中删除读取的视频片段。
4.如权利要求3所述的方法,其特征在于,所述预设的时长包括一个周期内的多个时长,多个时长的数量与播放队列可存储的视频片段的数量一致;
多个时长中的第一时长大于视频片段的长度的一半且小于视频片段的长度;
多个时长中除第一时长以外的其它均为第一时长的2倍。
5.如权利要求3所述的方法,其特征在于,所述每间隔预设的时长时,从播放队列中删除读取的视频片段,包括:
在没有下载到视频片段时,每间隔预设的时长时,从播放队列中删除读取的视频片段。
6.一种更新播放队列的装置,其特征在于,包括:
读取模块,用于从播放队列中读取直播流的视频片段;
播放模块,用于根据读取的视频片段进行播放;
删除模块,用于从播放队列中删除读取的视频片段。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
下载模块,用于下载视频片段,并存储到播放队列中。
8.如权利要求6所述的装置,其特征在于,所述删除模块每间隔预设的时长时,从播放队列中删除读取的视频片段。
9.如权利要求8所述的装置,其特征在于,所述预设的时长包括一个周期内的多个时长,多个时长的数量与播放队列可存储的视频片段的数量一致;
多个时长中的第一时长大于视频片段的长度的一半且小于视频片段的长度;
多个时长中除第一时长以外的其它均为第一时长的2倍。
10.如权利要求8所述的装置,其特征在于,所述删除模块在没有下载到视频片段时,每间隔预设的时长时,从播放队列中删除读取的视频片段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410441278.2A CN104219581A (zh) | 2014-09-01 | 2014-09-01 | 一种更新播放队列的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410441278.2A CN104219581A (zh) | 2014-09-01 | 2014-09-01 | 一种更新播放队列的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104219581A true CN104219581A (zh) | 2014-12-17 |
Family
ID=52100654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410441278.2A Pending CN104219581A (zh) | 2014-09-01 | 2014-09-01 | 一种更新播放队列的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104219581A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106612454A (zh) * | 2015-10-23 | 2017-05-03 | 北京国双科技有限公司 | 一种视频缓存处理方法及装置 |
CN110191236A (zh) * | 2019-06-27 | 2019-08-30 | 广州酷狗计算机科技有限公司 | 歌曲播放队列管理方法、装置、终端设备及存储介质 |
CN111629142A (zh) * | 2019-02-27 | 2020-09-04 | 佳能株式会社 | 摄像设备及其控制方法 |
US11399127B2 (en) | 2019-02-27 | 2022-07-26 | Canon Kabushiki Kaisha | Imaging apparatus and method for controlling the same |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090199247A1 (en) * | 2008-01-31 | 2009-08-06 | Kabushiki Kaisha Toshiba | Video content distribution system and video content distribution reservation method |
CN102196312A (zh) * | 2010-03-02 | 2011-09-21 | 北大方正集团有限公司 | 音视频数据流的播放方法及装置 |
CN102231749A (zh) * | 2011-08-12 | 2011-11-02 | 乐视网信息技术(北京)股份有限公司 | 一种利用cdn网络传输直播流的系统和方法 |
CN102403008A (zh) * | 2010-09-17 | 2012-04-04 | 北京中星微电子有限公司 | 音频播放中数据流断点续接的方法和系统、fifo控制器 |
CN103096131A (zh) * | 2013-02-06 | 2013-05-08 | 天脉聚源(北京)传媒科技有限公司 | 一种直播流处理方法和装置 |
CN103200461A (zh) * | 2013-01-14 | 2013-07-10 | 易程(苏州)智能系统有限公司 | 一种多台播放终端同步播放系统及播放方法 |
-
2014
- 2014-09-01 CN CN201410441278.2A patent/CN104219581A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090199247A1 (en) * | 2008-01-31 | 2009-08-06 | Kabushiki Kaisha Toshiba | Video content distribution system and video content distribution reservation method |
CN102196312A (zh) * | 2010-03-02 | 2011-09-21 | 北大方正集团有限公司 | 音视频数据流的播放方法及装置 |
CN102403008A (zh) * | 2010-09-17 | 2012-04-04 | 北京中星微电子有限公司 | 音频播放中数据流断点续接的方法和系统、fifo控制器 |
CN102231749A (zh) * | 2011-08-12 | 2011-11-02 | 乐视网信息技术(北京)股份有限公司 | 一种利用cdn网络传输直播流的系统和方法 |
CN103200461A (zh) * | 2013-01-14 | 2013-07-10 | 易程(苏州)智能系统有限公司 | 一种多台播放终端同步播放系统及播放方法 |
CN103096131A (zh) * | 2013-02-06 | 2013-05-08 | 天脉聚源(北京)传媒科技有限公司 | 一种直播流处理方法和装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106612454A (zh) * | 2015-10-23 | 2017-05-03 | 北京国双科技有限公司 | 一种视频缓存处理方法及装置 |
CN111629142A (zh) * | 2019-02-27 | 2020-09-04 | 佳能株式会社 | 摄像设备及其控制方法 |
US11399127B2 (en) | 2019-02-27 | 2022-07-26 | Canon Kabushiki Kaisha | Imaging apparatus and method for controlling the same |
CN110191236A (zh) * | 2019-06-27 | 2019-08-30 | 广州酷狗计算机科技有限公司 | 歌曲播放队列管理方法、装置、终端设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104219581A (zh) | 一种更新播放队列的方法及装置 | |
JP4375305B2 (ja) | 情報処理装置および情報処理方法、記録媒体、並びに、プログラム | |
CN108965910B (zh) | 一种视频缓存方法及播放器 | |
JP4955571B2 (ja) | ストリーミングメディアをバッファリングする方法及び装置 | |
WO2018149176A1 (zh) | 视频自动录制方法及装置、终端 | |
CN105611328B (zh) | 基于hls流媒体的视频数据加速下载方法及装置 | |
CN106550284B (zh) | 一种播放分片视频的方法及装置 | |
JP2017017687A5 (zh) | ||
CN105430478B (zh) | 一种网络视频缓冲播放方法、装置及电视机 | |
CN112929755B (zh) | 进度拖动过程中的视频文件播放方法及装置 | |
CN103873926A (zh) | 下载并播放媒体文件的方法及系统 | |
CN104902145B (zh) | 一种直播流视频的播放方法及装置 | |
JP2017524280A5 (zh) | ||
CN106960054A (zh) | 数据文件的存取方法及装置 | |
CN104093084A (zh) | 一种播放视频的方法及装置 | |
US9380189B2 (en) | Method of providing information configuration function in video play device and video play device | |
KR20130028903A (ko) | 대화형 결정 지향적 소프트웨어 애플리케이션을 위한 데이터 스트리밍 | |
CN103713926A (zh) | 一种预更新软件客户端的方法及系统 | |
CN104536748B (zh) | 一种调整动态图片动画时长的方法 | |
CN106162311A (zh) | 一种播放网络视频的方法和终端设备 | |
US9570112B2 (en) | Multiple views recording | |
CN108257624A (zh) | 用于存储音频/视频数据的方法及对应装置 | |
JP5945779B2 (ja) | マルチスレッド並列実行装置、放送ストリーム再生装置、放送ストリーム蓄積装置、蓄積ストリーム再生装置、蓄積ストリーム再符号化装置、集積回路、マルチスレッド並列実行方法、マルチスレッドコンパイラ | |
CN102413367A (zh) | 一种动态更新节目录制单的方法及装置 | |
CN105139870A (zh) | 一种光盘的实时刻录方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20141217 |
|
RJ01 | Rejection of invention patent application after publication |