CN105100912A - 流媒体处理方法和流媒体处理装置 - Google Patents
流媒体处理方法和流媒体处理装置 Download PDFInfo
- Publication number
- CN105100912A CN105100912A CN201410198527.XA CN201410198527A CN105100912A CN 105100912 A CN105100912 A CN 105100912A CN 201410198527 A CN201410198527 A CN 201410198527A CN 105100912 A CN105100912 A CN 105100912A
- Authority
- CN
- China
- Prior art keywords
- transport stream
- fragment
- stream fragment
- play
- reservation
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 23
- 238000012545 processing Methods 0.000 title claims description 25
- 239000012634 fragment Substances 0.000 claims abstract description 619
- 238000000034 method Methods 0.000 claims abstract description 37
- 230000005540 biological transmission Effects 0.000 claims description 61
- 210000004027 cell Anatomy 0.000 claims description 8
- 238000012217 deletion Methods 0.000 claims description 8
- 230000037430 deletion Effects 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 22
- 238000005516 engineering process Methods 0.000 description 13
- 230000000717 retained effect Effects 0.000 description 9
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001684 chronic effect Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请公开了一种流媒体处理方法和装置,应用于电子设备,所述方法包括:通过获取并播放多个传输流片段中的至少一个传输流片段来播放流媒体文件,其中,所述多个传输流片段是在另一设备中通过对所述流媒体文件进行划分而生成的;检测结束播放指令,所述结束播放指令用于结束播放所述流媒体文件;在已下载的传输流片段中确定一个或多个保留传输流片段;以及删除已下载的传输流片段之中的、除了所述保留传输流片段之外的其他传输流片段。因此,可以通过仅仅保留当前已经下载的所有TS片段中的一部分TS片段来在电子设备中协调存储空间与下载耗时之间的矛盾,以最大可能地提升用户体验。
Description
技术领域
本发明涉及计算机技术领域,更具体地,本发明涉及一种流媒体处理方法和流媒体处理装置。
背景技术
目前,随着电子设备和互联网络的发展,在线播放已经变得越来越普遍。例如,人们可以使用电子设备、基于流媒体播放技术来随时随地欣赏各种各样的多媒体资源(例如,观看视频、收听音频等)。
为了对流媒体播放技术进行规范化,不同厂家提出了不同的流媒体标准。在诸多标准之中,多数多媒体供应商都使用超文本传输协议(HTTP)实时流传输(HTTPLiveStreaming,HLS)协议来向用户提供电子设备上的多媒体播放服务。HLS是一个由苹果(Apple)公司提出的基于HTTP的流媒体网络传输协议,它是苹果公司QuickTime和iPhone软件系统的一部分。
HLS协议的工作原理是将整个流媒体文件(或称之为,多媒体流)划分成一个个小的基于HTTP协议的传输流(TS)片段(即,具有TS格式的文件),以供用户进行下载和播放,例如,考虑到网络带宽限制,用户每次可以只下载其中的一些TS片段,并且边播放边下载。也就是说,HLS协议在服务器端将多媒体数据流封装为连续的、其每一个具有很短时长的小TS片段;对应地,客户端则不断地下载并播放这些小TS片段,直到整个流媒体文件播放完成为止。
发明内容
在基于HLS协议来欣赏流媒体文件(例如,观看某个影片)时,如果用户在整个流媒体文件欣赏完毕之前由于某些原因而提前结束播放,则在再次欣赏该未完成的流媒体文件时,该用户往往希望从上次中断播放的“历史记录”开始继续播放,而不是从头开始重新进行播放。
为此,可以在电子设备中保留当前已经下载到本地存储器的所有TS片段数据和当前的播放进度,以供用户下次续播时使用。
然而,若长时间不删除已下载的TS片段,那么电子设备的存储器(例如,SD卡)很快就会被这些缓存数据所充满。典型地,例如一个时长为120分钟、分辨率为480P的影片往往需要占用800MB的存储空间。
因此,为了节省电子设备中的存储空间,在用户未欣赏完流媒体文件就结束播放时,可以从电子设备中删除全部已下载的TS片段,而仅仅在电子设备中保存当前的播放进度,即当前播放时间(或称之为,结束播放时间),以供用户续播该影片时使用。
然而,在此情况下,当用户期望从上次的播放进度续播该流媒体文件时,由于先前所缓存的TS片段已被清除,所以电子设备需要根据上述结束播放时间来重新下载那些虽然在前次播放时已下载、但是在结束播放时已删除的TS片段。因此,大量的时间被浪费到等待对应历史记录的TS片段的重复下载上面,从而导致等待续播所需要的时间很长。
为了解决上述技术问题,根据本发明的一个方面,提供了一种流媒体处理方法,应用于电子设备,所述方法包括:通过获取并播放多个传输流片段中的至少一个传输流片段来播放流媒体文件,其中,所述多个传输流片段是在另一设备中通过对所述流媒体文件进行划分而生成的;检测结束播放指令,所述结束播放指令用于结束播放所述流媒体文件;在已下载的传输流片段中确定一个或多个保留传输流片段;以及删除已下载的传输流片段之中的、除了所述保留传输流片段之外的其他传输流片段。
此外,根据本发明的另一方面,提供了一种流媒体处理装置,应用于电子设备,所述装置包括:片段获取播放单元,用于通过获取并播放多个传输流片段中的至少一个传输流片段来播放流媒体文件,其中,所述多个传输流片段是在另一设备中通过对所述流媒体文件进行划分而生成的;结束指令检测单元,用于检测结束播放指令,所述结束播放指令用于结束播放所述流媒体文件;保留片段确定单元,用于在已下载的传输流片段中确定一个或多个保留传输流片段;以及其他片段删除单元,用于删除已下载的传输流片段之中的、除了所述保留传输流片段之外的其他传输流片段。
与现有技术相比,采用根据本发明实施例的流媒体处理方法和装置,可以在获取并播放在另一设备中通过对所述流媒体文件进行划分而生成的多个传输流片段中的至少一个传输流片段来播放流媒体文件的过程中,检测用于结束播放所述流媒体文件的结束播放指令,根据预先设置的策略来在已下载的传输流片段中确定一个或多个保留传输流片段,继续保留这些传输流片段,并且删除已下载的传输流片段之中的、除了所述保留传输流片段之外的其他传输流片段。因此,在本发明的实施例中,可以提供一种灵活的流媒体处理方法和装置,其能够通过仅仅保留当前已经下载的所有TS片段中的一部分TS片段来在电子设备中协调存储空间与下载耗时之间的矛盾,以最大可能地提升用户体验。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是图示了根据本发明实施例的流媒体处理方法的流程图。
图2是图示了根据本发明实施例的图形用户界面的显示效果的示意图。
图3是图示了根据本发明第一实施例的确定保留传输流片段的流程图。
图4是图示了根据本发明实施例的当前播放时间与传输流片段之间的对应关系的示意图。
图5是图示了根据本发明第二实施例的确定保留传输流片段的流程图。
图6是图示了根据本发明实施例的流媒体处理装置的框图。
图7是图示了根据本发明实施例的电子设备的框图。
具体实施方式
将参照附图详细描述根据本发明的各个实施例。这里,需要注意的是,在附图中,将相同的附图标记赋予基本上具有相同或类似结构和功能的组成部分,并且将省略关于它们的重复描述。
在描述根据本发明实施例的流媒体处理方法和流媒体处理装置之前,首先对现有的流媒体播放技术进行简单介绍。
在现有的流媒体处理技术中,通常主要包括以下几个概念:
基本码流(ES),其可以是包括例如视频、音频或其他数据的连续码流。
打包的基本码流(PES),其可以是通过将基本码流ES根据需要分成长度不等的数据包,并加上包头所形成的。
传输流(TS),其可以由固定长度(例如,188字节)或可变长度的片段组成,并且含有独立时基的一个或多个节目(program),适用于误码较多的环境。
在播放节目时,电子设备(例如,客户端)首先可以在本地从另一设备(例如,服务器)接收TS片段,然后对该TS片段进行解码,获得PES数据,并且将PES数据去掉报头以获得ES数据,最后将ES数据在解码器中进行解码,从而获得一帧一帧的视频数据,以向用户播放。
具体地,在所有的流媒体播放技术之中,基于HLS协议的流媒体处理技术最大的不同在于,作为客户端的电子设备所获取到的并不是一个完整的流媒体文件。HLS协议在作为服务器端的另一设备中,根据自定义的分片策略将直播数据流划分为连续的、很短时长的媒体文件(MPEG-TS格式),并且每当完成一个分段文件的存储之后,更新M3U8索引文件,以记录每个分段文件(或称为传输流片段)的播放顺序以及持续时间。
因此,在HLS协议中,HLS数据通常由众多TS片段和M3U8索引信息组成。
每个TS片段具有不同的序号以表示其播放顺序。例如,TS(n)可以在TS(n-1)之后播放并且在TS(n+1)之前播放,其中n代表TS片段的播放序号并且是正整数。并且,取决于分片策略,每个TS片段可以对应于相同的播放时长,例如,每个TS片段可以对应于10秒的播放时长;替换地,每个TS片段也可以对应于不同的播放时长,例如,有的TS片段可能对应于10秒的播放时长,而有的TS片段可能对应于3秒或8秒的播放时长。
M3U8索引信息可以指明在一个流媒体文件中总共包括多少个TS片段。此外,在每个TS片段也可以对应于不同播放时长的情况下,该M3U8索引信息还可以进一步指明每个TS片段与播放时间的对应关系。具体地,M3U8索引信息可以是扩展名为.m3u格式的文件,并且使用UTF-8字符来进行编码。
替换地,在HLS协议中,每个TS片段也可以不通过序号来表示,而是具有不同的标识符。在此情况下,该M3U8索引信息还可以进一步指明具有不同标识符的TS片段在整个流媒体文件中的播放顺序。
下面,将简要地描述本发明实施例的主要思想。
为了解决现有技术中的技术问题,即当用户希望从上次中断播放位置开始继续播放流媒体文件时,如果在电子设备中保留当前已经下载的所有TS片段,则可能导致存储空间不足;而如果仅仅保留当前的播放进度,则由于重新下载TS片段而导致等待续播时间延长,在本发明的实施例中提出了一种新型的流媒体处理方法和流媒体处理装置,其可以通过在结束流媒体文件播放时,仅仅保留当前已经下载的所有TS片段中的一部分TS片段(例如,与在中断播放时的当前播放进度相关联的一个或多个TS片段)来协调存储空间与下载耗时之间的矛盾,以最大可能地提升用户体验。
在下文中,将首先描述根据本发明实施例的流媒体处理方法。
图1是图示了根据本发明实施例的流媒体处理方法的流程图。
如图1所图示的流媒体处理方法可以应用于一个或多个电子设备。
例如,为了向用户提供多媒体播放功能,在该电子设备中可以集成有显示装置(例如,液晶显示器、阴极射线管显示器等),以显示来自各种数据来源的目标可视数据(例如,图像、视频、或文本等)。替换地或附加地,在该电子设备中可以集成有扬声装置(例如,扬声器),以播放来自各种数据来源的目标可听数据(例如,音频等)。
此外,在所述电子设备中还可以集成有通信装置(例如,移动通信模块、无线通信模块等),以从因特网上下载或从另一设备(例如,服务器端或其他电子设备)中接收构成一个流媒体文件的多个传输流片段之中的至少一个传输流片段,以在显示装置和/或扬声装置中按照顺序依次播放这些传输流片段,从而播放与该多个传输流片段对应的流媒体文件。
并且,在所述电子设备中还可以集成有存储装置,使得能够对通过通信装置所获得的传输流片段进行缓存,以便用户在正常欣赏流媒体文件时,根据需要进行回放。
显然,为了完成其他操作,在所述电子设备中还可以集成有其他功能装置,在此不一一列举。
下面,将在以下具体实例中详细地说明根据本发明实施例的流媒体处理方法,其中,假设电子设备是作为客户端的移动电话;另一设备是作为服务器端的视频服务器,其用于存储流媒体文件并且基于HLS协议来向移动电话提供多媒体播放服务;该流媒体文件是视频文件;并且该移动电话基于HLS协议来从视频服务器下载并向用户播放该视频文件。
然而,需要说明的是,本发明不限于此。该电子设备可以是任何类型的电子设备,其包括但不限于:笔记本计算机、平板电脑、移动电话、多媒体播放器、个人数字助理等。该另一设备也可以是任何类型的电子设备,其包括但不限于:个人计算机、工作站、服务器等。该流媒体文件可以是任何类型的目标数据,其包括但不限于:纯音频、纯视频、音视频、和其他数据等。并且,根据本发明实施例的流媒体处理方法除了可以应用于基于HLS协议的流媒体处理技术之外,还可以应用于其他流媒体处理技术,只要该流媒体处理技术具有以下原理即可,即在另一设备(例如,服务器端)将流媒体文件划分为多个传输流片段,并且在电子设备(例如,客户端)中通过获取并播放多个传输流片段中的至少一个传输流片段来播放流媒体文件。此外,还可以将根据本发明实施例的流媒体处理方法应用于电子设备中的任何其他相关处理。
如图1所图示的,所述流媒体处理方法包括:
在步骤S110中,通过获取并播放多个传输流片段中的至少一个传输流片段来播放流媒体文件。
在本方法中,可以根据流媒体文件的播放顺序来从另一设备中获取构成该流媒体文件的多个传输流片段,并且依次地播放这些传输流片段,从而播放该流媒体文件。例如,所述多个传输流片段是在另一设备中通过对所述流媒体文件进行划分而生成的。
在一个示例中,考虑到网络速度,每次可以仅仅获取多个传输流片段中的一个或几个传输流片段,并依次地播放这些传输流片段,同时在播放的过程中不断地继续获取后续的一个或几个传输流片段,从而实现整个流媒体文件的顺序播放。
在具体场景中,随着电子设备和互联网络的发展,用户可以使用位于本地的电子设备(例如,移动电话)来收看位于远程的另一设备(例如,视频服务器)的流媒体文件(例如,视频文件)。
为此,用户可以首先打开用于播放流媒体文件的应用程序。该应用程序可以是通用应用,例如,浏览器;替换地,该应用程序也可以是专用应用,例如,某一个内容提供商所开发的播放软件等。
然后,用户可以通过各种方式输入用于开始播放流媒体文件的开始播放指令,例如点击视频服务器网页上的节目链接、点击预先放置在收藏夹中收藏的项目、或手动输入视频链接地址等等。
例如,在打开某一应用程序之后,该应用程序可以向用户提供各种节目内容的文字介绍、缩略图概览、分类浏览器等各种节目相关信息。用户可以根据自己的需要而点击某一节目的缩略图,而发出该开始播放指令,以进入节目播放。
在接收到该开始播放指令之后,电子设备可以根据该开始播放指令来设置流媒体文件的数据源,例如,该数据源可以是要播放的流媒体文件的统一资源定位符(URL)。也就是说,电子设备可以确定该开始播放指令对应的数据源在视频服务器中的位置,并且基于流媒体传输协议(例如,HLS协议)来从视频服务器中获取相关节目内容。
如上所述,在视频服务器中,事先可以将整个视频文件划分成一个个小的基于HTTP协议的传输流(TS)片段,并且根据划分结果来生成与该视频文件相关的索引信息(例如,M3U8索引文件)。
然后,电子设备可以根据用户选择的数据源(例如,超级链接http://www.a.com/b.ram)来从服务器中下载与该视频文件对应的索引文件,例如b.m3u8。在该索引文件b.m3u8中记载了该视频文件b.ram的每个传输流片段的索引信息,例如每个TS片段的持续时间以及其它各种属性信息。
接下来,该电子设备可以根据该流媒体文件的中各个TS片段的索引信息来确定(例如,计算并保存)这些TS片段的顺序和播放时长,并且从视频服务器中依次下载TS片段。取决于网络带宽,该电子设备可以从视频服务器中一次下载一个或几个TS片段。随后,可以按照预定策略(例如,按照视频文件的播放顺序)来播放这些TS片段,并且在播放的过程中继续后续的下载操作。如此类推,以便在电子设备中实现对整个视频文件的播放操作。
例如,当通过序号来表示每个TS片段时,可以按照TS片段的序号来顺序播放这些TS片段。例如,TS(n)可以在TS(n-1)之后播放并且在TS(n+1)之前播放,其中n代表TS片段的序号并且是正整数。
又如,当通过标识符来表示每个TS片段时,也可以通过读取M3U8索引信息来判断具有不同标识符的TS片段的播放顺序,并且按照该播放顺序来播放这些TS片段。
例如,为了播放视频文件,可以在电子设备的显示单元上显示用于播放某一特定流媒体文件的图形用户界面。
图2是图示了根据本发明实施例的图形用户界面的显示效果的示意图。
如图2所图示的,在显示单元中显示的图形用户界面可以是一个播放界面。例如,该播放界面上可以显示有节目播放区域和正在播放节目的标题/名称,并且还可以显示有返回按钮和/或关闭按钮。例如,该返回按钮可以用于返回到当前的节目播放界面的先前界面(例如,在该先前界面中可以提供各种节目的信息介绍、缩略显示、类别划分等),而该关闭按钮可以用于直接关闭用于播放流媒体文件的当前应用程序。
此外,该播放节目还可以显示有用于播放控制的播放按钮、暂停按钮、停止按钮、进度条按钮等控制按钮。并且,由于正在播放节目可能具有其他相关节目,所以还可以在播放界面上提供有该其他相关节目以供用户选择。例如,当该正在播放节目是某部电视剧中的某一集时,该其他相关节目可以是该电视剧中的其他集。这时,还可以在该播放节目中显示有用于控制在不同节目中进行切换的上一集和下一集按钮。
无需赘述的是,播放界面中的上述显示项目中的一个或多个是可选的,并且根据用户需要,它们可以在隐藏状态和显示状态中切换。此外,某些功能也可以共用一个按钮,例如,在点击播放按钮之后,该播放按钮可以变为暂停按钮,而在点击暂停按钮之后,该暂停按钮可以变为播放按钮等。
在步骤S120中,检测结束播放指令。
在通过获取并播放多个传输流片段中的至少一个传输流片段来播放流媒体文件的过程中,可以检测用户发出的结束播放指令,该结束播放指令用于结束播放所述流媒体文件。
具体地,用户在观看了当前视频文件之后,可能发现自己对该视频文件并不感兴趣,这时用户可以点击图2中的返回按钮,从而重新选择节目进行观看。或者,用户也可能希望观看当前视频文件的上一集或者下一集的故事情节,这时用户可以点击图2中的上一集和下一集按钮进行剧集切换。替换地,用户也可能希望观看与当前视频文件相关的其他节目,这时用户可以直接从图2中的节目列表中选择其他相关节目。另外,用户也可能由于某些原因而需要中断当前的观看操作而使用电子设备处理其他事情,这时该用户可以点击图2中的关闭按钮,从而退出应用程序。
无论出现上述任一情况,都将在电子设备中触发生成一个结束播放指令,以用于结束当前视频文件的播放操作。在本方法中,例如,可以实时地或周期性地检测用户发出的结束播放指令,以触发后续的删除和保留操作。
此外,用户在观看了当前视频文件的过程中,也可能需要对该视频文件的播放进行暂停,这时用户可以点击图2中的暂停按钮,从而中止观看节目。为此,在电子设备中将触发生成一个暂停播放指令,以用于临时地停止当前视频文件的播放操作。然而,与上面不同地,由于这种停止是暂时性的,用户随时可能恢复播放该视频文件,所以例如,可以在检测到该暂停播放指令之后,不触发后续的删除和保留操作,也就是说,仍然在电子设备的存储器中保留所有的已下载传输流片段,以便用户稍后通过点击播放按钮来继续播放该视频文件时快速地恢复播放。
在步骤S130中,在已下载的传输流片段中确定一个或多个保留传输流片段。
响应于检测到结束播放指令,在本方法中可以确定在已下载的传输流片段之中的一个或多个保留传输流片段。
为此,可以在检测到结束播放指令之后,确定当前的播放进度,并且保留与在中断播放时的当前播放进度对应的TS片段。在不同的实施例中,该当前的播放进度可以是不同的参数。
例如,在第一实施例中,该当前的播放进度可以是在检测到结束播放指令时当前正在播放的TS片段的标识信息。
下面,将首先描述根据本发明第一实施例的确定保留传输流片段的步骤。
图3是图示了根据本发明第一实施例的确定保留传输流片段的流程图。
如图3所图示的,所述确定保留传输流片段的步骤包括:
在步骤S1310中,确定在结束播放流媒体文件时正在播放的当前传输流片段的序号。
在检测到用于中断播放流媒体文件的结束播放指令之后,可以查询在电子设备中当前正在播放哪一个TS片段,并且确定该TS片段的标识信息,例如,序号、标识符等。
下面,为了便于描述,假设用户所选择的视频文件b.ram的总时长为100分钟(如图2所图示的)并被划分为1000个TS片段,并且每个TS片段的持续时间(即,播放时长)是不固定的。并且,假设用户在第30分钟整处停止播放该视频文件b.ram,与当前播放时间对应的TS片段是TS(n)。
图4是图示了根据本发明实施例的当前播放时间与传输流片段之间的对应关系的示意图。
如图4所图示的,在检测到结束播放指令时当前正在播放的TS片段是TS(n),其持续时间为10秒,并且当前播放时间第30分钟处于TS(n)中的第5秒的开始位置处。此外,位于TS(n)之前的第一个TS片段是TS(n-1),其持续时间为3秒;位于TS(n)之前的第二个TS片段是TS(n-2),其持续时间为9秒;位于TS(n)之后的第一个TS片段是TS(n+1),其持续时间为12秒;位于TS(n)之后的第二个TS片段是TS(n+2),其持续时间为5秒。
因此,基于上述假设,在本步骤中可以查询到当前正在播放的TS片段是TS(n)。其中,TS(n)可以是该TS片段的序号,其表示该TS片段是1000个TS片段之中第n个进行播放的TS片段。替换地,TS(n)也可以是该TS片段的标识符,这时,在M3U8索引文件中可以记录有该TS片段是在1000个TS片段中第n个进行播放的播放顺序。
在步骤S1320中,根据当前传输流片段的序号来确定保留传输流片段。
在确定在结束播放流媒体文件时正在播放的当前传输流片段的序号之后,可以根据当前传输流片段的序号来确定保留传输流片段。
例如,在确定出在检测到结束播放指令时当前正在播放的TS片段是TS(n)之后,可以根据当前传输流片段的序号(或标识信息)来确定需要在电子设备中进行保留、而不被删除掉的一个或多个保留传输流片段。例如,所述保留传输流片段可以包括:所述当前传输流片段、和/或所述当前传输流片段之前的至少一个传输流片段、和/或所述当前传输流片段之后的至少一个传输流片段。
具体地,在第一示例中,可以将保留传输流片段仅仅确定为当前传输流片段,即TS(n)。这样,在用户续播该视频文件时,既可以保证电子设备能够从该视频文件上次中断播放的“历史记录”开始快速地继续播放,又可以保证最小程度地占用电子设备中的存储空间。
在第二示例中,为了获得更加准确的续播时间点,除了保留当前传输流片段之外,也可以进一步保存该当前播放时间在当前传输流片段中的偏移量。如图4所图示的,还可以在电子设备中存储以下信息,即当前播放时间第30分钟处于TS(n)中的第5秒的开始位置处。这样,在用户随后继续播放该视频文件时,可以不是对TS(n)从头(即,从第1秒)开始进行播放,而是在对TS(n)进行4秒时间量的偏移之后,从TS(n)中的第5秒开始进行播放。
在第三示例中,为了确保用户能够更多地回忆起上述中断播放时的剧情,可以在用户再次播放该视频文件时,提前一段时间开始播放。为此,可以将保留传输流片段仅仅确定为位于当前传输流片段之前的某一个传输流片段,即TS(n-1)或TS(n-2)等。这样,在用户续播该视频文件时,既可以保证电子设备能够从该视频文件上次中断播放的“历史记录”提前一段时间开始快速地继续播放,又可以保证最小程度地占用电子设备中的存储空间。此外,在本示例中,也可以保留位于当前传输流片段之前的多个传输流片段,即TS(n-1)和TS(n-2)等;或者也可以保留位于当前传输流片段以及当前传输流片段之前的一个或多个传输流片段,即TS(n)、TS(n-1)和TS(n-2)等。
在第四示例中,在电子设备存储空间允许的情况下,除了当前传输流片段和/或位于当前传输流片段之前的一个或多个传输流片段之外,还可以将保留传输流片段确定为位于当前传输流片段之后的一个或多个传输流片段,即TS(n+1)和TS(n+2)等。这样,在用户续播该视频文件时,可以在尽可能少地占用电子设备中的存储空间的情况下,保存一定数量的已下载TS片段,从而进一步减少电子设备在续播时的下载需求,以更好地保证电子设备能够从该视频文件上次中断播放的“历史记录”开始快速地继续播放。
上面,在第一实施例中描述了以下情况,即该当前的播放进度可以是在检测到结束播放指令时当前正在播放的TS片段的标识信息,并且可以简单地保存当前播放的TS片段、其之前的几个TS片段、和/或之后的几个TS片段,以用于随后的续播操作,而无需确定具体的当前播放时间。
然而,由于每个TS片段的持续时间是不固定的,所以即使为了确保用户能够回忆起上述中断播放时的剧情而额外地保存了当前正在播放的TS片段之前的一个或多个TS片段,也无法确切地得知到底保存了当前播放时间之前多少时间的影片内容。
例如,如图4所图示的,在额外地保存了当前正在播放的TS片段之前的一个TS片段的情况下,在当前正在播放的TS片段是TS(n)时,该额外保存的TS片段是TS(n-1),其持续数据为3秒,也就是说,在下次续播该视频文件时,可以在当前播放时间之前提前3秒进行播放;然而,在当前正在播放的TS片段是TS(n-1)时,该额外保存的TS片段是TS(n-2),其持续数据为9秒,也就是说,在下次续播该视频文件时,可以在当前播放时间之前提前9秒进行播放。显然,这种在续播时提前时间的不统一可能会给用户造成困惑。
因此,为了能够确定一个固定的提前播放时间,提出了以下的第二实施例。
例如,在第二实施例中,该当前的播放进度可以是在结束播放所述流媒体文件时所述流媒体文件的当前播放时间。
下面,将首先描述根据本发明第二实施例的确定保留传输流片段的步骤。
图5是图示了根据本发明第二实施例的确定保留传输流片段的流程图。
如图5所图示的,所述确定保留传输流片段的步骤包括:
在步骤S2310中,确定在结束播放流媒体文件时流媒体文件的当前播放时间。
在检测到用于中断播放流媒体文件的结束播放指令之后,可以查询该流媒体文件(即,视频文件)的当前播放时间。基于第一实施例中的相同假设,可以将该当前播放时间确定为该视频文件的第30分钟整。
在步骤S2320中,根据当前播放时间来确定保留起始时间和保留终止时间。
为了确保用户能够更多地回忆起上述中断播放时的剧情,可以在用户再次播放该视频文件时,从当前播放时间开始提前一段时间进行继续播放。为此,可以在考虑到电子设备的存储空间的情况下,在电子设备中保留与从当前播放时间开始之前一段时间范围T1对应的传输流片段。此外,为了减少电子设备在续播该视频文件时的下载需求,也可以在考虑到电子设备的存储空间的情况下,在电子设备中保留与从当前播放时间开始之后一段时间T2范围对应的传输流片段。
例如,T1和T2可以为包括0在内的任意值,并且两者可以相同或不同。此外,该T1也可以称为提前播放开始时间。
为了便于描述,将T1假设为10秒,并且将T2假设为15秒。
因此,在根据当前播放时间来确定保留起始时间和保留终止时间的过程中,可以将保留起始时间确定为在第30分钟之前提前10秒,即从第29分钟第51秒开始播放,并且可以将保留终止时间确定为在第30分钟之后延后15秒,即至少保留到第30分钟第15秒的影片。
在步骤S2330中,根据保留起始时间和保留终止时间来确定保留传输流片段。
在确定了保留起始时间和保留终止时间之后,可以进一步根据这两个时间来在已下载的传输流片段之中确定不希望删除的保留传输流片段。
具体地,步骤S2330可以包括以下子步骤:
在子步骤1中,获取所述流媒体文件的索引信息。
可以在确定保留传输流片段时,首先获取视频文件的相关索引信息(例如,M3U8索引文件)。如上所述,在该M3U8文件中,可以记录有构成该视频文件的所有传输流片段中每一个传输流片段的序号和持续时间。
在子步骤2中,从所述流媒体文件中的第1个传输流片段开始对传输流片段的持续时间求和,直到所述第1个传输流片段到第m-1个传输流片段的持续时间之和小于所述保留起始时间、并且所述第1个传输流片段到第m个传输流片段的持续时间之和大于所述保留起始时间为止,所述m是自然数,并且将所述第m个传输流片段确定为保留起始传输流片段。
因为在索引文件中记载了每个传输流片段的长度,所以可以通过将每个传输流片段的长度求和,获得整个流媒体文件的总持续时间长度。
例如,在每个传输流片段具有固定持续时间的第一情况下,如果该b.ram包括6000个传输流片段,每个传输流片段是1秒,则该b.ram的总持续时间长度是100分钟。这时,简单地,可以将与保留起始时间(即,第29分钟第51秒)对应的TS片段确定为是第1791个TS片段,即TS(1791)。
然而,在基于第一实施例中的上述假设(即,用户所选择的视频文件b.ram的总时长为100分钟并被划分为1000个TS片段,并且每个TS片段的持续时间是不固定的)的第二情况下,无法简单地确定与保留起始时间(即,第29分钟第51秒)对应的TS片段。
这时,可以通过查询M3U8文件,以获得每个TS片段的持续时间。并且,从所述流媒体文件中的第1个传输流片段TS(1)开始,依次地对后面的第2个传输流片段的持续时间进行求和。然后,可以确定以下条件是否成立,即所述第1个传输流片段TS(1)的持续时间小于所述保留起始时间并且所述第1个传输流片段TS(1)到第2个传输流片段TS(2)的持续时间之和大于所述保留起始时间。如果该条件不成立,则继续对后面的第3个传输流片段的持续时间进行求和。并且重新判断上述条件是否成立。如此类推,直到所述第1个传输流片段TS(1)到第m-1个传输流片段TS(m-1)的持续时间之和小于所述保留起始时间、并且所述第1个传输流片段TS(1)到第m个传输流片段TS(m)的持续时间之和大于所述保留起始时间为止,所述m是自然数并且小于或等于视频文件之中传输流片段的总数(即,1000)。由此,可以将所述第m个传输流片段确定为保留起始传输流片段。
如图2所图示的,可以确定出,从第1个传输流片段TS(1)到第n-3个传输流片段TS(n-3)的持续时间之和为29分钟44秒,其小于所述保留起始时间第29分钟第51秒;并且从第1个传输流片段TS(1)到第n-2个传输流片段TS(n-2)的持续时间之和为29分钟53秒,其大于所述保留起始时间第29分钟第51秒。由此,可以将第n-2个传输流片段TS(n-2)确定为保留起始传输流片段。
此外,为了获得更加准确的续播时间点,除了保留该保留起始传输流片段之外,也可以进一步保存该提前播放开始时间T1在保留起始传输流片段中的偏移量。如图4所图示的,可以在电子设备中存储以下信息,即提前播放开始时间T1第29分钟第51秒处于TS(n-2)中的第7秒的开始位置处。这样,在用户随后继续播放该视频文件时,可以不是对TS(n-2)从头(即,从第29分钟45秒)开始进行播放,而是在对TS(n)进行6秒时间量的偏移之后,从TS(n-2)中的第7秒(即,从第29分钟第51秒)开始进行播放,以实现精确为10秒的播放提前量。
替换地,也可以不是在电子设备中直接保存上述的偏移量,而是保存在步骤S2310中确定的在结束播放流媒体文件时流媒体文件的当前播放时间,以便在随后续播时,根据该当前播放时间来获得上述的偏移量,从而对保留传输流片段进行偏移播放。
在子步骤3中,从所述流媒体文件中的第1个传输流片段开始对传输流片段的持续时间求和,直到所述第1个传输流片段到第n-1个传输流片段的持续时间之和小于所述保留终止时间、并且所述第1个传输流片段到第n个传输流片段的持续时间之和大于所述保留终止时间为止,所述n是自然数,并且将所述第n个传输流片段确定为保留终止传输流片段。
例如,在每个传输流片段具有均匀持续时间的上述第一情况下,简单地,可以将与保留终止时间(即,第30分钟15秒)对应的TS片段确定为是第1815个TS片段,即TS(1815)。
然而,在每个传输流片段具有不均匀持续时间的上述第二情况下,仍然无法简单地确定与保留终止时间(即,第30分钟15秒)对应的TS片段。
这时,与子步骤2中同理地,如图2所图示的,可以确定出,从第1个传输流片段TS(1)到第n个传输流片段TS(n)的持续时间之和为30分钟6秒,其小于所述保留终止时间第30分钟15秒;并且从第1个传输流片段TS(1)到第n+1个传输流片段TS(n+1)的持续时间之和为30分钟18秒,其大于所述保留起始时间第30分钟15秒。由此,可以将第n+1个传输流片段TS(n+1)确定为保留起始传输流片段。
在子步骤4中,将从所述保留起始传输流片段到所述保留终止传输流片段的所有传输流片段确定为所述保留传输流片段。
在确定出保留起始传输流片段和保留终止传输流片段之后,可以将其间的所有传输流片段确定为所述保留传输流片段。
例如,在每个传输流片段具有完全相同持续时间的上述第一情况下,可以将从第1791个TS片段TS(1791)到第1815个TS片段TS(1815)的所有TS片段确定为需要保留的保留传输流片段。相反地,在每个传输流片段可能具有不相同持续时间的上述第二情况下,可以将从第n-2个传输流片段TS(n-2)到第n+1个传输流片段TS(n+1)的所有TS片段确定为需要保留的保留传输流片段。
在步骤S140中,删除已下载的传输流片段之中的、除了保留传输流片段之外的其他传输流片段。
在确定好保留传输流片段之后,可以根据保留传输流片段的序号之类的标识信息来清理在电子设备的存储器中缓存的所有已下载的传输流片段。
例如,在本方法中,可以删除已下载的传输流片段之中的、除了保留传输流片段之外的其他传输流片段,并且在电子设备的缓存目录中继续保留上述保留传输流片段。当然,取决于用户需要,可以将上述保留传输流片段从缓存目录转移到某个专用文件夹中,以便于管理。
因此,在上述实施例中描述了以下情况,即一旦在流媒体文件的播放过程中检测到结束播放指令,就在已下载的传输流片段中确定一个或多个保留传输流片段,并且在电子设备的存储器中保留这些保留传输流片段。
然而,本发明人进一步注意到,由于流媒体文件(例如,视频文件)通常都包括特定媒体部分(或称为有效内容部分,例如,其可以是视频文件的正片部分等)和非特定媒体部分(或称为非有效内容部分,例如,其可以是视频文件的广告部分、演职员表部分等非正片部分),所以在用户欣赏流媒体文件的过程中,在已经完成上述特定媒体部分的欣赏之后,很可能不会等待后续的非特定媒体部分完全播放完毕,就提前点击图2中的返回按钮,以重新选择节目;或点击图2中的上一集和下一集按钮,以进行剧集切换;或直接从图2中的节目列表中选择其他相关节目;或关闭应用程序。在此情况下,由于用户很可能不会再继续播放该视频文件,所以如果仍然根据检测到的结束播放指令而执行本方法的后续操作,则将在电子设备中保存与非特定媒体部分对应的传输流片段,从而导致不必要地浪费电子设备的存储空间。
为此,在一个示例中,在执行上述步骤S130的过程中,可以首先判断在结束播放所述流媒体文件时正在播放的当前传输流片段是否属于所述流媒体文件中的特定媒体部分,并且只有当判断出在结束播放所述流媒体文件时正在播放的当前传输流片段属于所述流媒体文件中的特定媒体部分时,从执行后续的操作,即在已下载的传输流片段中确定一个或多个保留传输流片段。
为此,例如,在服务器端通过对视频文件进行划分而生成传输流片段时,可以通过不同的标识信息来区分特定媒体部分和非特定媒体部分。这样,可以根据标识信息来判断在结束播放所述流媒体文件时正在播放的当前传输流片段是否属于所述流媒体文件中的特定媒体部分。
又如,在服务器端通过对视频文件进行划分而生成传输流片段时,也可以根据播放时间来区分特定媒体部分和非特定媒体部分。这样,可以根据当前的播放时间来判断在结束播放所述流媒体文件时正在播放的当前传输流片段是否属于所述流媒体文件中的特定媒体部分。
显然,用于区分特定媒体部分和非特定媒体部分的方式不限于此。还可以使用其他方式来完成上述操作。
在步骤S150中,检测继续播放指令。
在结束欣赏上述流媒体文件的一段时间之后,用户可能希望从上次中断播放的“历史记录”开始,继续欣赏上一次未完成的流媒体文件。例如,用户可以通过各种节目内容的文字介绍、缩略图概览、分类浏览器等各种节目相关信息而重新选择上一次未看完的视频文件进行观看。
这时,可以首先确定用户所选择的视频文件是新打开(即,从未观看过)的视频文件还是先前中断观看的视频文件。
在一个示例中,可以根据用户重新选择的数据源来从服务器中下载与该视频文件对应的索引文件,并且比较该索引文件与用户之前中断观看的视频文件所对应的索引文件是否相同。如果相同,则可以判断出用户所选择的视频文件是先前中断观看的视频文件。为此,在上述的步骤S140中,可以在删除已下载的传输流片段之中的、除了保留传输流片段之外的其他传输流片段的同时,还可以保留该流媒体文件的索引信息。
显然,用于判断用户最新选择的视频文件是否是先前中断观看的视频文件的方式不限于此。还可以使用其他方式来完成上述操作。例如,还可以通过比较在电子设备中保存的视频文件的标识符与从视频服务器中新下载的视频文件的标识符来进行上述判断操作。
在确定出用户所选择的视频文件是先前中断观看的视频文件之后,可以执行后续的从上次观看的“历史时刻”开始的续播操作。
替换地,也可以在直接执行续播操作之前,首先向用户提示是否希望从上次观看的“历史时刻”开始继续播放,还是希望从整个视频文件的开始重新播放,并然后检测用户的输入。为此,例如,可以在播放界面上提供续播按钮和重播按钮,以供用户选择。
在检测到用户例如通过点击相应续播按钮而输入的用于继续播放该流媒体文件的继续播放指令之后,可以获取并且播放与该视频文件相关的保留传输流,从而实现该视频文件的续播。
例如,在步骤S140中在电子设备中并未删除的保留传输流片段可以是仅仅一个TS片段的情况。例如,该TS片段可以是在结束播放所述流媒体文件时正在播放的当前传输流片段TS(n)、或者位于当前传输流片段之前的某一个传输流片段,即TS(n-1)或TS(n-2)等。这时,可以直接从该TS片段开始进行播放,同时在播放的过程中不断地继续获取后续的传输流片段,从而实现整个流媒体文件的顺序播放。
进一步地,如步骤S1320和步骤S2330所述的,由于在步骤S130中在已下载的传输流片段中确定一个或多个保留传输流片段的过程中还可以进一步确定出与该TS片段相关联的偏移量,所以在从该TS片段开始进行播放之前,还可以首先根据需要来执行偏移操作,然后再开始该TS片段的播放。
例如,当该TS片段是在结束播放所述流媒体文件时正在播放的当前传输流片段TS(n)时,可以在对它进行播放之前,首先获取与之相关联的一个偏移量信息。例如,在步骤S1320中的第二示例的情况下,可以从电子设备中获取以下信息,即在结束播放所述流媒体文件时所述流媒体文件的当前播放时间第30分钟处于TS(n)中的第5秒的开始位置处。然后,在用户随后继续播放该视频文件时,可以不是对TS(n)从头(即,从第1秒)开始进行播放,而是在对TS(n)进行4秒时间量的偏移之后,从TS(n)中的第5秒开始进行播放。
此外,在步骤S140中在电子设备中并未删除的保留传输流片段也可以是多个TS片段的情况。所述TS片段可以是在步骤S130中根据第一实施例所获得的多个TS片段,例如,在结束播放所述流媒体文件时正在播放的当前传输流片段(即,TS(n))、位于当前传输流片段之前的至少一个传输流片段(即,TS(n-1)或TS(n-2))、和位于当前传输流片段之后的至少一个传输流片段(即,TS(n+1)或TS(n+2))中的两个或多个TS片段。或者,所述TS片段也可以是在步骤S130中根据第二实施例所获得的多个TS片段,例如,从所述保留起始传输流片段到所述保留终止传输流片段的所有传输流片段。这时,需要执行步骤S160,以从多个保留传输流片段之中确定一个特定传输流片段,作为续播该视频文件的起始位置。
在步骤S160中,在保留传输流片段中确定特定传输流片段。
如上所述,所述TS片段可以是在步骤S130中根据第一实施例所获得的多个TS片段,这时在电子设备的存储器中可以仅仅存储有多个TS片段。
这时,在一个示例中,可以将多个保留传输流片段之中的、具有最小序号的传输流片段确定为所述特定传输流片段。这样,在用户再次播放该视频文件时,可以从在结束播放所述流媒体文件时所述流媒体文件的当前播放时间开始,提前一段时间进行播放,从而确保用户能够更多地回忆起上述中断播放时的剧情。
在另一示例中,如果在步骤S130中确定保留传输流片段时进一步向这些保留传输流片段分配了临时标识信息,以用于标识哪一个TS片段对应于当前的播放进度(即,哪一个TS片段是在结束播放所述流媒体文件时正在播放的当前传输流片段TS(n)),则也可以直接将该TS片段确定为所述特定传输流片段。这样,在用户再次欣赏上次观看时并未看完的视频文件时,该用户可以从上次中断播放的“历史记录”开始,继续播放,而不是从头开始重新进行播放。此外,在从该TS片段开始进行播放之前,也可以首先根据需要来执行偏移操作,然后再开始该TS片段的播放,以获得准确时间点的续播体验。
此外,所述TS片段可以是在步骤S130中根据第二实施例所获得的多个TS片段,这时在电子设备的存储器中可以存储有TS片段和在结束播放所述流媒体文件时所述流媒体文件的当前播放时间。
这时,可以首先,获取在结束播放所述流媒体文件时所述流媒体文件的当前播放时间,并且根据所述当前播放时间来确定所述特定传输流片段。
例如,可以通过从电子设备的存储器中读取先前保存的当前播放时间,例如,基于第一实施例中的相同假设,可以获知该当前播放时间是该视频文件的第30分钟整。
具体地,所述根据所述当前播放时间来确定所述特定传输流片段的步骤可以包括以下子步骤:
在子步骤1中,获取所述流媒体文件的索引信息,所述索引信息用于记录所述多个传输流片段中每一个传输流片段的序号和持续时间。
可以在确定保留传输流片段时,首先读取视频文件的相关索引信息(例如,M3U8索引文件)。如上所述,在该M3U8文件中,可以记录有构成该视频文件的所有传输流片段中每一个传输流片段的序号和持续时间。
在子步骤2中,从所述流媒体文件中的第1个传输流片段开始对传输流片段的持续时间求和,直到所述第1个传输流片段到第k-1个传输流片段的持续时间之和小于所述当前播放时间、并且所述第1个传输流片段到第k个传输流片段的持续时间之和大于所述当前播放时间为止,所述k是自然数,并且将所述第k个传输流片段确定为所述特定传输流片段。
因为在索引文件中记载了每个传输流片段的长度,所以可以通过将每个传输流片段的长度求和,获得整个流媒体文件的总持续时间长度。
例如,在每个传输流片段具有固定持续时间的第一情况下,如果该b.ram包括6000个传输流片段,每个传输流片段是1秒,则该b.ram的总持续时间长度是100分钟。这时,简单地,可以将与当前播放时间(即,第30分钟整)对应的TS片段(即,特定传输流片段)确定为是第1801个TS片段,即TS(1801)。
然而,在基于第一实施例中的上述假设(即,用户所选择的视频文件b.ram的总时长为100分钟并被划分为1000个TS片段,并且每个TS片段的持续时间是不固定的)的第二情况下,无法简单地确定与当前播放时间(即,第30分钟整)对应的TS片段。
这时,与步骤S2330中的子步骤2中同理地,如图2所图示的,可以确定出,从第1个传输流片段TS(1)到第n-1个传输流片段TS(n-1)的持续时间之和为29分钟56秒,其小于所述当前播放时间第30分钟整;并且从第1个传输流片段TS(1)到第n个传输流片段TS(n)的持续时间之和为30分钟6秒,其大于所述当前播放时间第30分钟整。由此,可以将第n个传输流片段TS(n)确定为与当前播放时间(即,第30分钟整)对应的TS片段(即,特定传输流片段)。
在步骤S170中,从特定传输流片段开始继续播放流媒体文件。
在确定出该特定传输流片段之后,可以直接从该特定TS片段开始进行播放,而无需等待从网络中重新下载。同时,在播放的过程中,还可以不断地继续获取后续的传输流片段,以便后续播放,由于在播放该特定TS片段时就已经提前下载了后面的TS片段,因此后续的播放也无需等待长时间的网络缓冲,从而对整个流媒体文件实现了连贯、连续和高效播放。
进一步地,在从该特定TS片段开始进行播放之前,还可以首先根据需要来执行偏移操作,然后再开始该特定TS片段的播放。
由此可见,采用根据本发明实施例的流媒体处理方法,可以在获取并播放在另一设备中通过对所述流媒体文件进行划分而生成的多个传输流片段中的至少一个传输流片段来播放流媒体文件的过程中,检测用于结束播放所述流媒体文件的结束播放指令,根据预先设置的策略来在已下载的传输流片段中确定一个或多个保留传输流片段,继续保留这些传输流片段,并且删除已下载的传输流片段之中的、除了所述保留传输流片段之外的其他传输流片段。因此,在本发明的实施例中,可以提供一种灵活的流媒体处理方法,其能够通过仅仅保留当前已经下载的所有TS片段中的一部分TS片段来在电子设备中协调存储空间与下载耗时之间的矛盾,以最大可能地提升用户体验。
也就是说,通过根据本发明实施例的流媒体处理方法,当用户未欣赏完流媒体文件就退出播放时,可以保留一部分已下载的传输流片段,删除剩余的传输流片段,并且当用户下一次期望从上次的播放进度续播该流媒体文件时,可以直接获取并播放这些已保留的传输流片段,使得从历史记录续播的等待时间大大减少。并且由于结束流媒体文件播放时,在电子设备中只保留有限几个传输流片段,所以显著地节省了电子设备中的存储空间。
例如,对于目前分辨率为1080P的影片而言,一个传输流片段所占用的存储空间通常约2MB,可以看出其只占用电子设备中非常小的存储空间。
在下文中,将首先描述根据本发明实施例的流媒体处理装置。
图6是图示了根据本发明实施例的流媒体处理装置的框图,并且图7是图示了根据本发明实施例的电子设备的框图。
图1所图示的根据本发明实施例的流媒体处理方法可以通过图6所图示的流媒体处理装置100来实现,并且该流媒体处理装置100可以应用于图7所图示的一个或多个电子设备1000。
如图7所图示的,所述电子设备1000可以包括:流媒体处理装置100,用于在结束流媒体文件播放时,仅仅保留当前已经下载的构成所述流媒体文件的多个TS片段中的一部分TS片段;显示装置200,用于显示来自各种数据来源的目标可视数据;扬声装置300,用于播放来自各种数据来源的目标可听数据;通信装置400,用于从因特网上下载或从另一设备中接收构成一个流媒体文件的多个传输流片段之中的至少一个传输流片段,以在显示装置和/或扬声装置中按照顺序依次播放这些传输流片段,从而播放与该多个传输流片段对应的流媒体文件;以及存储装置500,用于对通过通信装置所获得的传输流片段进行缓存,以便用户在正常欣赏流媒体文件时,根据需要进行回放。
此外,该流媒体处理装置100可以通过任何方式与电子设备1000进行通信。
在一个示例中,该流媒体处理装置100可以作为一个软件模块和/或硬件模块而集成到该电子设备1000中,换言之,该电子设备1000可以包括该流媒体处理装置100。例如,当电子设备1000是移动电话时,该流媒体处理装置100可以是该移动电话的操作系统中的一个软件模块,或者可以是针对于该移动电话所开发的一个应用程序;当然,该流媒体处理装置100同样可以是该移动电话的众多硬件模块之一。
替换地,在另一示例中,该流媒体处理装置100与该电子设备1000也可以是分离的设备,并且该流媒体处理装置100可以通过有线和/或无线网络连接到该电子设备1000,并且按照约定的数据格式来传输交互信息。
如图6所图示的,该流媒体处理装置100可以包括:片段获取播放单元110、结束指令检测单元120、保留片段确定单元130、其他片段删除单元140、继续指令检测单元150、特定片段确定单元160、和片段继续播放单元170。
该片段获取播放单元110可以用于通过获取并播放多个传输流片段中的至少一个传输流片段来播放流媒体文件,其中,所述多个传输流片段是在另一设备中通过对所述流媒体文件进行划分而生成的。
该结束指令检测单元120可以用于检测结束播放指令,所述结束播放指令用于结束播放所述流媒体文件。
该保留片段确定单元130可以用于在已下载的传输流片段中确定一个或多个保留传输流片段。
该其他片段删除单元140可以用于删除已下载的传输流片段之中的、除了所述保留传输流片段之外的其他传输流片段。
在第一实施例中,所述保留片段确定单元130可以通过以下操作在已下载的传输流片段中确定一个或多个保留传输流片段:确定在结束播放所述流媒体文件时正在播放的当前传输流片段的序号;以及根据所述当前传输流片段的序号来确定所述保留传输流片段,其中,所述保留传输流片段包括:所述当前传输流片段、和/或所述当前传输流片段之前的至少一个传输流片段、和/或所述当前传输流片段之后的至少一个传输流片段。
在第二实施例中,所述保留片段确定单元130可以通过以下操作在已下载的传输流片段中确定一个或多个保留传输流片段:确定在结束播放所述流媒体文件时所述流媒体文件的当前播放时间;根据所述当前播放时间来确定保留起始时间和保留终止时间;以及根据所述保留起始时间和所述保留终止时间来确定所述保留传输流片段。
具体地,所述保留片段确定单元130可以通过以下操作根据所述保留起始时间和所述保留终止时间来确定所述保留传输流片段:获取所述流媒体文件的索引信息,所述索引信息用于记录所述多个传输流片段中每一个传输流片段的序号和持续时间;从所述流媒体文件中的第1个传输流片段开始对传输流片段的持续时间求和,直到所述第1个传输流片段到第m-1个传输流片段的持续时间之和小于所述保留起始时间、并且所述第1个传输流片段到第m个传输流片段的持续时间之和大于所述保留起始时间为止,所述m是自然数,并且将所述第m个传输流片段确定为保留起始传输流片段;从所述流媒体文件中的第1个传输流片段开始对传输流片段的持续时间求和,直到所述第1个传输流片段到第n-1个传输流片段的持续时间之和小于所述保留终止时间、并且所述第1个传输流片段到第n个传输流片段的持续时间之和大于所述保留终止时间为止,所述n是自然数,并且将所述第n个传输流片段确定为保留终止传输流片段;以及将从所述保留起始传输流片段到所述保留终止传输流片段的所有传输流片段确定为所述保留传输流片段。
所述保留片段确定单元130可以通过以下操作在已下载的传输流片段中确定一个或多个保留传输流片段:判断在结束播放所述流媒体文件时正在播放的当前传输流片段是否属于所述流媒体文件中的特定媒体部分;以及当判断出在结束播放所述流媒体文件时正在播放的当前传输流片段属于所述流媒体文件中的特定媒体部分时,在已下载的传输流片段中确定一个或多个保留传输流片段。
此外,该流媒体处理装置100还可以包括:当前时间确定单元180、和当前时间存储单元190。
该当前时间确定单元180可以用于确定在结束播放所述流媒体文件时所述流媒体文件的当前播放时间。
该当前时间存储单元190可以用于存储所述当前播放时间。
另外,该继续指令检测单元150可以用于检测继续播放指令,所述继续播放指令用于继续播放所述流媒体文件。
该特定片段确定单元160可以用于在所述保留传输流片段中确定特定传输流片段。
该片段继续播放单元170可以用于从所述特定传输流片段开始继续播放所述流媒体文件。
在一个示例中,所述特定片段确定单元160可以通过以下操作在所述保留传输流片段中确定特定传输流片段:将所述保留传输流片段之中的、具有最小序号的传输流片段确定为所述特定传输流片段。
在另一示例中,所述特定片段确定单元160可以通过以下操作在所述保留传输流片段中确定特定传输流片段:获取在结束播放所述流媒体文件时所述流媒体文件的当前播放时间;以及根据所述当前播放时间来确定所述特定传输流片段。
具体地,所述特定片段确定单元160可以通过以下操作根据所述当前播放时间来确定所述特定传输流片段:获取所述流媒体文件的索引信息,所述索引信息用于记录所述多个传输流片段中每一个传输流片段的序号和持续时间;以及从所述流媒体文件中的第1个传输流片段开始对传输流片段的持续时间求和,直到所述第1个传输流片段到第k-1个传输流片段的持续时间之和小于所述当前播放时间、并且所述第1个传输流片段到第k个传输流片段的持续时间之和大于所述当前播放时间为止,所述k是自然数,并且将所述第k个传输流片段确定为所述特定传输流片段。
根据本发明实施例的流媒体处理装置100中的各个单元以及电子设备1000中的各个装置的具体配置和操作已经在上面参考图1到图5描述的流媒体处理方法中详细介绍,并因此,将省略其重复描述。
由此可见,采用根据本发明实施例的流媒体处理装置,可以在获取并播放在另一设备中通过对所述流媒体文件进行划分而生成的多个传输流片段中的至少一个传输流片段来播放流媒体文件的过程中,检测用于结束播放所述流媒体文件的结束播放指令,根据预先设置的策略来在已下载的传输流片段中确定一个或多个保留传输流片段,继续保留这些传输流片段,并且删除已下载的传输流片段之中的、除了所述保留传输流片段之外的其他传输流片段。因此,在本发明的实施例中,可以提供一种灵活的流媒体处理装置,其能够通过仅仅保留当前已经下载的所有TS片段中的一部分TS片段来在电子设备中协调存储空间与下载耗时之间的矛盾,以最大可能地提升用户体验。
此外,尽管此处将上述的各个单元作为各个步骤的执行主体来说明本发明的各个实施例,但是,本领域技术人员能够理解的是,本发明不限于此。各个步骤的执行主体可以由其他的一个或多个设备、装置、单元、甚至模块来担任。
例如,上述的片段获取播放单元110、结束指令检测单元120、保留片段确定单元130、其他片段删除单元140、继续指令检测单元150、特定片段确定单元160、片段继续播放单元170、当前时间确定单元180、和当前时间存储单元190所执行的各个步骤可以统一地由电子设备中的中央处理单元(CPU)来实现。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助于软件加必需的硬件平台的方式来实现,当然也可以全部通过软件、或硬件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁盘、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
在上面详细描述了本发明的各个实施例。然而,本领域技术人员应该理解,在不脱离本发明的原理和精神的情况下,可对这些实施例进行各种修改,组合或子组合,并且这样的修改应落入本发明的范围内。
Claims (16)
1.一种流媒体处理方法,应用于电子设备,其特征在于,所述方法包括:
通过获取并播放多个传输流片段中的至少一个传输流片段来播放流媒体文件,其中,所述多个传输流片段是在另一设备中通过对所述流媒体文件进行划分而生成的;
检测结束播放指令,所述结束播放指令用于结束播放所述流媒体文件;
在已下载的传输流片段中确定一个或多个保留传输流片段;以及
删除已下载的传输流片段之中的、除了所述保留传输流片段之外的其他传输流片段。
2.根据权利要求1的方法,其特征在于,所述在已下载的传输流片段中确定一个或多个保留传输流片段的步骤包括:
确定在结束播放所述流媒体文件时正在播放的当前传输流片段的序号;以及
根据所述当前传输流片段的序号来确定所述保留传输流片段,
其中,所述保留传输流片段包括:所述当前传输流片段、和/或所述当前传输流片段之前的至少一个传输流片段、和/或所述当前传输流片段之后的至少一个传输流片段。
3.根据权利要求1的方法,其特征在于,所述在已下载的传输流片段中确定一个或多个保留传输流片段的步骤包括:
确定在结束播放所述流媒体文件时所述流媒体文件的当前播放时间;
根据所述当前播放时间来确定保留起始时间和保留终止时间;以及
根据所述保留起始时间和所述保留终止时间来确定所述保留传输流片段。
4.根据权利要求3的方法,其特征在于,所述根据所述保留起始时间和所述保留终止时间来确定所述保留传输流片段的步骤包括:
获取所述流媒体文件的索引信息,所述索引信息用于记录所述多个传输流片段中每一个传输流片段的序号和持续时间;
从所述流媒体文件中的第1个传输流片段开始对传输流片段的持续时间求和,直到所述第1个传输流片段到第m-1个传输流片段的持续时间之和小于所述保留起始时间、并且所述第1个传输流片段到第m个传输流片段的持续时间之和大于所述保留起始时间为止,所述m是自然数,并且将所述第m个传输流片段确定为保留起始传输流片段;
从所述流媒体文件中的第1个传输流片段开始对传输流片段的持续时间求和,直到所述第1个传输流片段到第n-1个传输流片段的持续时间之和小于所述保留终止时间、并且所述第1个传输流片段到第n个传输流片段的持续时间之和大于所述保留终止时间为止,所述n是自然数,并且将所述第n个传输流片段确定为保留终止传输流片段;以及
将从所述保留起始传输流片段到所述保留终止传输流片段的所有传输流片段确定为所述保留传输流片段。
5.根据权利要求1的方法,其特征在于,所述方法还包括:
确定在结束播放所述流媒体文件时所述流媒体文件的当前播放时间;以及
存储所述当前播放时间。
6.根据权利要求1的方法,其特征在于,所述在已下载的传输流片段中确定一个或多个保留传输流片段的步骤包括:
判断在结束播放所述流媒体文件时正在播放的当前传输流片段是否属于所述流媒体文件中的特定媒体部分;以及
当判断出在结束播放所述流媒体文件时正在播放的当前传输流片段属于所述流媒体文件中的特定媒体部分时,在已下载的传输流片段中确定一个或多个保留传输流片段。
7.根据权利要求1的方法,其特征在于,所述方法还包括:
检测继续播放指令,所述继续播放指令用于继续播放所述流媒体文件;
在所述保留传输流片段中确定特定传输流片段;以及
从所述特定传输流片段开始继续播放所述流媒体文件。
8.根据权利要求7的方法,其特征在于,所述在所述保留传输流片段中确定特定传输流片段的步骤包括:
将所述保留传输流片段之中的、具有最小序号的传输流片段确定为所述特定传输流片段。
9.根据权利要求7的方法,其特征在于,所述在所述保留传输流片段中确定特定传输流片段的步骤包括:
获取在结束播放所述流媒体文件时所述流媒体文件的当前播放时间;以及
根据所述当前播放时间来确定所述特定传输流片段。
10.根据权利要求9的方法,其特征在于,所述根据所述当前播放时间来确定所述特定传输流片段的步骤包括:
获取所述流媒体文件的索引信息,所述索引信息用于记录所述多个传输流片段中每一个传输流片段的序号和持续时间;以及
从所述流媒体文件中的第1个传输流片段开始对传输流片段的持续时间求和,直到所述第1个传输流片段到第k-1个传输流片段的持续时间之和小于所述当前播放时间、并且所述第1个传输流片段到第k个传输流片段的持续时间之和大于所述当前播放时间为止,所述k是自然数,并且将所述第k个传输流片段确定为所述特定传输流片段。
11.一种流媒体处理装置,应用于电子设备,其特征在于,所述装置包括:
片段获取播放单元,用于通过获取并播放多个传输流片段中的至少一个传输流片段来播放流媒体文件,其中,所述多个传输流片段是在另一设备中通过对所述流媒体文件进行划分而生成的;
结束指令检测单元,用于检测结束播放指令,所述结束播放指令用于结束播放所述流媒体文件;
保留片段确定单元,用于在已下载的传输流片段中确定一个或多个保留传输流片段;以及
其他片段删除单元,用于删除已下载的传输流片段之中的、除了所述保留传输流片段之外的其他传输流片段。
12.根据权利要求11的方法,其特征在于,所述保留片段确定单元通过以下操作在已下载的传输流片段中确定一个或多个保留传输流片段:
确定在结束播放所述流媒体文件时正在播放的当前传输流片段的序号;以及
根据所述当前传输流片段的序号来确定所述保留传输流片段,
其中,所述保留传输流片段包括:所述当前传输流片段、和/或所述当前传输流片段之前的至少一个传输流片段、和/或所述当前传输流片段之后的至少一个传输流片段。
13.根据权利要求11的方法,其特征在于,所述保留片段确定单元通过以下操作在已下载的传输流片段中确定一个或多个保留传输流片段:
确定在结束播放所述流媒体文件时所述流媒体文件的当前播放时间;
根据所述当前播放时间来确定保留起始时间和保留终止时间;以及
根据所述保留起始时间和所述保留终止时间来确定所述保留传输流片段。
14.根据权利要求11的装置,其特征在于,所述装置还包括:
继续指令检测单元,用于检测继续播放指令,所述继续播放指令用于继续播放所述流媒体文件;
特定片段确定单元,用于在所述保留传输流片段中确定特定传输流片段;以及
片段继续播放单元,用于从所述特定传输流片段开始继续播放所述流媒体文件。
15.根据权利要求14的装置,其特征在于,所述特定片段确定单元通过以下操作在所述保留传输流片段中确定特定传输流片段:
将所述保留传输流片段之中的、具有最小序号的传输流片段确定为所述特定传输流片段。
16.根据权利要求14的装置,其特征在于,所述特定片段确定单元通过以下操作在所述保留传输流片段中确定特定传输流片段:
获取在结束播放所述流媒体文件时所述流媒体文件的当前播放时间;以及
根据所述当前播放时间来确定所述特定传输流片段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410198527.XA CN105100912B (zh) | 2014-05-12 | 2014-05-12 | 流媒体处理方法和流媒体处理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410198527.XA CN105100912B (zh) | 2014-05-12 | 2014-05-12 | 流媒体处理方法和流媒体处理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105100912A true CN105100912A (zh) | 2015-11-25 |
CN105100912B CN105100912B (zh) | 2018-10-12 |
Family
ID=54580295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410198527.XA Active CN105100912B (zh) | 2014-05-12 | 2014-05-12 | 流媒体处理方法和流媒体处理装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105100912B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105516828A (zh) * | 2015-12-14 | 2016-04-20 | 成都易瞳科技有限公司 | 一种视频下载方法及其装置 |
CN105872802A (zh) * | 2015-12-30 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 视频播放方法和装置 |
WO2017092330A1 (zh) * | 2015-12-03 | 2017-06-08 | 乐视控股(北京)有限公司 | 一种基于播放器的播放方法及装置 |
CN107197359A (zh) * | 2017-05-18 | 2017-09-22 | 百度在线网络技术(北京)有限公司 | 视频文件缓存方法及装置 |
CN107886939A (zh) * | 2016-09-30 | 2018-04-06 | 北京京东尚科信息技术有限公司 | 一种在客户端的中止‑接续式文本语音播放方法和装置 |
CN108228829A (zh) * | 2018-01-03 | 2018-06-29 | 北京百度网讯科技有限公司 | 用于生成信息的方法和装置 |
CN111124207A (zh) * | 2019-12-23 | 2020-05-08 | 维沃移动通信有限公司 | 多媒体文件播放方法及电子设备 |
CN113163226A (zh) * | 2021-03-26 | 2021-07-23 | 维沃移动通信有限公司 | 媒体文件的播放方法、装置、电子设备、服务器和介质 |
CN114727130A (zh) * | 2022-04-12 | 2022-07-08 | 北京市博汇科技股份有限公司 | 一种将ts文件虚拟切割提供hls点播服务的方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1933602A (zh) * | 2005-09-13 | 2007-03-21 | 松下电器产业株式会社 | 编码解码装置、编码解码方法及程序、编码解码集成电路 |
CN103167358A (zh) * | 2011-12-09 | 2013-06-19 | 深圳市快播科技有限公司 | 一种机顶盒、媒体播放处理及媒体恢复播放方法 |
CN103618919A (zh) * | 2013-11-19 | 2014-03-05 | 深圳Tcl新技术有限公司 | 网络电视加载视频的方法和装置 |
US20140130110A1 (en) * | 2012-11-05 | 2014-05-08 | Comcast Cable Communications, Llc | Methods And Systems For Content Control |
-
2014
- 2014-05-12 CN CN201410198527.XA patent/CN105100912B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1933602A (zh) * | 2005-09-13 | 2007-03-21 | 松下电器产业株式会社 | 编码解码装置、编码解码方法及程序、编码解码集成电路 |
CN103167358A (zh) * | 2011-12-09 | 2013-06-19 | 深圳市快播科技有限公司 | 一种机顶盒、媒体播放处理及媒体恢复播放方法 |
US20140130110A1 (en) * | 2012-11-05 | 2014-05-08 | Comcast Cable Communications, Llc | Methods And Systems For Content Control |
CN103618919A (zh) * | 2013-11-19 | 2014-03-05 | 深圳Tcl新技术有限公司 | 网络电视加载视频的方法和装置 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017092330A1 (zh) * | 2015-12-03 | 2017-06-08 | 乐视控股(北京)有限公司 | 一种基于播放器的播放方法及装置 |
CN105516828A (zh) * | 2015-12-14 | 2016-04-20 | 成都易瞳科技有限公司 | 一种视频下载方法及其装置 |
CN105872802A (zh) * | 2015-12-30 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 视频播放方法和装置 |
CN107886939A (zh) * | 2016-09-30 | 2018-04-06 | 北京京东尚科信息技术有限公司 | 一种在客户端的中止‑接续式文本语音播放方法和装置 |
CN107886939B (zh) * | 2016-09-30 | 2021-03-30 | 北京京东尚科信息技术有限公司 | 一种在客户端的中止-接续式文本语音播放方法和装置 |
CN107197359A (zh) * | 2017-05-18 | 2017-09-22 | 百度在线网络技术(北京)有限公司 | 视频文件缓存方法及装置 |
CN108228829A (zh) * | 2018-01-03 | 2018-06-29 | 北京百度网讯科技有限公司 | 用于生成信息的方法和装置 |
CN108228829B (zh) * | 2018-01-03 | 2022-01-11 | 北京百度网讯科技有限公司 | 用于生成信息的方法和装置 |
CN111124207A (zh) * | 2019-12-23 | 2020-05-08 | 维沃移动通信有限公司 | 多媒体文件播放方法及电子设备 |
CN111124207B (zh) * | 2019-12-23 | 2021-06-15 | 维沃移动通信有限公司 | 多媒体文件播放方法及电子设备 |
CN113163226A (zh) * | 2021-03-26 | 2021-07-23 | 维沃移动通信有限公司 | 媒体文件的播放方法、装置、电子设备、服务器和介质 |
CN114727130A (zh) * | 2022-04-12 | 2022-07-08 | 北京市博汇科技股份有限公司 | 一种将ts文件虚拟切割提供hls点播服务的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105100912B (zh) | 2018-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220159349A1 (en) | Methods and apparatus for presenting advertisements during playback of recorded television content | |
CN105100912A (zh) | 流媒体处理方法和流媒体处理装置 | |
US8886009B2 (en) | Creation of video bookmarks via scripted interactivity in advanced digital television | |
US8312376B2 (en) | Bookmark interpretation service | |
CN112702645B (zh) | 用于将辅助媒体项目插入到主媒体流中的方法及系统 | |
CN103458299B (zh) | 影音串流的播放方法与系统 | |
US10423320B2 (en) | Graphical user interface for navigating a video | |
EP1921852A1 (en) | Sharing Television Clips | |
JP5863661B2 (ja) | オンデマンドプレゼンテーション用のストリームコンテンツの組み立て | |
EP2763429A1 (en) | Preview and playback method of video streams and system thereof | |
CN103081461B (zh) | 用于提供流媒体节目和目标广告的方法和装置 | |
US20140139742A1 (en) | Methods and systems for displaying advertisements | |
CN113424553B (zh) | 用于重放媒体项目的方法和系统 | |
KR20090059923A (ko) | 검색어와 관련된 컨텐츠를 제공하기 위한 멀티미디어제공방법 및 이를 적용한 멀티미디어 기기 | |
CN108810580B (zh) | 媒体内容推送方法及装置 | |
KR20120037411A (ko) | 검색 후에 수신된 복수의 버전 중에서 문서의 버전을 선택하는 방법 및 연관된 수신기 | |
US8365222B2 (en) | Animated station identifier in program guides | |
CA3187273A1 (en) | Systems and methods for content item insertion | |
US20090254586A1 (en) | Updated Bookmark Associations | |
US10542306B2 (en) | Systems and methods for excluding consumed content from a content presentation | |
CN105898586A (zh) | 一种用于直播节目的回看方法和系统 | |
JP5243871B2 (ja) | 映像再生装置 | |
JP4938384B2 (ja) | 動画像データ配信システム、動画像データ提供方法、動画像データ配信プログラム、動画像データ提供プログラム及びそれらのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
US20250106463A1 (en) | Display apparatus and data processing method | |
KR101947186B1 (ko) | 콘텐츠 재생 방법 및 그 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |