CN105847990A - 播放媒体文件的方法和设备 - Google Patents

播放媒体文件的方法和设备 Download PDF

Info

Publication number
CN105847990A
CN105847990A CN201610190294.8A CN201610190294A CN105847990A CN 105847990 A CN105847990 A CN 105847990A CN 201610190294 A CN201610190294 A CN 201610190294A CN 105847990 A CN105847990 A CN 105847990A
Authority
CN
China
Prior art keywords
media frame
media
key message
head data
frame
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
Application number
CN201610190294.8A
Other languages
English (en)
Other versions
CN105847990B (zh
Inventor
梁伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610190294.8A priority Critical patent/CN105847990B/zh
Publication of CN105847990A publication Critical patent/CN105847990A/zh
Application granted granted Critical
Publication of CN105847990B publication Critical patent/CN105847990B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors

Abstract

本发明提供了一种播放媒体文件的方法和设备。该方法包括:确定起播媒体文件所需的媒体帧的数量N,所述媒体文件包括头数据和K个媒体帧,所述头数据携带所述K个媒体帧的关键信息,N≥1,K>N;从所述头数据中获取N个媒体帧的关键信息,所述N个媒体帧为播放所述K个媒体帧时的前N个媒体帧,暂不从所述头数据中获取所述K个媒体帧中除所述N个媒体帧外其他媒体帧的关键信息;根据所述N个媒体帧的关键信息读取所述K个媒体帧中的所述N个媒体帧;解码并呈现所述N个媒体帧。本发明的技术方案能够缩短媒体文件的起播时间。

Description

播放媒体文件的方法和设备
技术领域
本发明实施例涉及多媒体领域,尤其涉及播放媒体文件的方法和设备。
背景技术
在用户通过播放设备观看视频节目时,用户先点击设备上显示的节目链接,设备将调用播放模块从媒体服务器(或本地存储)获取对应的文件数据,再调用文件解析器解析并分离出音频、视频和字幕帧,接下来调用解码器解码帧数据,解码器解码完成后的数据进行视频后处理及发送给视频输出端口,最后视频显示设备显示视频画面。
一般来说,将用户点击(可以包括直接点击或通过遥控器点击等)开始播放,直到设备上开始显示视频画面的过程称为起播。目前,在起播媒体文件时,需要从媒体文件中读取并解析文件中的所有头数据,即解析出媒体文件中所有媒体帧(例如音频帧、视频帧、字幕帧或其他数据帧)的关键信息,才能起播。这种起播方式常常导致播放媒体文件时,要读取并解析大量的数据,非常耗费时间,从而导致起播时间过长,最终影响用户的观看满意度。
发明内容
本发明提供一种播放媒体文件的方法和设备,能够缩短媒体文件的起播时间。
第一方面,提供了一种播放媒体文件的方法,包括:确定起播媒体文件所需的媒体帧的数量N,所述媒体文件包括头数据和K个媒体帧,所述头数据携带所述K个媒体帧的关键信息,N≥1,K>N;从所述头数据中获取N个媒体帧的关键信息,所述N个媒体帧为播放所述K个媒体帧时的前N个媒体帧,暂不从所述头数据中获取所述K个媒体帧中除所述N个媒体帧外其他媒体帧的关键信息;根据所述N个媒体帧的关键信息读取所述N个媒体帧;解码并呈现所述N个媒体帧。
本发明实施例的技术方案中,只需要获取起播媒体文件所需的少量媒体帧的关键信息,然后根据该关键信息获取并解码所述少量的媒体帧,从而起播媒体文件,而不用获取所有媒体帧的关键信息,因此能够缩短媒体文件的起播时间。
在一种可能的实现方式中,所述K个媒体帧的关键信息包括M个部分,所述头数据包括M个部分,所述K个媒体帧的关键信息的第i个部分由所述头数据中的第i个部分携带,所述头数据的第i个部分包括Mi个条目,M≥1,M≥i≥1,Mi≥1;其中,从所述头数据中获取N个媒体帧的关键信息,包括:获取所述头数据的第i个部分的Mi个条目中的前Si个条目,所述前Si个条目携带所述前N个媒体帧的关键信息的第i个部分;所述暂不从所述头数据中获取所述K个媒体帧中除所述N个媒体帧外其他媒体帧的关键信息,包括:暂不获取所述头数据中的第i个部分的Mi个条目中除所述前Si个条目外的其他条目。
在一种可能的实现方式中,所述获取所述头数据的第i个部分的Mi个条目中的前Si个条目,包括:根据所述K个媒体帧的关键信息的第i个部分与所述头数据的第i个部分中的Mi个条目的对应关系,获取所述头数据的第i个部分的Mi个条目中的前Si个条目。
本发明实施例的技术方案,通过预先规定的媒体帧的关键信息与条目之间的对应关系获取起播所需的媒体帧的关键信息,可以准确地获取媒体帧的关键信息。
在一种可能的实现方式中,所述媒体文件存储在媒体服务器上;其中,所述获取所述头数据的第i个部分的Mi个条目中的前Si个条目,包括:从所述媒体服务器下载所述头数据的第i个部分的Mi个条目中的前Si个条目;所述暂不获取所述头数据中的第i个部分的Mi个条目中除所述前Si个条目外的其他条目,包括:暂不从所述媒体服务器下载所述头数据中的第i个部分的Mi个条目中除所述前Si个条目外的其他条目。
本发明实施例的技术方案中,只需下载不同条目集合中的一部分条目,即可以得到起播时的前N个媒体帧的关键信息,从而节省了下载其他条目的时间,最终节省了起播时间,提高用户的体验度。
在一种可能的实现方式中,Si为预先指定的值。
本发明实施例的技术方案,通过预先指定的条目的数量获取起播所需的媒体帧的关键信息,可以高效率获取媒体帧的关键信息。
在一种可能的实现方式中,所有的Si相同。
本发明实施例的技术方案,通过预先指定的相同的条目的数量获取起播所需的媒体帧的关键信息,可以更高效率地获取媒体帧的关键信息。
在一种可能的实现方式中,所述方法还包括:所述根据所述N个媒体帧的关键信息读取所述K个媒体帧中的所述N个媒体帧之后,继续从所述头数据中获取所述其他媒体帧的关键信息,并根据所述其他媒体帧的所述关键信息读取所述其他媒体帧,及解码和呈现所述其他媒体帧。
本发明实施例的技术方案,获取了前N个媒体帧的关键信息,可以根据该关键信息获取媒体帧以起播后,可以继续获取其他媒体帧的关键信息以及获取并播放这些媒体帧,从而继续播放过程。
第二方面,提供了一种播放媒体文件的设备,所述设备包括用于执行第一方面的方法的模块。
第三方面,提供了一种系统芯片,包括输入接口、输出接口、至少一个处理器、存储器,所述输入接口、输出接口、所述处理器以及存储器之间通过总线相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器实现第一方面中的方法。
第四方面,提供了一种计算机可读介质,所述计算机可读介质存储用于起播媒体文件的程序代码,所述程序代码包括用于执行第一方面中的方法的指令。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的播放设备的示意性结构图。
图2是本发明实施例的播放媒体文件的方法的示意性流程图。
图3是本发明实施例的媒体文件的示意性结构图。
图4是本发明实施例的系统芯片的示意性结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了更好地理解本发明的实施例,下面先介绍可以实施本发明实施例的播放媒体文件的设备,通常将该设备称为播放设备。图1是本发明实施例的播放设备的示意性结构图。应理解,图1中的播放设备只是示例性说明,本发明实施例中的播放设备可以包括更多或更少的模块或单元。
本地存储器110存放媒体文件。
本发明的技术方案主要是针对具有特定结构的媒体文件,即本发明的技术方案起播具有特定结构的媒体文件。
本发明实施例中的媒体文件从逻辑上可划分为头部(header)和数据(data)两部分。data部分包括了具体的媒体帧(或称为包数据),header中的数据包括了各个媒体帧或包数据的关键信息。媒体帧的关键信息可以是媒体帧的位置、媒体帧的大小、媒体帧的显示时间戳(Presentation TimeStamp,PTS),解码时间戳(Decode TimeStamp,DTS),是否是关键帧等信息,当然本发明实施例中的关键信息并不限于此,媒体帧的关键信息的具体内容由媒体文件的具体格式决定。为了后续描述方面,本发明实施例中将媒体文件中携带媒体帧的关键信息的header称为头数据。
如MP4文件,需要从header中解析出各个媒体帧或包数据的关键信息才能从data中解析出对应的媒体帧或包数据,从而播放媒体文件。此处所述的MP4是标准ISO/IEC 14496-12中的一种存储媒体内容的文件格式。
文件解析器120从本地存储器110获取媒体文件,当然也可以从媒体服务器上获取媒体文件。通常情况下,文件解析器120可以分为读取模块和解析模块,解析模块控制读取模块读取文件数据,或控制读取模块向媒体服务器或本地存储器请求数据时,向媒体服务器或本地存储器发送指令更改下一次读取数据的起始位置。更改下次读取数据的起始位置的操作可以称作SEEK。
控制模块130控制文件解析器120,从媒体文件中获取媒体帧并将媒体帧送到解码器140的缓冲区中等待解码。
解码器140解码缓冲器中的媒体帧并送给后处理模块进行处理。
后处理模块150对解码后的数据进行后处理。
输出模块160对可以显示后处理模块150处理后的图像、字幕等。对于包括音频的媒体文件,还需要播放音频数据对应的声音。
在文件解析器120获取媒体帧并送到解码器140的缓冲区中后,解码器140对缓冲区中的媒体帧进行解码时,文件解析器120继续读取和解析后续媒体帧。
现有技术中起播媒体文件时,需要读取所有header中的所有数据,以到所有媒体帧的关键信息,然后再播放媒体文件,这将导致起播媒体文件的时间过长,为了节省起播时间,本发明提出了一种能够快速起播媒体文件的方法。
图2为本发明实施例的播放媒体文件的方法的示意性流程图。图2示出了播放媒体文件的详细的步骤或操作,但这些步骤或操作仅是示例,本发明实施例还可以执行其它操作或者图2中的各种操作的变形。图2中的方法可以由图1所示的播放设备来执行。
S210,确定起播媒体文件所需的媒体帧的数量N,所述媒体文件包括头数据和K个媒体帧,所述头数据携带所述K个媒体帧的关键信息,N≥1,K>N。该步骤可以图1中的文件解析器120执行。
本发明实施例中的媒体文件可以是从本地存储器(如图1中的本地存储器110)中获取的,也可以是从媒体服务器上下载的。
确定起播媒体文件所需的媒体帧的数量N时,可以根据具体需要或经验值来确定。如在起播时需要解析完播放时间为1秒的媒体帧,假设1秒的播放时间需要25个媒体帧,则可以确定此时所需的媒体帧的数量为25。
本发明实施例中的媒体帧可以指需要解码器解码的音频帧、视频帧、字幕帧或其他数据帧的统称,
S220,从所述头数据中获取N个媒体帧的关键信息,所述N个媒体帧为播放所述K个媒体帧时的前N个媒体帧,暂不从所述头数据中获取所述K个媒体帧中除所述N个媒体帧外其他媒体帧的关键信息。该步骤可以由图1中的文件解析器120执行。
当从媒体服务器上下载媒体数据时,起播前,只需下载前N个媒体帧的关键信息,而不用下载所有媒体帧的关键信息,从而可以节省起播时间。尤其是下载带宽较小时,该有益效果会更明显,用户体验度也会更满意。
本发明实施例中,只需获取播放时的前N个媒体帧的关键信息,而不是获取所有媒体帧的关键信息,因此可以节省获取起播媒体文件时的媒体帧的关键信息的时间。
如媒体文件总共包括K个媒体帧,且K远远大于20,而起播时只需要前20个媒体帧,则只需从头数据中获取该前20个媒体帧的关键信息,而暂时不用获取其他媒体帧的关键信息,从而节省了获取其他媒体帧的关键信息的时间。待媒体文件开始起播后,再开始获取其他媒体帧的关键信息,并根据该关键信息播放其他媒体帧。
在从头数据中获取前N个媒体帧的关键信息时,还可以向媒体播放器或本地存储装置发送指令,指示媒体服务器或本地存储装置存储下一次从头数据中读取其他媒体帧的关键信息的起始位置。更改下次读取数据的起始位置的操作可以称为查找(SEEK)。
S230,根据所述N个媒体帧的关键信息读取所述K个媒体帧中的所述N个媒体帧。该步骤可以由图1中的文件解析器120执行。
如可以根据前N个媒体帧在所有媒体帧中的位置、数据大小、显示时间戳、解码时间戳是否为关键帧等信息从所有媒体帧中读取到该N个媒体帧。
S240,解码并呈现所述N个媒体帧。读取到前N个媒体帧后,对这N个媒体帧进行解码,然后送至输出模块呈现给用户。该步骤可以由图1中的解码器140和输出模块150执行。呈现媒体帧包括通过显示装置显示视频图像或字母等,也可以包括通过播放音频的装置发出声音。
本发明实施例中,将解码N个媒体帧所得的数据发送至输出模块,通过显示装置或音频播放装置向用户呈现媒体帧的内容,从而实现起播。
本发明实施例的技术方案中,只需要获取起播媒体文件所需的少量媒体帧的关键信息,然后根据该关键信息获取并解码所述少量的媒体帧,从而起播媒体文件,而不用获取所有媒体帧的关键信息以获取及解码所有媒体帧,因此能够缩短媒体文件的起播时间。
本发明实施例中,还可以包括其他的步骤和操作,如获取到前N个媒体帧后,可以先把媒体帧送至送至解码器的缓冲区中,等待解码器解码。
本发明实施例中,起播媒体文件后,可以继续获取K个媒体帧中除已经获取了关键信息的N个媒体帧外的其他媒体帧的关键信息,以及根据这些关键信息读取媒体帧,并解码和呈现给用户。
图3是本发明实施例的媒体文件的一种示意性结构图。图3中的媒体文件只是为了更好地说明本发明实施例的起播媒体文件的方法,不应对本发明实施例中的媒体文件构成限制。
图3中的媒体文件包括header和data两部分,header中的数据按照文件规范可从逻辑上划分为M部分,分别为HD(Header Data)1、HD2……HDM,其中,M≥1。
HD1至HDM中的每个HD又可以划分为一个或多个条目(Entry),如第i个头数据HDi可以划分为HDi_Entry1,HDi_Entry2…HDi_EntrySi共Si个条目,其中Si≥1。
与此对应,媒体帧的关键信息也可以分为M部分,第i部分的关键信息由header中的第i个部分HDi中一定数量的Entry携带。
此时,分别从HD1、HD2……HDM中获取一定数量的Entry,如获取HD1中的前S1个Entry(HD1_Entry1,HD1_Entry2…HD1_EntryS1)、获取HD2中的前S2个Entry(HD2_Entry1,HD2_Entry2…HD2_EntryS2),直到获取HDM中的前SM个Entry(HDM_Entry1,HDM_Entry2…HDM_EntrySM),即获取到了前N个媒体帧的关键信息。
由此可以看出,每个HD中的其他Entry均跳过,即HD1_EntryS1……HD2_EntryS2……HDM_EntrySM后的所有条目不用获取和解析。本发明实施例中的跳过即SEEK,SEEK位置可通过整个HD的大小计算需要跳过的字节数。因此可以节省获取起播媒体文件时所需的媒体帧的关键信息时间,从而节省了起播时间。起播后从SEEK中记录的位置开始读取和分析剩余条目,以获取其他媒体帧的关键信息,以及根据这些关键信息获取媒体帧,并解码和呈现这些媒体帧。
本发明实施例中,每个HD中应获取的Entry的数量可以根据该HD中的Entry与关键信息的对应关系来确定,这种对应关系可以根据文件规范直接获取到,或在解析的过程中根据文件规范计算得到,获取或计算的方式跟具体的文件规范相关。
上述方式可以概括为:媒体帧的关键信息包括M个部分,M≥1。头数据包括M个部分,媒体帧的关键信息的第i个部分由头数据中的第i个部分携带,头数据的第i个部分可以包括Mi个条目,M≥i≥1,Mi≥1,获取头数据的第i个部分的Mi个条目中的前Si个条目,暂不获取Mi个条目中除所述前Si个条目外的其他条目,所述所述前Si个条目携带所述前N个媒体帧的关键信息的第i个部分。
由于不同HD的Entry与关键信息的对应关系可能不用,因此可以分别从不同的HD中的Entry中获取不同数量的Entry。如假设头数据可以分为3个HD,HD1包括30个Entry,HD2包括40个Entry,HD3包括50个Entry,则可能只需要从HD1的30个Entry获取前5个Entry、从HD2的40个Entry中获取前4个Entry、从HD3的50个Entry中获取前6个Entry,就可以获取到起播媒体文件所需的前N个媒体帧的关键信息,然后根据该关键信息从所有的媒体帧中读取该N个媒体帧,并解码及呈现给用户。
若媒体文件是从媒体服务器获取的,读取和分析N个媒体帧的关键信息的具体方式为:从媒体服务器下载头数据的第i个部分的Mi个条目中的前Si个条目,并记录下次读取条目时的起始位置;暂不从媒体服务器下载头数据中的第i个部分的Mi个条目中除前Si个条目外的其他条目。等到开始起播后,再从媒体服务器下载携带其他媒体帧的关键信息的条目。
下面以MP4格式的媒体文件为示例,介绍本发明实施例的起播媒体文件的方法,假设媒体文件包括100个媒体帧。
MP4的媒体文件中记录媒体帧的关键信息的数据包括多个盒(box),一个box等同于一个HD。MP4的媒体帧的关键信息可以包括5个部分:stco(样品表中的块偏移,sample table chunk offset)box、stsc(样品表中样品与块的关系,sample table sample to chunk)box、stsz(样品表中的样品大小,sample table sample size)box、stts(样品表中的样品时间戳,sample tablesample timestamp)box和stss(样品表中的同步样品,sample table syncsample)box。
stco box存放每个块(chunk)在整个MP4文件中的偏移(chunk中存放的是多个连续的样品(sample)数据,一个sample等同于一个媒体帧),每个Entry的内容是一个4字节或8字节的整数,代表该chunk在文件中偏移量。需要注意的是,chunk是按播放顺序排列的。
stsc box存放每个sample与chunk的对应关系。每个Entry的内容包括:一个chunk的标识(Identity,ID)号;chunk中的sample个数。
假设stsz的第1个Entry中记录的chunk ID号是1,sample个数是5,第2个Entry中记录的chunk ID号是4,sample个数为7,则代表第1至3个chunk中,每个chunk的sample个数都是20,第4个chunk的sample的个数是7。由此可得出sample与chunk的对应关系。
stsz box存放每个sample的大小。第N个Entry代表第N个sample的大小。如第N个Entry中记录200,表示第N个sample的大小为200个字节。
stts box存放每个sample的播放时长(duration),stts中的第N个Entry的内容包括:按播放顺序排列的具有相同duration的sample的个数,以及这些sample的durtaion,注意,这些sample是连续的。如,stts box中的第一个Entry中记录的sample个数为6,duration为2毫秒;第二个Entry中记录的sample个数为7,duration为1毫秒;第三个Entry中记录的sample个数为8,duration为2毫秒。
stss box存放关键帧信息,stss的第N个Entry表示按播放顺序排列的第N个关键帧的sample序号。如第8个Entry记录的是21,则表示第8个关键帧为第21个媒体帧。
使用本发明实施例的方法起播上述MP4文件时,先确定要识别的媒体帧个数,假设为20个。
从上述stsz box中获取前20个Entry,跳过其余Entry;顺序读取并解析上述stsc box中的Entry的内容,并把已解析的Entry中记录的sample个数做累加,直到sample的个数大于或等于20个为止,跳过后续的Entry。此时,从上述stsc box中最后读取的Entry为第2个Entry,其中记录的chunkID号为4,即stco box中要读取的Entry的个数为4。
读取并解析上述stco box中的前4个Entry内容并跳过剩余的Entry;顺序读取并解析stts box中的Entry内容,并把每个Entry中的sample个数做累加,当sample个数超过20个时停止读取和解析,并跳过剩余的Entry。此时,从上述stco box中读取和解析的Entry的数量为3个。
顺序读取并解析上述stss box中的Entry内容,直到该Entry中记录的sample序号大于20,跳过剩余的Entry。此时,从上述stss box中读取和解析的Entry的数量为8个。
通过解析上述5个box中分别已读取Entry即可得到前20个sample的关键信息,随后可从所有sample中读取这20个sample并送至解码器解码,以及送至播放模块实现起播。
由上述实施例可知,只需读取5个box中的部分Entry,跳过其他Entry,即可实现起播,从而节省起播时间。
本发明实施例中,从HD中的所有Entry中获取满足携带前N个媒体帧的关键信息时,一种更简便、效率更高的方法是直接分别指定从每个HD中需要获取的Entry的数量,然后分别从每个HD中获取相应数量的Entry,从而获取到包括前N个媒体帧的关键信息的关键信息。
本发明实施例中,还可以指定从每个HD中的需要获取的Entry的数量为同一数值。
图4是本发明实施例的系统芯片的示意性结构图。图4的系统芯片400包括输入接口410、输出接口420、至少一个处理器430、存储器440,所述输入接口410、输出接口420、所述处理器430以及存储器440之间通过总线相连,所述处理器430用于执行所述存储器440中的代码,当所述代码被执行时,所述处理器430实现图2中的方法。
本发明实施例的技术方案中,只需要获取起播媒体文件所需的少量媒体帧的关键信息,然后根据该关键信息获取并解码所述少量的媒体帧,从而起播媒体文件,而不用获取所有媒体帧的关键信息以获取及解码所有媒体帧,因此能够缩短媒体文件的起播时间。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (14)

1.一种播放媒体文件的方法,其特征在于,包括:
确定起播媒体文件所需的媒体帧的数量N,所述媒体文件包括头数据和K个媒体帧,所述头数据携带所述K个媒体帧的关键信息,N≥1,K>N;
从所述头数据中获取N个媒体帧的关键信息,所述N个媒体帧为播放所述K个媒体帧时的前N个媒体帧,暂不从所述头数据中获取所述K个媒体帧中除所述N个媒体帧外其他媒体帧的关键信息;
根据所述N个媒体帧的关键信息读取所述N个媒体帧;
解码并呈现所述N个媒体帧。
2.如权利要求1所述的方法,其特征在于,所述K个媒体帧的关键信息包括M个部分,所述头数据包括M个部分,所述K个媒体帧的关键信息的第i个部分由所述头数据中的第i个部分携带,所述头数据的第i个部分包括Mi个条目,M≥1,M≥i≥1,Mi≥1;
其中,从所述头数据中获取N个媒体帧的关键信息,包括:
获取所述头数据的第i个部分的Mi个条目中的前Si个条目,所述前Si个条目携带所述N个媒体帧的关键信息的第i个部分,Mi>Si
所述暂不从所述头数据中获取所述K个媒体帧中除所述N个媒体帧外其他媒体帧的关键信息,包括:
暂不获取所述头数据中的第i个部分的Mi个条目中除所述前Si个条目外的其他条目。
3.如权利要求2所述的方法,其特征在于,所述媒体文件存储在媒体服务器上;
其中,所述获取所述头数据的第i个部分的Mi个条目中的前Si个条目,包括:
从所述媒体服务器下载所述头数据的第i个部分的Mi个条目中的前Si个条目;
所述暂不获取所述头数据中的第i个部分的Mi个条目中除所述前Si个条目外的其他条目,包括:
暂不从所述媒体服务器下载所述头数据中的第i个部分的Mi个条目中除所述前Si个条目外的其他条目。
4.如权利要求2或3所述的方法,其特征在于,所述获取所述头数据的第i个部分的Mi个条目中的前Si个条目,包括:
根据所述K个媒体帧的关键信息的第i个部分与所述头数据的第i个部分中的Mi个条目的对应关系,获取所述头数据的第i个部分的Mi个条目中的前Si个条目。
5.如权利要求2或3所述的方法,其特征在于,Si为预先指定的值。
6.如权利要求5所述的方法,其特征在于,所有的Si相同。
7.如权利要求1至6所述的方法,其特征在于,所述方法还包括:
所述根据所述N个媒体帧的关键信息读取所述K个媒体帧中的所述N个媒体帧之后,继续从所述头数据中获取所述其他媒体帧的关键信息,并根据所述其他媒体帧的所述关键信息读取所述其他媒体帧,及解码和呈现所述其他媒体帧。
8.一种播放媒体文件的设备,其特征在于,包括文件解析器、解码器和输出模块;
所述文件解析器用于确定起播媒体文件所需的媒体帧的数量N,所述媒体文件包括头数据和K个媒体帧,所述头数据携带所述K个媒体帧的关键信息,N≥1,K>N;
所述文件解析器还用于从所述头数据中获取N个媒体帧的关键信息,所述N个媒体帧为播放所述K个媒体帧时的前N个媒体帧,暂不从所述头数据中获取所述K个媒体帧中除所述N个媒体帧外其他媒体帧的关键信息;
所述文件解析器还用于根据所述N个媒体帧的关键信息读取所述N个媒体帧;
所述解码器用于解码所述N个媒体帧;
所述输出模块用于呈现所述N个媒体帧。
9.如权利要求8所述的设备,其特征在于,所述K个媒体帧的关键信息包括M个部分,所述头数据包括M个部分,所述K个媒体帧的关键信息的第i个部分由所述头数据的第i个部分携带,所述头数据的第i个部分包括Mi个条目,M≥1,M≥i≥1,Mi≥1;
其中,所述文件解析器具体用于:
获取所述头数据的第i个部分的Mi个条目中的前Si个条目,所述前Si个条目携带所述前N个媒体帧的关键信息的第i个部分;
暂不获取所述头数据中的第i个部分的Mi个条目中除所述前Si个条目外的其他条目。
10.如权利要求9所述的设备,其特征在于,所述媒体文件存储在媒体服务器上;
其中,所述文件解析器具体用于:
从所述媒体服务器下载所述头数据的第i个部分的Mi个条目中的前Si个条目。
暂不从所述媒体服务器下载所述头数据中的第i个部分的Mi个条目中除所述前Si个条目外的其他条目。
11.如权利要求9或10所述的设备,其特征在于,所述文件解析器具体用于:
根据所述K个媒体帧的关键信息的第i个部分与所述头数据的第i个部分中的Mi个条目的对应关系,获取所述头数据的第i个部分的Mi个条目中的前Si个条目。
12.如权利要求9或10所述的设备,其特征在于,Si为预先指定的值。
13.如权利要求12所述的设备,其特征在于,所有的Si相同。
14.如权利要求8至12中任一项所述的设备,其特征在于,所述文件解析器还用于根据所述N个媒体帧的关键信息读取所述K个媒体帧中的所述N个媒体帧之后,继续从所述头数据中获取所述其他媒体帧的关键信息,并根据所述其他媒体帧的所述关键信息读取所述其他媒体帧;
所述解码器还用于解码所述其他媒体帧;
所述输出模块还用于呈现所述其他媒体帧。
CN201610190294.8A 2016-03-30 2016-03-30 播放媒体文件的方法和设备 Active CN105847990B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610190294.8A CN105847990B (zh) 2016-03-30 2016-03-30 播放媒体文件的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610190294.8A CN105847990B (zh) 2016-03-30 2016-03-30 播放媒体文件的方法和设备

Publications (2)

Publication Number Publication Date
CN105847990A true CN105847990A (zh) 2016-08-10
CN105847990B CN105847990B (zh) 2019-03-19

Family

ID=56584024

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610190294.8A Active CN105847990B (zh) 2016-03-30 2016-03-30 播放媒体文件的方法和设备

Country Status (1)

Country Link
CN (1) CN105847990B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109814406A (zh) * 2019-01-24 2019-05-28 成都戴瑞斯智控科技有限公司 一种轨道模型电控仿真系统的数据处理方法及解码器架构
CN112584255A (zh) * 2020-12-04 2021-03-30 广州虎牙科技有限公司 一种流媒体数据的播放方法、装置、计算机设备和存储介质
WO2022121988A1 (zh) * 2020-12-11 2022-06-16 华为技术有限公司 显示同步的方法、电子设备以及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101861583A (zh) * 2007-11-16 2010-10-13 迪维克斯公司 用于多媒体文件的分级及简化索引结构
CN102170453A (zh) * 2011-05-26 2011-08-31 北京暴风网际科技有限公司 音视频编码方法及缩短点播播放前等待时间的播放方法
US20150120876A1 (en) * 2013-10-29 2015-04-30 Citrix Systems, Inc. Methods and systems for optimal delivery of internet video over wireless networks
US20150365450A1 (en) * 2014-06-11 2015-12-17 Google Inc. Enhanced streaming media playback
CN105187896A (zh) * 2015-09-09 2015-12-23 北京暴风科技股份有限公司 多分段的媒体文件播放方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101861583A (zh) * 2007-11-16 2010-10-13 迪维克斯公司 用于多媒体文件的分级及简化索引结构
CN102170453A (zh) * 2011-05-26 2011-08-31 北京暴风网际科技有限公司 音视频编码方法及缩短点播播放前等待时间的播放方法
US20150120876A1 (en) * 2013-10-29 2015-04-30 Citrix Systems, Inc. Methods and systems for optimal delivery of internet video over wireless networks
US20150365450A1 (en) * 2014-06-11 2015-12-17 Google Inc. Enhanced streaming media playback
CN105187896A (zh) * 2015-09-09 2015-12-23 北京暴风科技股份有限公司 多分段的媒体文件播放方法和系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109814406A (zh) * 2019-01-24 2019-05-28 成都戴瑞斯智控科技有限公司 一种轨道模型电控仿真系统的数据处理方法及解码器架构
CN109814406B (zh) * 2019-01-24 2021-12-24 成都戴瑞斯智控科技有限公司 一种轨道模型电控仿真系统的数据处理方法及解码器架构
CN112584255A (zh) * 2020-12-04 2021-03-30 广州虎牙科技有限公司 一种流媒体数据的播放方法、装置、计算机设备和存储介质
CN112584255B (zh) * 2020-12-04 2023-05-26 广州虎牙科技有限公司 一种流媒体数据的播放方法、装置、计算机设备和存储介质
WO2022121988A1 (zh) * 2020-12-11 2022-06-16 华为技术有限公司 显示同步的方法、电子设备以及可读存储介质

Also Published As

Publication number Publication date
CN105847990B (zh) 2019-03-19

Similar Documents

Publication Publication Date Title
US20100145488A1 (en) Dynamic transrating based on audio analysis of multimedia content
WO2011052200A1 (ja) 情報処理装置、チューナーおよび情報処理方法
US20050183119A1 (en) Real-time bookmarking of streaming media assets
CN105120321A (zh) 一种视频搜索方法、视频存储方法和相关装置
CN103118302B (zh) 数字内容版本切换的方法以及相应设备
US20090007208A1 (en) Program, data processing method, and system of same
CN101206899A (zh) 用于编码/解码具有预览功能的多媒体数据的方法以及装置
JP5857449B2 (ja) 画像処理装置及び録画装置
CN103986938A (zh) 基于视频播放的预览的方法和系统
CN105847990A (zh) 播放媒体文件的方法和设备
CN108153882A (zh) 一种数据处理方法及装置
TW200910953A (en) Frame specifying method
CN107371053A (zh) 音频视频流对比分析方法及装置
JP2008227909A (ja) 映像検索装置
CN105007518A (zh) 一种pvr播放方法、一种机顶盒和一种pvr播放系统
CN104768083B (zh) 一种章节内容展示的视频播放方法及装置
CN107580264A (zh) 多媒体资源播放处理方法及装置
KR102278048B1 (ko) 영상 처리 장치, 이의 제어 방법 및 컴퓨터 프로그램이 기록된 기록 매체
JP4786299B2 (ja) 映像再生装置、映像再生方法、映像再生プログラム、および、映像再生プログラムを記録した記録媒体
CN106792219B (zh) 一种直播回看的方法及装置
US9070403B2 (en) Processing of scalable compressed video data formats for nonlinear video editing systems
JP2006324826A (ja) 映像記録装置
JP5265498B2 (ja) 情報処理装置、チューナーおよび情報処理方法
JP2007201680A (ja) 情報管理装置および方法、並びにプログラム
CN103081495A (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
GR01 Patent grant
GR01 Patent grant