CN105979373A - 一种播放方法及装置 - Google Patents
一种播放方法及装置 Download PDFInfo
- Publication number
- CN105979373A CN105979373A CN201510883359.2A CN201510883359A CN105979373A CN 105979373 A CN105979373 A CN 105979373A CN 201510883359 A CN201510883359 A CN 201510883359A CN 105979373 A CN105979373 A CN 105979373A
- Authority
- CN
- China
- Prior art keywords
- multimedia
- content
- player
- target location
- playing
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/19—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2387—Stream processing in response to a playback request from an end-user, e.g. for trick-play
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/64—Addressing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
- H04N21/8173—End-user applications, e.g. Web browser, game
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8455—Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
- H04N21/8586—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供一种播放方法及装置,其中的方法具体包括:播放器接收来自应用程序的调用请求;其中,所述调用请求包括:多媒体内容的地址参数和所述多媒体内容的位置参数;播放器依据所述地址参数,从服务器获取从所述位置参数对应目标位置起的多媒体内容;播放器播放从所述目标位置起的多媒体内容。本发明实施例可以提高从目标位置首次播放多媒体内容的效率,并且,能够节省信息设备的存储空间。
Description
技术领域
本发明实施例涉及多媒体技术领域,尤其涉及一种播放方法及装置。
背景技术
随着多媒体技术的不断发展,通过网络在线观看视频或者点播音频越来越方便,用户不仅可以通过手机、智能电视等终端设备在线观看连续剧、电影,还可以观看一些精彩视频片段、点播自己喜欢的音乐等多媒体内容。
目前,无论是连续剧、电影还是精彩视频片段等视频,在播放的前一部分时间里难免存在片头等观众不太愿意看到的片段。因此,现有方案可以支持跳过片头功能,以使用户通过设置,可直接跳过电视剧的片头,从而获得剧情连贯不间断的播放感受。
现有一种基于安卓系统的跳过片头的方案中,操作系统的底层播放器会向应用程序提供接口,由应用程序通过调用该接口实现跳过片头的功能;具体地,应用程序可以通过调用接口1通知底层播放器从服务器下载视频文件和进行该视频文件的准备工作,并在底层播放器开始播放该视频文件的准备内容时,依据用户发出的跳过片头的设置,通过调用接口2通知底层播放器从跳过片头的位置开始播放该视频文件。
然而,在用户发出跳过片头的设置的情况下,片头内容对用户而言是无关的,因此,片头内容的下载和准备均容易造成处理时间冗余和内存空间冗余。
发明内容
本发明实施例提供一种播放方法及装置,用以解决现有方案中片头内容的下载和准备均容易造成处理时间冗余和内存空间冗余的缺陷,可以提高从目标位置首次播放多媒体内容的效率,并且,能够节省信息设备的存储空间。
本发明实施例提供一种播放方法,包括:
播放器接收来自应用程序的调用请求;其中,所述调用请求包括:多媒体内容的地址参数和所述多媒体内容的位置参数;
播放器依据所述地址参数,从服务器获取从所述位置参数对应目标位置起的多媒体内容;
播放器播放从所述目标位置起的多媒体内容。
本发明实施例提供一种播放装置,包括:
第一接收模块,位于播放器,用于接收来自应用程序的调用请求;其中,所述调用请求包括:多媒体内容的地址参数和所述多媒体内容的位置参数;
第一获取模块,位于播放器,用于依据所述地址参数,从服务器获取从所述位置参数对应目标位置起的多媒体内容;及
播放模块,位于播放器,用于播放从所述目标位置起的多媒体内容。
本发明实施例提供的播放方法及装置,应用程序可以通过接口向播放器同时传递多媒体内容的地址参数和所述多媒体内容的位置参数,以使播放器依据所述地址参数,从服务器获取从所述位置参数对应目标位置起的多媒体内容;由于本发明实施例可以仅仅从服务器获取从目标位置起的多媒体内容,并且在播放从所述目标位置起的多媒体内容前可以仅仅对从目标位置起的多媒体内容进行准备;因此,相对于现有方案中片头内容的下载和准备均容易造成处理时间冗余和内存空间冗余,本发明实施例可以提高从目标位置首次播放多媒体内容的效率,并且,能够节省信息设备的存储空间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的一种播放方法实施例一的步骤流程图;
图2为本发明的一种播放方法实施例二的步骤流程图;
图3为本发明的一种播放方法实施例三的步骤流程图;
图4为本发明的一种播放方法实施例四的步骤流程图;及
图5为本发明的一种播放装置实施例的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
方法实施例一
参照图1,示出了本发明的一种播放方法实施例一的步骤流程图,具体可以包括:
步骤101、播放器接收来自应用程序的调用请求;其中,所述调用请求具体可以包括:多媒体内容的地址参数和所述多媒体内容的位置参数;
步骤102、播放器依据所述地址参数,从服务器获取从所述位置参数对应目标位置起的多媒体内容;
步骤103、播放器播放从所述目标位置起的多媒体内容。
本发明实施例可以应用于智能电视、手机、平板电脑等具有独立操作系统的信息设备中,用于高效地从目标位置首次播放多媒体内容,并且,用于节省这些信息设备的存储空间。本发明实施例主要以具有安卓系统的信息设备为例进行说明,具有IOS等其他操作系统的信息设备相互参照即可。
对于安卓系统而言,对于多媒体内容的处理模式通常为,操作系统的底层播放器会向应用程序提供接口,由应用程序通过调用这些接口实现跳过片头的功能。由于应用程序通常是按照这些接口开发的,因此,一旦这些接口发生改变,则容易引起接口与应用程序之间的兼容性问题,也即,容易导致应用程序的异常;上述原因基本限制了本领域技术人员改变接口、及改变基于安卓系统的跳过片头的方案。
而本发明实施例创造性地提出了一种用于从目标位置首次播放多媒体内容的播放方案,该播放方案可以在接口改动较小的情况下对播放方案进行改进,具体地,相对于现有方案仅仅通过接口向播放器传递多媒体内容的地址参数,本发明实施例可以通过接口向播放器同时传递多媒体内容的地址参数和所述多媒体内容的位置参数,以使播放器依据所述地址参数,从服务器获取从所述位置参数对应目标位置起的多媒体内容;由于本发明实施例可以仅仅从服务器获取从目标位置起的多媒体内容,并且在播放从所述目标位置起的多媒体内容前可以仅仅对从目标位置起的多媒体内容进行准备;因此,相对于现有方案中片头内容的下载和准备均容易造成处理时间冗余和内存空间冗余,本发明实施例可以提高从目标位置首次播放多媒体内容的效率,并且,用于节省信息设备的存储空间。
需要说明的是,本发明实施例对于接口的改进具体包括:应用程序通过接口向播放器同时传递多媒体内容的地址参数和所述多媒体内容的位置参数,因此,对接口的改动较小,也即,上述改动基本不会影响接口与应用程序之间的兼容性,也能够避免应用程序出现异常,从而能够保证应用程序的稳定性。
本发明实施例中,APP(应用程序,Application)可用于表示信息设备上安装的、运行在用户模式、可以和用户进行交互、具有可视的用户界面的程序,如搜狐影音APP、乐视APP等。具体地,应用程序可以接收用户的播放请求,该播放请求中可以携带有多媒体内容的地址,如URL(统一资源定位符,Uniform Resoure Locator)等;这样,在接收到用户的播放请求时,应用程序可以通过调用播放器提供的接口向播放器传递多媒体内容的地址参数和所述多媒体内容的位置参数。
本发明实施例中,上述多媒体内容具体可以包括:图片、文字、视频和音频中的任一或者组合,上述多媒体内容可以流媒体的格式进行传输,上述流媒体可以遵循HLS(动态码率自适应技术,HTTP Live Streaming)协议等,本发明实施例对于具体的多媒体内容及其传输协议不加以限制。
本发明实施例中,所述多媒体内容的位置参数的实质可以为:在向服务器请求地址参数对应的多媒体内容时,将位置参数传递给服务器,以使服务器获取目标位置对应的多媒体内容。在本发明的一种可选实施例中,播放器依据所述地址参数,从服务器获取从所述位置参数对应目标位置起的多媒体内容的过程具体可以包括:播放器依据所述地址参数,从服务器下载从所述位置参数对应目标位置起的多媒体内容。假设上述多媒体内容遵循HLS协议,则上述下载过程具体可以包括:从服务器下载多媒体内容的索引文件;对所述多媒体内容的索引文件进行解析,以得到所述多媒体内容的切片的下载地址;依据所述切片的下载地址,下载所述多媒体内容中的切片。
在本发明的一种应用示例中,上述索引文件可以为M3U8文件,M3U8文件是指UTF-8(8位多字节编码形式,8-bit Unicode Transformation Forma)编码格式的M3U文件;其中,M3U是音频文件的列表文件,在下载M3U文件后,可以不直接播放它,而是根据它的记录找到网络地址进行在线播放;通常,M3U文件的大小很小,因为其并中没有任何音频数据;也即,M3U文件为一个目录文件,其提供了一个指向其他位置的音频视频文件的索引。
在本发明的另一种可选实施例中,上述播放器播放从所述目标位置起的多媒体内容的步骤,具体可以包括:首先对从所述目标位置起的多媒体内容进行播放准备,然后播放准备好的多媒体内容。其中,上述对从所述目标位置起的多媒体内容进行播放准备的过程具体可以包括:从所述目标位置起的多媒体内容中分离出音频内容和视频内容,分别对音频内容和视频内容进行解码,其中,解码后的音频内容和视频内容可被缓存至对应的缓冲区中,则在播放准备好的多媒体内容的过程中,可以直接从上述缓冲区中读取对应的音频内容和视频内容,因此能够提高播放的流畅性。
在实际应用中,本发明实施例的目标位置具体可以包括:片头结束位置、最近一次播放所述多媒体内容时的结束位置、预设位置等。其中,片头结束位置可用于实现跳过电视剧的片头功能;最近一次播放所述多媒体内容时的结束位置可用于实现续播功能;预设位置可用于实现用户指定的任意位置的首次播放功能,可以理解,不同的多媒体内容可以具有相同或者不同的目标位置,例如,同一电视剧的不同剧集可以具有相同的目标位置,而不同电视剧的剧集之间可以具有不同的目标位置;又如,在某一剧集被在中途关闭的情形下,可以通过最近一次播放所述多媒体内容时的结束位置实现续播功能等,可以理解,本发明实施例对于具体的目标位置不加以限制。
在本发明的一种可选实施例中,在所述播放方法应用于安卓系统时,所述接收来自应用程序的调用请求的步骤,具体可以包括:
步骤S1、接收来自应用程序的序列化对象;
步骤S2、从所述序列化对象中解析出所述多媒体内容的地址参数和所述多媒体内容的位置参数。
本可选实施例可以通过序列化对象的形式传递多媒体内容的地址参数和所述多媒体内容的位置参数,因此能够保证多媒体内容的地址参数和所述多媒体内容的位置参数在传输过程中的安全性。
对于安卓系统而言,上述序列化对象具体可以包括:Parcelable(打包)类型的序列化对象和Serializable(序列化)类型的序列化对象。假设采用List变量描述上述位置参数,则应用程序可以将List变量转换成Serializable类型,然后通过putExtras(key,(Serializable)list)方法传递给播放器,而播放器可以通过(List<YourObject>)getIntent().getSerializable(key)接收List变量。可以理解,本发明实施例对于所述多媒体内容的地址参数和所述多媒体内容的位置参数的具体传递过程不加以限制。
综上,由于本发明实施例可以仅仅从服务器获取从目标位置起的多媒体内容,并且在播放从所述目标位置起的多媒体内容前可以仅仅对从目标位置起的多媒体内容进行准备;因此,相对于现有方案中片头内容的下载和准备均容易造成处理时间冗余和内存空间冗余,本发明实施例可以提高从目标位置首次播放多媒体内容的效率,并且,用于节省信息设备的存储空间。
方法实施例二
参照图2,示出了本发明的一种播放方法实施例二的步骤流程图,具体可以包括:
步骤201、应用程序在接收到用户的播放请求时,向服务器发送位置获取请求;其中,所述位置获取请求中可以包括所述播放请求中携带的地址,以使所述服务器从预先建立的多媒体内容的地址与片头结束位置之间的映射关系中获取所述地址对应的片头结束位置;
步骤202、应用程序接收所述服务器返回的、所述地址对应的片头结束位置;
步骤203、播放器接收来自应用程序的调用请求;其中,所述调用请求具体可以包括:多媒体内容的地址参数和所述多媒体内容的位置参数;
步骤204、播放器依据所述地址参数,从服务器获取从所述位置参数对应目标位置起的多媒体内容;
步骤205、播放器播放从所述目标位置起的多媒体内容。
相对于方法实施例一,本实施例增加了应用程序依据用户的播放请求从服务器获取地址对应的片头结束位置的过程。其中,服务器可以从预先建立的多媒体内容的地址与片头结束位置之间的映射关系中获取所述地址对应的片头结束位置,以提高片头结束位置的获取效率。
可以理解,在本发明的其他实施例中,在未预先建立上述映射关系的情形下,服务器也可以在线获取地址对应的片头结束位置,本发明实施例对于片头结束位置的具体获取过程不加以限制。
方法实施例三
参照图3,示出了本发明的一种播放方法实施例三的步骤流程图,具体可以包括:
步骤301、应用程序在接收到用户的播放请求时,从历史播放记录中查找最近一次播放所述多媒体内容时的结束位置;
步骤302、播放器接收来自应用程序的调用请求;其中,所述调用请求具体可以包括:多媒体内容的地址参数和所述多媒体内容的位置参数;
步骤303、播放器依据所述地址参数,从服务器获取从所述位置参数对应目标位置起的多媒体内容;
步骤304、播放器播放从所述目标位置起的多媒体内容。
相对于方法实施例一,本实施例增加了应用程序从历史播放记录中查找最近一次播放所述多媒体内容时的结束位置的过程,其中,应用程序可以在在多媒体内容未播放结束且被关闭的情况下,在上述历史播放记录中记录多媒体内容的地址信息和结束位置信息。可以理解,本发明实施例对于最近一次播放所述多媒体内容时的结束位置的具体获取方式不加以限制。
方法实施例四
参照图4,示出了本发明的一种播放方法实施例四的步骤流程图,具体可以包括:
步骤401、应用程序在播放流媒体文件的过程中,接收来自用户的时移指令;其中,所述时移指令中具体可以包括目标位置;
步骤402、播放器根据所述流媒体文件对应的切片索引文件,确定并下载所述目标位置对应的TS(传输流,Transport Stream)切片;
步骤403、播放器确定所述TS切片中与所述目标位置最接近的关键帧的位置信息;
步骤404、播放器从所述关键帧的位置信息播放所述TS切片。
相对于方法实施例一,本实施例的目标位置还可以为用户依据播放进度条确定的位置。以一个时长为40分钟的电视剧为例,用户可以将播放进度条拖拽至25分钟的位置,则播放器会向服务器请求第25分钟对应的TS切片。由于HLS是以切片为传输单位的,故传统技术中服务器向终端设备返回的是从第20分钟开始的切片,播放器将从第20分的位置开始播放电视剧。因此,传统技术存在一定的误差,无法做到精准时移。
而本实施例可以根据切片索引文件,确定对应的TS切片以及该TS切片中与所述时移时间点最接近的关键帧的位置信息,进而直接从该位置信息开始播放TS切片。相对于现有技术中从切片头开始播放,由于本发明实施例可以直接从与时移目标位置最接近的关键帧开始播放TS切片,因此可以提高流媒体文件播放过程中的时移准确度。此外,通过本发明实施例,可以直接定位到与目标位置最接近的关键帧,由于关键帧能够独立解码进行播放,不用从TS切片的开头进行解码,从而提高了解码效率。
根据HLS协议,流媒体文件是由多个TS切片按时间顺序组成的,切片的索引文件中可以记录有每个TS切片的顺序和时长。可以通过索引文件获取流媒体文件的总时长和每个TS切片的时长,通常TS切片的时长是固定或相等的,因此,根据流媒体文件的总时长以及每个TS切片的时长可以确定所述目标位置对应的TS切片。
在本发明的一种优选实施例中,所述切片索引文件中可以包括:TS切片的时长信息;
所述根据切片索引文件,确定所述时移时间点对应的传输流TS切片的步骤,具体可以包括:根据所述TS切片的时长信息,确定TS切片的开始时间信息;根据所述TS切片的开始时间信息,确定所述时移时间点对应的TS切片。
具体地,以如下示出的一种索引文件为例说明上述确定目标位置对应的TS切片的过程:
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:10,
https://priv.example.com/fileSequence0.ts
#EXTINF:10,
https://priv.example.com/fileSequence1.ts
#EXTINF:10,
https://priv.example.com/fileSequence2.ts
其中,EXTM3U为文件头,起标识作用;EXT-X-VERSION表示协议版本;EXT-X-TARGETDURATION表示每个TS切片的最大的时长;EXT-X-MEDIA-SEQUENCE表示当前索引文件中第一个TS切片的序号,每个TS切片在索引文件中都有唯一固定的序号;EXTINF表示TS切片的时长信息;https://priv.example.com/fileSequence0.ts表示序号为0的TS切片对应的URL(Uniform Resource Locator,统一资源定位符);在上述索引文件中包括三个TS切片,序号分别为0、1、2。
在上述应用示例中,每个TS切片的时长为10秒,则可以计算出每个TS切片的开始时间,例如,第一个TS切片开始时间为0秒,那么第二个TS切片开始的时间为10秒,第三个TS切片开始时间为30秒,假设目标位置为25秒,可以确定目标位置在第二个TS切片中。
在具体应用中,视频文件由I帧(关键帧)、P帧和B帧等组成,由于视频播放前需要先进行视频帧的解码,而只有I帧能够独立进行解码和播放,当用户请求的目标位置对应的数据帧不是I帧则无法播放,因此,需要确定所述TS切片中与所述目标位置最接近的I帧的位置信息。
为了能够快速定位到目标位置最接近的I帧,本发明实施例在服务器端对流媒体文件进行切片并生成索引文件的过程中,除了记录分片的时长信息,还可以将所有I帧的起始时间信息和偏移量信息存储到索引文件中。播放器在对索引文件进行解析的过程中,就可以得到每个TS切片中I帧的起始时间信息和偏移量信息。相应地,上述所述播放器确定所述TS切片中与所述目标位置最接近的关键帧的位置信息的步骤,具体可以包括:播放器解析所述切片索引文件,得到所述TS切片中所有关键帧的起始时间信息和偏移量信息;播放器确定与所述目标位置最接近的关键帧对应的起始时间信息和偏移量信息。
在本发明的一种应用示例中,终端设备对流媒体文件进行解码和播放,在解析m3u8索引文件过程中,当解析到#EXT-X-STREAM-INF:KEYFRAME字段时,可以将每一个I帧对应的起始时间信息和偏移量信息都保存到数据结构列表(list)中,每一个TS切片都对应一个list,以在执行时移操作时可以快速定位到I帧的位置,不用每次时移时都要解析m3u8索引文件,从而提高时移效率。当用户要做时移操作时,按照用户时移的目标时间点,根据m3u8索引文件,找到目标时间点对应的TS切片,然后找到该切片对应的list,根据目标时间点找到最接近的I帧的起始时间信息和偏移量信息,即可从该I帧所在位置开始播放流媒体文件。
在本发明的一种应用示例中,通过在索引文件的每个切片描述字段“EXTINF”后面,增加一个扩展字段“KEYFRAME”来定义I帧的起始时间信息和偏移量信息。具体地,参见如下示出了本发明的一种索引文件的应用示例:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:10,
#EXT-X-STREAM-INF:KEYFRAME=”0,56;3.32,153224;5.94,683546”
https://priv.example.com/fileSequence0.ts
#EXTINF:10,
#EXT-X-STREAM-INF:KEYFRAME=”0,72;4.89,124532;6.82,356820”
https://priv.example.com/fileSequence1.ts
其中,KEYFRAME为本发明实施例定义的扩展字段,用于标识I帧的起始时间信息和偏移量信息;例如,可以定义KEYFRAME=“time,offset;time,offset;…”,其中,time为I帧的起始时间信息,offset为偏移量信息。在上述示例中,序号为0的TS切片中包括3个I帧,第一个I帧的起始时间为0秒,偏移量为56;第二个I帧的起始时间为4.89秒,偏移量为124532;第三个I帧的起始时间为6.82秒,偏移量为356820。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
装置实施例
参照图5,示出了本发明的一种播放装置实施例的结构框图,具体可以包括:
第一接收模块501,位于播放器,用于接收来自应用程序的调用请求;其中,所述调用请求具体可以包括:多媒体内容的地址参数和所述多媒体内容的位置参数;
第一获取模块502,位于播放器,用于依据所述地址参数,从服务器获取从所述位置参数对应目标位置起的多媒体内容;及
播放模块503,位于播放器,用于播放从所述目标位置起的多媒体内容。
在本发明的一种可选实施例中,所述目标位置具体可以包括:片头结束位置,所述装置还可以包括:
第二获取模块,位于应用程序,用于在接收到用户的播放请求时,向服务器发送位置获取请求;其中,所述位置获取请求中包括所述播放请求中携带的地址,以使所述服务器从预先建立的多媒体内容的地址与片头结束位置之间的映射关系中获取所述地址对应的片头结束位置;
第二接收模块,位于应用程序,用于接收所述服务器返回的、所述地址对应的片头结束位置。
在本发明的另一种可选实施例中,所述目标位置具体可以包括:最近一次播放所述多媒体内容时的结束位置,所述装置还可以包括:
查找模块,位于应用程序,用于在接收到用户的播放请求时,从历史播放记录中查找最近一次播放所述多媒体内容时的结束位置。
在本发明的再一种可选实施例中,所述多媒体内容具体可以包括:流媒体文件,所述装置还可以包括:
第三接收模块,位于应用程序,用于在播放流媒体文件的过程中,接收来自用户的时移指令;其中,所述时移指令中可以包括目标位置;
所述第一获取模块501,具体可以包括:
下载子模块,用于根据所述流媒体文件对应的切片索引文件,确定并下载所述目标位置对应的传输流TS切片;
所述播放模块503,具体可以包括:
确定子模块,用于确定所述TS切片中与所述目标位置最接近的关键帧的位置信息;及
播放子模块,用于从所述关键帧的位置信息播放所述TS切片。
在本发明的又一种可选实施例中,所述确定子模块,具体可以包括:
解析单元,用于解析所述切片索引文件,得到所述TS切片中所有关键帧的起始时间信息和偏移量信息;及
确定单元,用于确定与所述目标位置最接近的关键帧对应的起始时间信息和偏移量信息。
在本发明的一种可选实施例中,所述装置可以应用于安卓系统,则所述第一接收模块501,具体可以包括:
对象接收子模块,用于接收来自应用程序的序列化对象;及
解析子模块,用于从所述序列化对象中解析出所述多媒体内容的地址参数和所述多媒体内容的位置参数。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种播放方法,其特征在于,包括:
播放器接收来自应用程序的调用请求;其中,所述调用请求包括:多媒体内容的地址参数和所述多媒体内容的位置参数;
播放器依据所述地址参数,从服务器获取从所述位置参数对应目标位置起的多媒体内容;
播放器播放从所述目标位置起的多媒体内容。
2.根据权利要求1所述的方法,其特征在于,所述目标位置包括:片头结束位置,所述方法还包括:
应用程序在接收到用户的播放请求时,向服务器发送位置获取请求;其中,所述位置获取请求中包括所述播放请求中携带的地址,以使所述服务器从预先建立的多媒体内容的地址与片头结束位置之间的映射关系中获取所述地址对应的片头结束位置;
应用程序接收所述服务器返回的、所述地址对应的片头结束位置。
3.根据权利要求1所述的方法,其特征在于,所述目标位置包括:最近一次播放所述多媒体内容时的结束位置,所述方法还包括:
应用程序在接收到用户的播放请求时,从历史播放记录中查找最近一次播放所述多媒体内容时的结束位置。
4.根据权利要求1所述的方法,其特征在于,所述多媒体内容包括:流媒体文件,所述方法还包括:
应用程序在播放流媒体文件的过程中,接收来自用户的时移指令;其中,所述时移指令中包括目标位置;
所述播放器依据所述地址参数,从服务器获取从所述位置参数对应目标位置起的多媒体内容的步骤,包括:
播放器根据所述流媒体文件对应的切片索引文件,确定并下载所述目标位置对应的传输流TS切片;
所述播放器播放从所述目标位置起的多媒体内容的步骤,包括:
播放器确定所述TS切片中与所述目标位置最接近的关键帧的位置信息;
播放器从所述关键帧的位置信息播放所述TS切片。
5.根据权利要求4所述的方法,其特征在于,所述播放器确定所述TS切片中与所述目标位置最接近的关键帧的位置信息的步骤,包括:
播放器解析所述切片索引文件,得到所述TS切片中所有关键帧的起始时间信息和偏移量信息;
播放器确定与所述目标位置最接近的关键帧对应的起始时间信息和偏移量信息。
6.根据权利要求1至5中任一所述的方法,其特征在于,所述方法应用于安卓系统,则所述接收来自应用程序的调用请求的步骤,包括:
接收来自应用程序的序列化对象;
从所述序列化对象中解析出所述多媒体内容的地址参数和所述多媒体内容的位置参数。
7.一种播放装置,其特征在于,包括:
第一接收模块,位于播放器,用于接收来自应用程序的调用请求;其中,所述调用请求包括:多媒体内容的地址参数和所述多媒体内容的位置参数;
第一获取模块,位于播放器,用于依据所述地址参数,从服务器获取从所述位置参数对应目标位置起的多媒体内容;及
播放模块,位于播放器,用于播放从所述目标位置起的多媒体内容。
8.根据权利要求7所述的装置,其特征在于,所述目标位置包括:片头结束位置,所述装置还包括:
第二获取模块,位于应用程序,用于在接收到用户的播放请求时,向服务器发送位置获取请求;其中,所述位置获取请求中包括所述播放请求中携带的地址,以使所述服务器从预先建立的多媒体内容的地址与片头结束位置之间的映射关系中获取所述地址对应的片头结束位置;
第二接收模块,位于应用程序,用于接收所述服务器返回的、所述地址对应的片头结束位置。
9.根据权利要求7所述的装置,其特征在于,所述目标位置包括:最近一次播放所述多媒体内容时的结束位置,所述装置还包括:
查找模块,位于应用程序,用于在接收到用户的播放请求时,从历史播放记录中查找最近一次播放所述多媒体内容时的结束位置。
10.根据权利要求7所述的装置,其特征在于,所述多媒体内容包括:流媒体文件,所述装置还包括:
第三接收模块,位于应用程序,用于在播放流媒体文件的过程中,接收来自用户的时移指令;其中,所述时移指令中包括目标位置;
所述第一获取模块,包括:
下载子模块,用于根据所述流媒体文件对应的切片索引文件,确定并下载所述目标位置对应的传输流TS切片;
所述播放模块,包括:
确定子模块,用于确定所述TS切片中与所述目标位置最接近的关键帧的位置信息;及
播放子模块,用于从所述关键帧的位置信息播放所述TS切片。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510883359.2A CN105979373A (zh) | 2015-12-03 | 2015-12-03 | 一种播放方法及装置 |
PCT/CN2016/089243 WO2017092327A1 (zh) | 2015-12-03 | 2016-07-07 | 一种播放方法及装置 |
US15/246,367 US20170162229A1 (en) | 2015-12-03 | 2016-08-24 | Play method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510883359.2A CN105979373A (zh) | 2015-12-03 | 2015-12-03 | 一种播放方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105979373A true CN105979373A (zh) | 2016-09-28 |
Family
ID=56988257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510883359.2A Pending CN105979373A (zh) | 2015-12-03 | 2015-12-03 | 一种播放方法及装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20170162229A1 (zh) |
CN (1) | CN105979373A (zh) |
WO (1) | WO2017092327A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106657084A (zh) * | 2016-12-28 | 2017-05-10 | 北京奇艺世纪科技有限公司 | 一种基于hls协议的视频播放方法及装置 |
CN108206957A (zh) * | 2017-11-29 | 2018-06-26 | 贵州省广播电视信息网络股份有限公司 | 一种hls播放ngod视频文件的方法 |
CN108763375A (zh) * | 2018-05-17 | 2018-11-06 | 上海七牛信息技术有限公司 | 一种媒体文件缓存方法、装置以及多媒体播放系统 |
CN109101964A (zh) * | 2018-08-15 | 2018-12-28 | 腾讯科技(深圳)有限公司 | 确定多媒体文件中首尾区域的方法、设备及存储介质 |
CN111031354A (zh) * | 2019-12-09 | 2020-04-17 | 腾讯科技(深圳)有限公司 | 一种多媒体播放方法、装置及存储介质 |
CN111064989A (zh) * | 2018-10-17 | 2020-04-24 | 国广融合(北京)传媒科技发展有限公司 | 数据流处理方法、装置、计算设备及存储介质 |
CN112383811A (zh) * | 2020-09-30 | 2021-02-19 | 福建省闽保信息技术有限公司 | 一种基于共享多功能一体机的多媒体分发方法及系统 |
CN112601131A (zh) * | 2020-12-10 | 2021-04-02 | 杭州当虹科技股份有限公司 | 一种hls视频切片文件存储优化方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111339323A (zh) * | 2020-02-21 | 2020-06-26 | 联想(北京)有限公司 | 一种多媒体文件的信息处理方法及装置 |
CN112822552B (zh) * | 2021-01-11 | 2023-06-09 | 湖南新云网科技有限公司 | 多媒体资源加载方法、装置、设备及计算机存储介质 |
CN116567133A (zh) * | 2022-01-28 | 2023-08-08 | 腾讯科技(北京)有限公司 | 一种资源播放方法和相关装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102348089A (zh) * | 2010-08-06 | 2012-02-08 | 康佳集团股份有限公司 | 视频播放方法及系统 |
CN102497594A (zh) * | 2011-12-16 | 2012-06-13 | 乐视网信息技术(北京)股份有限公司 | 一种系列视频文件的播放方法 |
WO2014026247A1 (en) * | 2012-08-16 | 2014-02-20 | Captioning Studio Technologies Pty Ltd | Method and system for providing relevant portions of multi-media based on text searching of multi-media |
CN103702214B (zh) * | 2013-12-10 | 2018-08-14 | 乐视网信息技术(北京)股份有限公司 | 一种视频播放方法和电子设备 |
CN104394476A (zh) * | 2014-11-28 | 2015-03-04 | 乐视致新电子科技(天津)有限公司 | 一种时移播放方法及媒体播放器 |
-
2015
- 2015-12-03 CN CN201510883359.2A patent/CN105979373A/zh active Pending
-
2016
- 2016-07-07 WO PCT/CN2016/089243 patent/WO2017092327A1/zh active Application Filing
- 2016-08-24 US US15/246,367 patent/US20170162229A1/en not_active Abandoned
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106657084A (zh) * | 2016-12-28 | 2017-05-10 | 北京奇艺世纪科技有限公司 | 一种基于hls协议的视频播放方法及装置 |
CN106657084B (zh) * | 2016-12-28 | 2020-06-12 | 北京奇艺世纪科技有限公司 | 一种基于hls协议的视频播放方法及装置 |
CN108206957A (zh) * | 2017-11-29 | 2018-06-26 | 贵州省广播电视信息网络股份有限公司 | 一种hls播放ngod视频文件的方法 |
CN108206957B (zh) * | 2017-11-29 | 2021-05-28 | 贵州省广播电视信息网络股份有限公司 | 一种hls播放ngod视频文件的方法 |
CN108763375A (zh) * | 2018-05-17 | 2018-11-06 | 上海七牛信息技术有限公司 | 一种媒体文件缓存方法、装置以及多媒体播放系统 |
CN109101964A (zh) * | 2018-08-15 | 2018-12-28 | 腾讯科技(深圳)有限公司 | 确定多媒体文件中首尾区域的方法、设备及存储介质 |
CN109101964B (zh) * | 2018-08-15 | 2023-04-07 | 腾讯科技(深圳)有限公司 | 确定多媒体文件中首尾区域的方法、设备及存储介质 |
CN111064989A (zh) * | 2018-10-17 | 2020-04-24 | 国广融合(北京)传媒科技发展有限公司 | 数据流处理方法、装置、计算设备及存储介质 |
CN111031354A (zh) * | 2019-12-09 | 2020-04-17 | 腾讯科技(深圳)有限公司 | 一种多媒体播放方法、装置及存储介质 |
CN112383811A (zh) * | 2020-09-30 | 2021-02-19 | 福建省闽保信息技术有限公司 | 一种基于共享多功能一体机的多媒体分发方法及系统 |
CN112383811B (zh) * | 2020-09-30 | 2022-10-18 | 福建省闽保信息技术有限公司 | 一种基于共享多功能一体机的多媒体分发方法及系统 |
CN112601131A (zh) * | 2020-12-10 | 2021-04-02 | 杭州当虹科技股份有限公司 | 一种hls视频切片文件存储优化方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2017092327A1 (zh) | 2017-06-08 |
US20170162229A1 (en) | 2017-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105979373A (zh) | 一种播放方法及装置 | |
KR101206111B1 (ko) | 스트리밍 콘텐츠 제공 장치 및 방법 | |
US8909805B2 (en) | Apparatus and method for providing streaming content | |
US20160066007A1 (en) | Video playback method, media device, playback device, and multimedia system | |
US20120246335A1 (en) | Method, terminal, and server for implementing fast playout | |
CN105681912A (zh) | 一种视频播放方法和装置 | |
JP2014511580A (ja) | マルチメディアストリーミングシステムにおけるコンテンツの格納及び再生のための装置及びその方法 | |
AU2007243966B2 (en) | Method and apparatus for re-constructing media from a media representation | |
US20180324241A1 (en) | Apparatus and method for providing streaming content | |
KR102499231B1 (ko) | 수신 장치, 송신 장치 및 데이터 처리 방법 | |
EP1792489A1 (en) | System and method for providing personalized data broadcasting service, user terminal and method for using personalized data broadcasting service, and data beoadcasting application structure therefor | |
CN103491427A (zh) | 一种视频的处理方法和装置 | |
KR102042213B1 (ko) | 스트리밍 컨텐츠 제공 장치 및 방법 | |
CN109842804A (zh) | 音视频数据的处理方法及服务器、计算机存储介质 | |
CN104012107B (zh) | 处理与广播节目有关的双向服务的装置和方法 | |
WO2016090916A1 (zh) | 码流传输方法和装置 | |
CN105898363A (zh) | 视频播放的方法、服务器和终端设备 | |
CN108271040B (zh) | 播放视频的方法和装置 | |
KR102272853B1 (ko) | 스트리밍 컨텐츠 제공 장치 및 방법 | |
US11350183B2 (en) | Signal transmitting device, signal receiving device, signal transmitting method, and signal receiving method | |
CN104994443A (zh) | 一种epg视频文件的生成方法及装置 | |
CN118400551A (zh) | 数据处理方法、播放端、电子设备及存储介质 | |
IT201900007039A1 (it) | Metodo ed apparato per la fruizione di contenuti associati ad informazioni supplementari | |
CN103248949A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160928 |
|
WD01 | Invention patent application deemed withdrawn after publication |