CN102550038A - 播放媒体文件的方法、终端、服务器和系统 - Google Patents
播放媒体文件的方法、终端、服务器和系统 Download PDFInfo
- Publication number
- CN102550038A CN102550038A CN2011800032219A CN201180003221A CN102550038A CN 102550038 A CN102550038 A CN 102550038A CN 2011800032219 A CN2011800032219 A CN 2011800032219A CN 201180003221 A CN201180003221 A CN 201180003221A CN 102550038 A CN102550038 A CN 102550038A
- Authority
- CN
- China
- Prior art keywords
- intraframe coding
- coding frame
- terminal
- media file
- information
- 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
Images
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/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/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6587—Control parameters, e.g. trick play commands, viewpoint selection
-
- 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/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/643—Communication protocols
- H04N21/64322—IP
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种播放媒体文件的方法、终端、服务器和系统。该方法包括:获取基于HLS协议的媒体文件的快速播放状态;确定与该快速播放状态相应的帧内编码帧信息;向服务器发送请求消息,该请求消息包括该帧内编码帧信息;接收该服务器根据该请求消息发送的应答消息,该应答消息包括与该帧内编码帧信息相应的帧内编码帧数据;根据该应答消息,播放该帧内编码帧数据。本发明实施例的方法、终端、服务器和系统,通过终端与服务器交互以获取媒体文件的分片中的帧内编码帧数据,从而使得支持HLS的终端能够获取与媒体文件的快速播放状态相应的帧内编码帧数据并进行播放,由此能够实现媒体文件的快进或快退播放功能,并能够提高用户体验质量。
Description
技术领域
本发明涉及信息技术领域,尤其涉及信息技术领域中播放媒体文件的方法、终端、服务器和系统。
背景技术
对于传统的基于超文本传输协议(Hyper Text Transfer Protocol,简称为“HTTP”)的视频播放技术,最典型的为HTTP渐进式下载技术。在该HTTP渐进式下载技术中,每个视频内容只对应一种码率的视频文件。当客户端带宽较低,或带宽变化频率较高时,播放器的播放过程就会出现短暂的停滞,由此会降低用户的观看体验。
当使用自适应流(Adaptive Streaming)技术时,播放器可以根据自身的可用带宽、中央处理器(Central Processing Unit,简称为“CPU”)的负载和屏幕大小等因素,向服务器获取不同码率的音视频分片。由此,整个视频播放的流程会更加流畅。
在目前存在的多种自适应流技术中,苹果(Apple)公司提出的超文本传输协议实时流(HTTP Live Streaming,简称为“HLS”)协议是应用最广泛的一种。然而,该HLS协议与其它协议在功能上相比,却有明显的缺点,即HLS协议不支持快进或快退播放,使得目前市面上的所有支持HLS的终端都不能提供快进快退的功能,从而严重影响用户体验质量。
因此,需要一种技术方案使得支持HLS的终端能够实现快进或快退播放功能。
发明内容
本发明实施例提供了一种播放媒体文件的方法、终端、服务器和系统,能够使得支持HLS的终端实现快进或快退播放功能,并提高用户体验质量。
一方面,本发明实施例提供了一种播放媒体文件的方法,该方法包括:获取基于超文本传输协议实时流HLS协议的媒体文件的快速播放状态;确定与该快速播放状态相应的帧内编码帧信息;向服务器发送请求消息,该请求消息包括该帧内编码帧信息;接收该服务器根据该请求消息发送的应答消息,该应答消息包括与该帧内编码帧信息相应的帧内编码帧数据;根据该应答消息,播放该帧内编码帧数据。
另一方面,本发明实施例提供了一种播放媒体文件的方法,该方法包括:接收终端发送的包括帧内编码帧信息的请求消息,该帧内编码帧信息与该终端获取的基于超文本传输协议实时流HLS协议的媒体文件的快速播放状态相应;根据该请求消息,获取与该帧内编码帧信息相应的帧内编码帧数据;向该终端发送包括该帧内编码帧数据的应答消息,以便于该终端播放该帧内编码帧数据。
再一方面,本发明实施例提供了一种终端,该终端包括:获取模块,用于获取基于超文本传输协议实时流HLS协议的媒体文件的快速播放状态;确定模块,用于确定与该获取模块获取的该快速播放状态相应的帧内编码帧信息;发送模块,用于向服务器发送请求消息,该请求消息包括该确定模块确定的该帧内编码帧信息;接收模块,用于接收该服务器根据该发送模块发送的该请求消息而发送的应答消息,该应答消息包括与该帧内编码帧信息相应的帧内编码帧数据;播放模块,用于根据该接收模块接收的该应答消息,播放该帧内编码帧数据。
再一方面,本发明实施例提供了一种服务器,该服务器包括:接收模块,用于接收终端发送的包括帧内编码帧信息的请求消息,该帧内编码帧信息与该终端获取的基于超文本传输协议实时流HLS协议的媒体文件的快速播放状态相应;获取模块,用于根据该接收模块接收的该请求消息,获取与该帧内编码帧信息相应的帧内编码帧数据;发送模块,用于向该终端发送包括该获取模块获取的该帧内编码帧数据的应答消息,以便于该终端播放该帧内编码帧数据。
再一方面,本发明实施例提供了一种播放媒体文件的系统,该系统包括根据本发明实施例的终端和服务器。
基于上述技术方案,本发明实施例的方法、终端、服务器和系统,通过终端与服务器交互以获取媒体文件的分片中的帧内编码帧数据,从而使得支持HLS的终端能够获取与媒体文件的快速播放状态相应的帧内编码帧数据并进行播放,由此能够实现媒体文件的快进或快退播放功能,并能够提高用户体验质量。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的播放媒体文件的方法的示意性流程图。
图2是根据本发明另一实施例的播放媒体文件的方法的示意性流程图。
图3是根据本发明再一实施例的播放媒体文件的方法的示意性流程图。
图4是根据本发明实施例的终端的示意性框图;
图5是根据本发明实施例的服务器的示意性框图;
图6是根据本发明实施例的播放媒体文件的系统的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
图1示出了根据本发明实施例的播放媒体文件的方法100的示意性流程图。如图1所示,该方法100包括:
S110,获取基于超文本传输协议实时流HLS协议的媒体文件的快速播放状态;
S120,确定与该快速播放状态相应的帧内编码帧信息;
S130,向服务器发送请求消息,该请求消息包括该帧内编码帧信息;
S140,接收该服务器根据该请求消息发送的应答消息,该应答消息包括与该帧内编码帧信息相应的帧内编码帧数据;
S150,根据该应答消息,播放该帧内编码帧数据。
支持HLS的终端可以根据获取的媒体文件的快速播放状态,确定与该快速播放状态相应的帧内编码帧信息,并向服务器发送包括该帧内编码帧信息的请求消息,由此该终端可以接收该服务器根据该请求消息发送的应答消息,该应答消息包括与该帧内编码帧信息相应的帧内编码帧数据,因而,支持HLS的终端可以根据该应答消息播放该帧内编码帧数据。
因此,本发明实施例的方法,通过终端与服务器交互以获取媒体文件的分片中的帧内编码帧数据,从而使得支持HLS的终端能够获取与媒体文件的快速播放状态相应的帧内编码帧数据并进行播放,由此能够实现媒体文件的快进或快退播放功能,并能够提高用户体验质量。
在S110中,终端获取基于HLS协议的媒体文件的快速播放状态。可选地,该快速播放状态包括快进播放状态或快退播放状态。例如,终端可以根据用户选择的快进或快退操作信息,确定基于HLS协议的媒体文件的快速播放状态为快进播放状态或快退播放状态。
应理解,该快进播放状态或快退播放状态可以用于指示快进或快退播放的具体倍数。例如,快进播放状态包括第一快进播放状态、第二快进播放状态和第三快进播放状态,其中第一快进播放状态指示2倍数的快进播放,第二快进播放状态用于指示4倍数的快进播放,第三快进播放状态用于指示8倍数的快进播放。
在S120中,终端确定帧内编码帧信息,该帧内编码帧信息用于指示与该快速播放状态相应的帧内编码帧的位置。可选地,终端确定与该快速播放状态相应的帧内编码帧信息,包括:终端根据该快速播放状态,确定该帧内编码帧信息。
可选地,该帧内编码帧信息包括指示帧内编码帧数据所属的分片的第一信息,以及指示该帧内编码帧数据在该分片上的字节偏移的第二信息。例如,该第一信息为分片的名称或标识,该第二信息为该帧内编码帧数据在该分片上的具体位置。
应理解,在本发明实施例中,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
应理解,在本发明实施例中,帧内编码帧是采用全帧压缩编码的帧,该帧内编码帧的生成或解码可以独立于其它类型的帧。例如,帧内编码帧可以为I帧(I Frame),即内部画面。还应理解,基于HLS协议的媒体文件通常由多个分片组成,每个分片可以具有多种码率,每种码率的分片可以形成一个独立的传输流(Transport Stream,简称为“TS”)文件。并且终端每次下载分片时,可以根据当前的网络带宽、中央处理器(Central Processing Unit,简称为“CPU”)的负载等因素,确定下载哪种码率的分片,从而实现自适应流媒体播放。
以动态图像专家组(Moving Pictures Experts Grou,简称为“MPEG”)视频压缩技术为例进行说明,一段视频文件可以包括多个TS文件,每个TS文件可以包括一个或多个图片组(Group of Pictures,简称为“GOP”)。一个GOP通常包括三类帧,即I帧、B帧和P帧,以I帧为基础可以预测P帧,再以I帧和P帧可以预测B帧,该P帧又可以称为“前向预测编码帧”,该B帧又可以称为“双向预测内插编码帧”。
在本发明实施例中,可选地,终端根据与该媒体文件相应的用于描述该媒体文件的描述文件,确定该帧内编码帧信息,其中该描述文件包括该媒体文件的每个分片的所有帧内编码帧在相应的分片上的字节偏移。应理解,该字节偏移指示了帧内编码帧在相应的分片上的具体位置。即,终端可以根据该快速播放状态以及该描述文件,确定该帧内编码帧信息。
即,本发明实施例对与媒体文件相应的描述文件进行了扩展,使得在描述文件中,在媒体文件的每个分片的描述前,都包括每个分片所包含的所有帧内编码帧在该分片上的字节偏移信息,从而使得终端根据描述文件,获取期望的帧内编码帧的字节偏移信息,进而获得相应的帧内编码帧数据。
在本发明实施例中,可选地,与基于HLS协议的媒体文件相应的描述文件为M3U8文件。具体而言,媒体文件的M3U8文件例如可以描述为:
#EXTM3U
#EXT-X-TARGETDURATION:8
#EXT-X-MEDIA-SEQUENCE:2680
#EXTINF:8,Rangebytes=0-100,500-600,1200-1400
http://priv.example.com/fileSequence2680.ts
#EXTINF:8,Rangebytes=0-130,520-600,1240-1400
http://priv.example.com/fileSequence2681.ts
#EXTINF:8,Rangebytes=0-120,510-600,1220-1400
http://priv.example.com/fileSequence2682.ts。
上述M3U8文件描述了一个媒体文件包括三个TS文件,各TS文件的名称分别为“fileSequence2680”、“fileSequence2681”和“fileSequence2682”,每个TS文件的播放时间为8秒。该M3U8文件还描述了每个TS文件中的帧内编码帧对应的字节偏移,以及每个TS文件的统一资源定位符(UniformResoure Locator,简称为“URL”)。
以名称为“fileSequence2682”的TS文件为例进行说明,其中,“Rangebytes=0-120,510-600,1220-1400”表示该TS文件包含3个帧内编码帧,其中,第一个帧内编码帧对应的字节偏移是0~120字节(Byte),第二个帧内编码帧对应的字节偏移是510~600Byte,第三个帧内编码帧对应的字节偏移是1220~1400Byte,并且该TS文件的URL为“http://priv.example.com/fileSequence2682.ts”。
例如,在上述例子中,假设用户希望快速播放基于HLS协议的媒体文件A,于是终端可以根据用户选择的快进操作信息,获取该媒体文件A的为第二快进播放状态的快速播放状态,该第二快进播放状态指示以2倍数快进播放。终端根据用于描述该媒体文件A的M3U8文件以及该第二快进播放状态,例如通过计算或查找相应的映射表,可以确定需要播放名称为“fileSequence2680”的TS文件中的第一个和第三个帧内编码帧,即确定与快速播放状态相应的帧内编码帧信息包括的第一信息为fileSequence2680,该帧内编码帧信息包括的第二信息为Range:0-100和1200-1400。
应理解,在本发明实施例中,终端需要根据快进或快退播放状态,确定需要播放的帧内编码帧的间隔数量,通常而言,在GOP长度一定的情况下,用户选择的快进或快退播放的倍数越大,终端需要播放的帧内编码帧的间隔数量越大,由此终端可以确定该帧内编码帧信息。该帧内编码帧信息可以包括用于获取一个帧内编码帧数据的相关信息,也可以包括用于获取多个帧内编码帧数据的相关信息。本发明实施例并不限于此。
在S130中,终端向服务器发送包括该帧内编码帧信息的请求消息。可选地,终端向服务器发送超文本传输协议字节范围(HTTP Byterange)请求消息,该HTTP Byterange请求消息携带指示终端希望获取的帧内编码帧数据所属的分片的第一信息,以及指示该帧内编码帧数据在该分片上的字节偏移的第二信息,即该HTTP Byterange请求消息包括与媒体文件的快速播放状态相应的帧内编码帧信息。
在S140中,终端接收服务器根据该请求消息发送的应答消息,该应答消息包括与该帧内编码帧信息相应的帧内编码帧数据。可选地,该应答消息可以是HTTP 200 Ok响应消息。应理解,该帧内编码帧数据可以根据该帧内编码帧信息确定。
在S150中,终端根据该应答消息播放该帧内编码帧数据。
应理解,当终端通过与服务器的一次或多次交互,获得并播放与快速播放状态相应的间隔的帧内编码帧数据时,就实现了具有HLS的媒体文件的快进或快退播放功能。
因此,本发明实施例的方法,通过终端与服务器交互以获取媒体文件的分片中的帧内编码帧数据,从而使得支持HLS的终端能够获取与媒体文件的快速播放状态相应的帧内编码帧数据并进行播放,由此能够实现媒体文件的快进或快退播放功能,并能够提高用户体验质量。
上文中结合图1,从终端的角度详细描述了根据本发明实施例的播放媒体文件的方法,下面将结合图2,从服务器的角度描述根据本发明实施例的方法。
如图2所示,根据本发明实施例的播放媒体文件的方法200包括:
S210,服务器接收终端发送的包括帧内编码帧信息的请求消息,该帧内编码帧信息与该终端获取的基于超文本传输协议实时流HLS协议的媒体文件的快速播放状态相应;
S220,服务器根据该请求消息,获取与该帧内编码帧信息相应的帧内编码帧数据;
S230,服务器向该终端发送包括该帧内编码帧数据的应答消息,以便于该终端播放该帧内编码帧数据。
应理解,在S210中,帧内编码帧信息与快速播放状态相应,意味着帧内编码帧信息与快速播放状态相关联,并且根据快速播放状态可以确定帧内编码帧信息。
可选地,该帧内编码帧信息由该终端根据与该媒体文件相应的描述文件而确定,该描述文件包括该媒体文件的每个分片的所有帧内编码帧在相应的分片上的字节偏移。即,终端可以根据该快速播放状态以及该描述文件,确定该帧内编码帧信息。
可选地,该快速播放状态包括快进播放状态或快退播放状态。可选地,该帧内编码帧信息包括指示该帧内编码帧数据所属的分片的第一信息,以及指示该帧内编码帧数据在该分片上的字节偏移的第二信息。可选地,该请求消息为超文本传输协议字节范围(HTTP Byterange)请求消息。
在本发明实施例中,可选地,该帧内编码帧为I帧。可选地,与媒体文件相应的描述文件为M3U8文件。还应理解,该快进播放状态或快退播放状态可以用于指示快进或快退播放的具体倍数。
因此,本发明实施例的方法,通过终端与服务器交互以获取媒体文件的分片中的帧内编码帧数据,从而使得支持HLS的终端能够获取与媒体文件的快速播放状态相应的帧内编码帧数据并进行播放,由此能够实现媒体文件的快进或快退播放功能,并能够提高用户体验质量。
下面将结合图3,以终端确定需要播放名称为“fileSequence2681”的分片中的第一个和第三个帧内编码帧数据,从而实现快进或快退播放功能为例,详细说明根据本发明实施例的播放媒体文件的方法。如图3所示,播放媒体文件的方法300包括:
S310,终端获取基于HLS协议的媒体文件的快速播放状态,该快速播放状态例如是快进播放状态或快退播放状态;
S320,终端可以根据与该媒体文件相应的描述文件,确定与该快速播放状态相应的帧内编码帧信息,该帧内编码帧信息包括的第一信息为fileSequence2681,该帧内编码帧信息包括的第二信息为Range:bytes=0-130,1240-1400;即终端可以根据该描述文件及该快速播放状态,确定该帧内编码帧信息;
S330,终端向服务器发送HTTP Byterange请求消息,该请求消息包括该帧内编码帧信息;
S340,服务器根据该请求消息,获取与该帧内编码帧信息相应的帧内编码帧数据,即名称为“fileSequence2681”的分片中的第一个和第三个帧内编码帧的数据;
S350,服务器向终端发送HTTP 200OK应答消息,该应答消息包括与该帧内编码帧信息相应的帧内编码帧数据;
S360,终端根据该应答消息,播放名称为“fileSequence2681”的分片中的第一个和第三个帧内编码帧的数据,从而能够实现快进或快退播放功能。
应理解,本发明实施例仅以此为例进行说明,本发明实施例并不限于此,例如,终端也可以分别获取该第一个和该第三个帧内编码帧的数据。
还应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
上文中结合图1至图3,详细描述了根据本发明实施例的播放媒体文件的方法,下面将结合图4至图6,详细描述根据本发明实施例的装置,该装置包括终端、服务器和系统。
图4示出了根据本发明实施例的终端500的示意性框图。如图4所示,该终端500包括:
获取模块510,用于获取基于超文本传输协议实时流HLS协议的媒体文件的快速播放状态;
确定模块520,用于确定与该获取模块510获取的该快速播放状态相应的帧内编码帧信息;
发送模块530,用于向服务器发送请求消息,该请求消息包括该确定模块520确定的该帧内编码帧信息;
接收模块540,用于接收该服务器根据该发送模块530发送的该请求消息而发送的应答消息,该应答消息包括与该帧内编码帧信息相应的帧内编码帧数据;
播放模块550,用于根据该接收模块540接收的该应答消息,播放该帧内编码帧数据。
因此,本发明实施例的终端,通过终端与服务器交互以获取媒体文件的分片中的帧内编码帧数据,从而使得支持HLS的终端能够获取与媒体文件的快速播放状态相应的帧内编码帧数据并进行播放,由此能够实现媒体文件的快进或快退播放功能,并能够提高用户体验质量。
在本发明实施例中,可选地,该确定模块520确定的该帧内编码帧信息包括指示该帧内编码帧数据所属的分片的第一信息,以及指示该帧内编码帧数据在该分片上的字节偏移的第二信息。
可选地,该确定模块520还用于根据与该媒体文件相应的描述文件,确定该帧内编码帧信息,其中该描述文件包括该媒体文件的每个分片的所有帧内编码帧在相应的分片上的字节偏移。
可选地,该获取模块510获取的该快速播放状态包括快进播放状态或快退播放状态。
可选地,该发送模块530发送的该请求消息为超文本传输协议字节范围(HTTP Byterange)请求消息。可选地,该接收模块540接收的应答消息为HTTP 200 OK应答消息。
应理解,根据本发明实施例的终端500可对应于本发明实施例播放媒体文件的方法中的终端,并且终端500中的各个模块的操作和/或功能,分别为了实现图1至图3中的各个方法100至300的相应流程,为了简洁,在此不再赘述。
因此,本发明实施例的终端,通过终端与服务器交互以获取媒体文件的分片中的帧内编码帧数据,从而使得支持HLS的终端能够获取与媒体文件的快速播放状态相应的帧内编码帧数据并进行播放,由此能够实现媒体文件的快进或快退播放功能,并能够提高用户体验质量。
在本发明实施例中,还提供了一种服务器,如图5所示,该服务器600包括:
接收模块610,用于接收终端发送的包括帧内编码帧信息的请求消息,该帧内编码帧信息与该终端获取的基于超文本传输协议实时流HLS协议的媒体文件的快速播放状态相应;
获取模块620,用于根据该接收模块610接收的该请求消息,获取与该帧内编码帧信息相应的帧内编码帧数据;
发送模块630,用于向该终端发送包括该获取模块620获取的该帧内编码帧数据的应答消息,以便于该终端播放该帧内编码帧数据。
可选地,该接收模块610接收的该帧内编码帧信息由该终端根据与该媒体文件相应的描述文件而确定,该描述文件包括该媒体文件的每个分片的所有帧内编码帧在相应的分片上的字节偏移。
可选地,该接收模块610接收的该帧内编码帧信息包括指示该帧内编码帧数据所属的分片的第一信息,以及指示该帧内编码帧数据在该分片上的字节偏移的第二信息。
可选地,该接收模块610接收的该请求消息为超文本传输协议字节范围(HTTP Byterange)请求消息;该发送模块630发送的应答消息为HTTP 200OK应答消息。
应理解,根据本发明实施例的服务器600可对应于本发明实施例播放媒体文件的方法中的服务器,并且服务器600中的各个模块的操作和/或功能,分别为了实现图1至图3中的各个方法100至300的相应流程,为了简洁,在此不再赘述。
因此,本发明实施例的服务器,通过终端与服务器交互以获取媒体文件的分片中的帧内编码帧数据,从而使得支持HLS的终端能够获取与媒体文件的快速播放状态相应的帧内编码帧数据并进行播放,由此能够实现媒体文件的快进或快退播放功能,并能够提高用户体验质量。
图6示出了根据本发明实施例的播放媒体文件的系统900的示意性框图。如图6所示,该系统900包括:
根据本发明实施例的终端910;和
根据本发明实施例的服务器920,
其中,该终端910包括:
获取模块,用于获取基于超文本传输协议实时流HLS协议的媒体文件的快速播放状态;
确定模块,用于确定与该获取模块获取的该快速播放状态相应的帧内编码帧信息;
发送模块,用于向服务器发送请求消息,该请求消息包括该确定模块确定的该帧内编码帧信息;
接收模块,用于接收该服务器根据该发送模块发送的该请求消息而发送的应答消息,该应答消息包括与该帧内编码帧信息相应的帧内编码帧数据;
播放模块,用于根据该接收模块接收的该应答消息,播放该帧内编码帧数据;
该服务器920包括:
接收模块,用于接收终端发送的包括帧内编码帧信息的请求消息,该帧内编码帧信息与该终端获取的基于超文本传输协议实时流HLS协议的媒体文件的快速播放状态相应;
获取模块,用于根据该接收模块接收的该请求消息,获取与该帧内编码帧信息相应的帧内编码帧数据;
发送模块,用于向该终端发送包括该获取模块获取的该帧内编码帧数据的应答消息,以便于该终端播放该帧内编码帧数据。
应理解,根据本发明实施例的终端910和服务器920,可以分别对应于本发明实施例中的终端500和服务器600,并且终端910和服务器920中的各个模块的操作和/或功能,分别为了实现图1至图3中的各个方法100至300的相应流程,为了简洁,在此不再赘述。
因此,本发明实施例的系统,通过终端与服务器交互以获取媒体文件的分片中的帧内编码帧数据,从而使得支持HLS的终端能够获取与媒体文件的快速播放状态相应的帧内编码帧数据并进行播放,由此能够实现媒体文件的快进或快退播放功能,并能够提高用户体验质量。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (19)
1.一种播放媒体文件的方法,其特征在于,包括:
获取基于超文本传输协议实时流HLS协议的媒体文件的快速播放状态;
确定与所述快速播放状态相应的帧内编码帧信息;
向服务器发送请求消息,所述请求消息包括所述帧内编码帧信息;
接收所述服务器根据所述请求消息发送的应答消息,所述应答消息包括与所述帧内编码帧信息相应的帧内编码帧数据;
根据所述应答消息,播放所述帧内编码帧数据。
2.根据权利要求1所述的方法,其特征在于,所述确定与所述快速播放状态相应的帧内编码帧信息,包括:
根据与所述媒体文件相应的描述文件,确定所述帧内编码帧信息,其中所述描述文件包括所述媒体文件的每个分片的所有帧内编码帧在相应的分片上的字节偏移。
3.根据权利要求1或2所述的方法,其特征在于,所述帧内编码帧信息包括指示所述帧内编码帧数据所属的分片的第一信息,以及指示所述帧内编码帧数据在所述分片上的字节偏移的第二信息。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述快速播放状态包括快进播放状态或快退播放状态。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述请求消息为超文本传输协议字节范围(HTTP Byterange)请求消息。
6.一种播放媒体文件的方法,其特征在于,包括:
接收终端发送的包括帧内编码帧信息的请求消息,所述帧内编码帧信息与所述终端获取的基于超文本传输协议实时流HLS协议的媒体文件的快速播放状态相应;
根据所述请求消息,获取与所述帧内编码帧信息相应的帧内编码帧数据;
向所述终端发送包括所述帧内编码帧数据的应答消息,以便于所述终端播放所述帧内编码帧数据。
7.根据权利要求6所述的方法,其特征在于,所述帧内编码帧信息由所述终端根据与所述媒体文件相应的描述文件而确定,所述描述文件包括所述媒体文件的每个分片的所有帧内编码帧在相应的分片上的字节偏移。
8.根据权利要求6或7所述的方法,其特征在于,所述帧内编码帧信息包括指示所述帧内编码帧数据所属的分片的第一信息,以及指示所述帧内编码帧数据在所述分片上的字节偏移的第二信息。
9.根据权利要求6至8中任一项所述的方法,其特征在于,所述请求消息为超文本传输协议字节范围(HTTP Byterange)请求消息。
10.一种终端,其特征在于,包括:
获取模块,用于获取基于超文本传输协议实时流HLS协议的媒体文件的快速播放状态;
确定模块,用于确定与所述获取模块获取的所述快速播放状态相应的帧内编码帧信息;
发送模块,用于向服务器发送请求消息,所述请求消息包括所述确定模块确定的所述帧内编码帧信息;
接收模块,用于接收所述服务器根据所述发送模块发送的所述请求消息而发送的应答消息,所述应答消息包括与所述帧内编码帧信息相应的帧内编码帧数据;
播放模块,用于根据所述接收模块接收的所述应答消息,播放所述帧内编码帧数据。
11.根据权利要求10所述的终端,其特征在于,所述确定模块还用于根据与所述媒体文件相应的描述文件,确定所述帧内编码帧信息,其中所述描述文件包括所述媒体文件的每个分片的所有帧内编码帧在相应的分片上的字节偏移。
12.根据权利要求10或11所述的终端,其特征在于,所述确定模块确定的所述帧内编码帧信息包括指示所述帧内编码帧数据所属的分片的第一信息,以及指示所述帧内编码帧数据在所述分片上的字节偏移的第二信息。
13.根据权利要求10至12中任一项所述的终端,其特征在于,所述获取模块获取的所述快速播放状态包括快进播放状态或快退播放状态。
14.根据权利要求10至13中任一项所述的终端,其特征在于,所述发送模块发送的所述请求消息为超文本传输协议字节范围(HTTP Byterange)请求消息。
15.一种服务器,其特征在于,包括:
接收模块,用于接收终端发送的包括帧内编码帧信息的请求消息,所述帧内编码帧信息与所述终端获取的基于超文本传输协议实时流HLS协议的媒体文件的快速播放状态相应;
获取模块,用于根据所述接收模块接收的所述请求消息,获取与所述帧内编码帧信息相应的帧内编码帧数据;
发送模块,用于向所述终端发送包括所述获取模块获取的所述帧内编码帧数据的应答消息,以便于所述终端播放所述帧内编码帧数据。
16.根据权利要求15所述的服务器,其特征在于,所述接收模块接收的所述帧内编码帧信息由所述终端根据与所述媒体文件相应的描述文件而确定,所述描述文件包括所述媒体文件的每个分片的所有帧内编码帧在相应的分片上的字节偏移。
17.根据权利要求15或16所述的服务器,其特征在于,所述接收模块接收的所述帧内编码帧信息包括指示所述帧内编码帧数据所属的分片的第一信息,以及指示所述帧内编码帧数据在所述分片上的字节偏移的第二信息。
18.根据权利要求15至17中任一项所述的服务器,其特征在于,所述接收模块接收的所述请求消息为超文本传输协议字节范围(HTTPByterange)请求消息。
19.一种播放媒体文件的系统,其特征在于,包括:
根据权利要求10至14中任一项所述的终端;和
根据权利要求15至18中任一项所述的服务器。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2011/082295 WO2012167558A1 (zh) | 2011-11-16 | 2011-11-16 | 播放媒体文件的方法、终端、服务器和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102550038A true CN102550038A (zh) | 2012-07-04 |
Family
ID=46353971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011800032219A Pending CN102550038A (zh) | 2011-11-16 | 2011-11-16 | 播放媒体文件的方法、终端、服务器和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20140109156A1 (zh) |
CN (1) | CN102550038A (zh) |
WO (1) | WO2012167558A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014114086A1 (zh) * | 2013-01-22 | 2014-07-31 | 中兴通讯股份有限公司 | 超文本传输协议直播流内容分发方法、系统及设备 |
CN103986978A (zh) * | 2014-04-14 | 2014-08-13 | 曦威胜科技开发(深圳)有限公司 | 在HLS协议中扩展实现快进快退及精确Seek的方法 |
CN104885465A (zh) * | 2013-01-07 | 2015-09-02 | 高通股份有限公司 | 用于仅hls可缩放视频译码的层间参考图片产生 |
CN105187918A (zh) * | 2015-07-21 | 2015-12-23 | 浪潮软件集团有限公司 | 一种基于hls协议点播系统中使用缩略图实现快进的方法 |
CN106612462A (zh) * | 2015-10-26 | 2017-05-03 | 中兴通讯股份有限公司 | 快进快退的处理方法及终端 |
CN107087214A (zh) * | 2016-02-16 | 2017-08-22 | 中国电信股份有限公司 | 实现流媒体内容倍速播放的方法、客户端及系统 |
CN114640711A (zh) * | 2020-12-15 | 2022-06-17 | 深圳Tcl新技术有限公司 | 一种tlv数据包的推送方法、智能终端及存储介质 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150350622A1 (en) * | 2014-05-30 | 2015-12-03 | Apple Inc. | Packed i-frames |
CN105847941B (zh) * | 2016-03-17 | 2019-02-19 | 央广视讯传媒股份有限公司 | 一种基于hls协议的音视频流直播方法 |
CN107426629B (zh) * | 2017-06-19 | 2020-06-23 | 网宿科技股份有限公司 | 一种流媒体文件处理方法及直播系统 |
CN110149560B (zh) * | 2019-06-05 | 2021-11-16 | 亦非云互联网技术(上海)有限公司 | 基于hls协议的播放器优化方法及系统、存储介质及终端 |
CN113038170B (zh) * | 2021-03-01 | 2022-05-13 | 北京四达时代软件技术股份有限公司 | 直播hls数据生成方法及装置、处理方法及装置和控制系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1873820A (zh) * | 2006-05-18 | 2006-12-06 | 北京中星微电子有限公司 | 视频文件处理方法、视频索引方法和视频索引装置 |
CN101018323A (zh) * | 2007-02-08 | 2007-08-15 | 华为技术有限公司 | 一种快进快退播放视频数据的方法和流媒体服务器 |
CN101980533A (zh) * | 2010-11-12 | 2011-02-23 | 中国华录集团有限公司 | 一种基于索引文件实现传输流文件特技模式功能的方法 |
CN102055717A (zh) * | 2009-11-09 | 2011-05-11 | 华为技术有限公司 | 快速播放的方法、终端及服务器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060037057A1 (en) * | 2004-05-24 | 2006-02-16 | Sharp Laboratories Of America, Inc. | Method and system of enabling trick play modes using HTTP GET |
US8856283B2 (en) * | 2011-06-03 | 2014-10-07 | Apple Inc. | Playlists for real-time or near real-time streaming |
-
2011
- 2011-11-16 CN CN2011800032219A patent/CN102550038A/zh active Pending
- 2011-11-16 WO PCT/CN2011/082295 patent/WO2012167558A1/zh active Application Filing
-
2013
- 2013-12-20 US US14/136,244 patent/US20140109156A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1873820A (zh) * | 2006-05-18 | 2006-12-06 | 北京中星微电子有限公司 | 视频文件处理方法、视频索引方法和视频索引装置 |
CN101018323A (zh) * | 2007-02-08 | 2007-08-15 | 华为技术有限公司 | 一种快进快退播放视频数据的方法和流媒体服务器 |
CN102055717A (zh) * | 2009-11-09 | 2011-05-11 | 华为技术有限公司 | 快速播放的方法、终端及服务器 |
CN101980533A (zh) * | 2010-11-12 | 2011-02-23 | 中国华录集团有限公司 | 一种基于索引文件实现传输流文件特技模式功能的方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104885465A (zh) * | 2013-01-07 | 2015-09-02 | 高通股份有限公司 | 用于仅hls可缩放视频译码的层间参考图片产生 |
CN104885465B (zh) * | 2013-01-07 | 2018-05-04 | 高通股份有限公司 | 用于仅hls可缩放视频译码的层间参考图片产生 |
WO2014114086A1 (zh) * | 2013-01-22 | 2014-07-31 | 中兴通讯股份有限公司 | 超文本传输协议直播流内容分发方法、系统及设备 |
CN103986978A (zh) * | 2014-04-14 | 2014-08-13 | 曦威胜科技开发(深圳)有限公司 | 在HLS协议中扩展实现快进快退及精确Seek的方法 |
CN105187918A (zh) * | 2015-07-21 | 2015-12-23 | 浪潮软件集团有限公司 | 一种基于hls协议点播系统中使用缩略图实现快进的方法 |
CN106612462A (zh) * | 2015-10-26 | 2017-05-03 | 中兴通讯股份有限公司 | 快进快退的处理方法及终端 |
CN106612462B (zh) * | 2015-10-26 | 2021-02-19 | 中兴通讯股份有限公司 | 快进快退的处理方法及终端 |
CN107087214A (zh) * | 2016-02-16 | 2017-08-22 | 中国电信股份有限公司 | 实现流媒体内容倍速播放的方法、客户端及系统 |
CN114640711A (zh) * | 2020-12-15 | 2022-06-17 | 深圳Tcl新技术有限公司 | 一种tlv数据包的推送方法、智能终端及存储介质 |
CN114640711B (zh) * | 2020-12-15 | 2023-08-01 | 深圳Tcl新技术有限公司 | 一种tlv数据包的推送方法、智能终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20140109156A1 (en) | 2014-04-17 |
WO2012167558A1 (zh) | 2012-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102550038A (zh) | 播放媒体文件的方法、终端、服务器和系统 | |
US9591361B2 (en) | Streaming of multimedia data from multiple sources | |
US9813740B2 (en) | Method and apparatus for streaming multimedia data with access point positioning information | |
US20140129618A1 (en) | Method of streaming multimedia data over a network | |
US10771821B2 (en) | Overcoming lost IP packets in streaming video in IP networks | |
JP2015136060A (ja) | 通信装置、通信データ生成方法、および通信データ処理方法 | |
CN103269331A (zh) | 选择可播放码率内容的方法和装置 | |
CN105191322A (zh) | 使用按需转码的多画面网络数字视频记录的系统和方法 | |
KR20120035881A (ko) | Http 스트리밍의 표현 스위칭시 자연스런 재생을 위한 스케일러블한 http 스트리밍 전송 방법 | |
KR20120114016A (ko) | 사용자 컨텐츠를 외부 단말기에서 네트워크 적응적으로 스트리밍하는 방법 및 장치 | |
WO2014096968A9 (en) | Server-based content tracking apparatus and method | |
CN107079013B (zh) | 管理媒体流的并发流式传输 | |
US10924524B2 (en) | Communication devices, communication data generation method, and communication data processing method | |
CN101848367B (zh) | 基于文件的动态影像网络直播方法 | |
US20110164689A1 (en) | Method and associated device for generating video | |
CN103024491B (zh) | 移动终端的视频播放方法和系统 | |
JP4526294B2 (ja) | ストリームデータ送信装置、受信装置、プログラムを記録した記録媒体、およびシステム | |
CN114245153A (zh) | 切片方法、装置、设备及可读存储介质 | |
JP6258168B2 (ja) | 配信装置、再生装置および配信システム | |
CN102378066A (zh) | 一种实现低码率高清点播的方法和系统 | |
JP2017175597A (ja) | 動画配信システム、配信サーバ、受信装置、及びプログラム | |
CN106302465B (zh) | 一种播放音视频数据的方法及装置 | |
CN106162380A (zh) | 一种在线视频调用方法及系统 | |
CN108271040B (zh) | 播放视频的方法和装置 | |
US9538215B2 (en) | Maintaining continuity in media streaming |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120704 |