CN106331763B - 无缝播放分片媒体文件的方法及实现该方法的装置 - Google Patents
无缝播放分片媒体文件的方法及实现该方法的装置 Download PDFInfo
- Publication number
- CN106331763B CN106331763B CN201610818116.5A CN201610818116A CN106331763B CN 106331763 B CN106331763 B CN 106331763B CN 201610818116 A CN201610818116 A CN 201610818116A CN 106331763 B CN106331763 B CN 106331763B
- Authority
- CN
- China
- Prior art keywords
- media
- information
- fragments
- playing
- header 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.)
- Active
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/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/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/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- 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
-
- 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/854—Content authoring
- H04N21/85406—Content authoring involving a specific file format, e.g. MP4 format
-
- 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)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了无缝播放分片媒体文件的方法及实现该方法的装置。在一实施方式中,该方法包括:接收播放媒体文件的请求,其中媒体文件包括多个分片,多个分片中的每个都包括独立的头部信息和媒体信息;解析多个分片的头部信息;将多个分片的头部信息组装成能够反映多个分片中所有分片的一个合成头部信息,并根据组装后的合成头部信息将多个分片的媒体信息拼接成一个媒体信息流;以及输出拼接后的媒体信息流。该实施方式实现了在诸如计算机或智能手机的客户端上无缝播放本地分片媒体文件,以及将分片媒体文件的画面通过例如AirPlay或DLNA协议流畅地投射到电视或者其他显示器上。
Description
技术领域
本发明涉及多媒体播放技术领域,具体涉及分片媒体文件播放技术领域,更具体地涉及适于在计算机或智能手机上无缝播放分片媒体文件的方法以及实现该方法的装置。
背景技术
随着互联网技术的发展,用户可利用多个终端来获取并播放本地多媒体文件。多媒体文件包括视频、音频、图像、文字等。
MP4是一种常用的多媒体容器格式。在MP4视频文件中,媒体的描述信息与媒体数据是分开的。媒体的描述信息置于MP4视频文件的头部(header)的一些结构box中,并且包括定义媒体的排列和时间信息的数据;而所有媒体数据作为一个整体置于头部之后。这样,虽然MP4视频文件经过流化之后能够实现边缓冲边播放,但是,由于MP4视频文件的描述信息体积较大,所以播放之前可能需要较长的缓冲时间。
为了减小MP4视频文件的描述信息的体积,缩短播放之前的缓冲时间,对MP4视频文件进行分片以形成多个MP4分片。MP4分片是一个完整的MP4视频文件被分成多个片段的MP4媒体数据,其中每一段MP4媒体数据都具有独立的头部信息。
在连续播放MP4视频文件的多个分片时,播放器播完一段MP4后再加载另一段MP4视频文件,并且在播放每一个MP4分片之前都需要先加载该分片的头部信息。当加载处于中间的分片的头部信息时,播放器会出现黑屏现象,导致播放衔接不连贯,从而非常影响用户体验。另外,在现有技术的基础上,由于Aiplay或DLNA只能投射流媒体信息,因此如果不搭建本地HTTP服务则无法通过AirPlay或DLNA协议将多媒体文件投影到电视或者其他显示器上,此外搭建本地HTTP服务之后只能逐个分片地进行播放,严重影响观影体验。
发明内容
针对上述不足,本发明提供了用于无缝播放分片媒体文件的方法及实现该方法的装置。
第一方面,本发明提供用于无缝播放分片媒体文件的方法。该方法可包括:接收播放媒体文件的请求,其中媒体文件包括多个分片,多个分片中的每个都包括独立的头部信息和媒体信息;解析多个分片的头部信息;将多个分片的头部信息组装成能够反映多个分片中的所有分片的一个合成头部信息,并根据组装后的合成头部信息将多个分片的媒体信息拼接成一个媒体信息流;以及输出拼接后的媒体信息流。
在该方面的实施方式中,多个分片被存储于同一路径下。在进一步的实施方式中,输出拼接后的媒体信息流可包括:生成拼接后的媒体信息流的播放地址;搭建与客户端的本地HTTP服务;以及通过HTTP服务利用媒体信息流的播放地址输出媒体信息流。在更进一步的实施方式中,生成拼接后的媒体信息流的播放地址可包括:获取组装后的合成头部信息;以及根据存储多个分片的路径以及组装后的合成头部信息,来生成拼接后的媒体信息流的播放地址。
在某些可选实施方式中,播放地址可以是URL(Uniform Resource Locator,统一资源定位符)地址。
在某些可选实施方式中,该方法还包括:在接收播放分片媒体文件的请求之前,在媒体文件的容量大于或等于预定阈值的情况下,将媒体文件分割成多个分片。在某些可选实施方式中,媒体文件可以是视频文件。在进一步的实施方式中,视频文件可以是MP4视频文件。
在某些可选实施方式中,头部信息可以是包括媒体文件的排列信息和时间信息的元数据(Metadata)。
第二方面,本发明提供用于无缝播放分片媒体文件的方法。该方法可包括:发送播放媒体文件的请求,其中媒体文件包括多个分片,多个分片中的每个都包括独立的头部信息和媒体信息;获取媒体文件的拼接后的媒体信息流的播放地址,其中媒体信息流是通过由服务器(Server)端解析多个分片的头部信息并将其组装成一个合成头部信息并且根据该合成头部信息对多个分片的媒体信息进行拼接而形成,所述合成头部信能够反映多个分片中的所有分片;搭建与服务器端的HTTP服务;通过HTTP服务,利用媒体信息流的播放地址获取拼接后的媒体信息流;以及解析获取的媒体信息流并播放媒体文件。
在该方面的实施方式中,该方法还包括:在发送播放媒体文件的请求之后,接收对于媒体文件的播放相关信息的请求、生成与媒体文件的多个分片的播放有关的播放相关信息、向服务器端发送该播放相关信息以供服务器端根据该播放相关信息来解析多个分片的头部信息。
在某些可选实施方式中,播放相关信息可包括媒体文件的多个分片的分片列表,还可包括用于查找多个分片的数据偏移量。
第三方面,本发明提供无缝播放分片媒体文件的服务器。该服务器可包括收发模块、解析模块、组装模块和输出模块,其中收发模块接收播放媒体文件的请求,媒体文件包括多个分片,多个分片中的每个都包括独立的头部信息和媒体信息;解析模块可解析多个分片的头部信息;组装模块可根据多个分片的头部信息生成能够反映多个分片中的所有分片的一个合成头部信息,并可根据合成头部信息将多个分片的媒体信息拼接成一个媒体信息流;输出模块可输出拼接后的媒体信息流。
在该方面的实施方式中,多个分片被存储于同一路径下,输出模块可进一步包括地址生成单元和输出单元,其中地址生成单元可生成拼接后的媒体信息流的播放地址;输出单元可搭建与客户端的本地HTTP服务,并且通过HTTP服务、利用媒体信息流的播放地址输出媒体信息流。在进一步的实施方式中,地址生成单元可获取组装后的合成头部信息,并且可根据存储多个分片的路径以及组装后的合成头部信息来生成拼接后的媒体信息流的播放地址。
在该方面某些实施方式中,该服务器还包括分片模块,在收发模块接收播放媒体文件的请求之前,分片模块在媒体文件的容量大于或等于预定阈值的情况下将媒体文件分割成多个分片。
第四方面,提供无缝播放分片媒体文件的播放器。该播放器可包括发送模块、接收模块和播放模块,其中,发送模块可发送播放媒体文件的请求,其中媒体文件包括多个分片,多个分片中的每个都包括独立的头部信息和媒体信息;接收模块可获取媒体文件的拼接后的媒体信息流的播放地址,其中媒体信息流是通过由服务器端解析多个分片的头部信息并将其组装成一个合成头部信息并且根据合成头部信息对多个分片的媒体信息进行拼接而形成,合成头部信能够反映多个分片中的所有分片;以及播放模块可进一步包括HTTP服务单元和播放单元,其中HTTP服务单元可搭建与服务器端的HTTP服务并通过HTTP服务利用媒体信息流的播放地址获取拼接后的媒体信息流,播放单元可解析获取的媒体信息流并播放媒体文件。
在该方面的实施方式中,接收模块可在发送模块发送播放媒体文件的请求之后接收对于媒体文件的播放相关信息的请求;播放器还可包括生成模块,该生成模块可在接收模块接收对于媒体文件的播放相关信息的请求之后生成与媒体文件的多个分片的播放有关的播放相关信息,之后可由发送模块向服务器端发送播放相关信息以供服务器端根据播放相关信息来解析多个分片的头部信息。
在该方面的实施方式中,播放器可以是计算机或智能手机的本地播放器。
本发明公开的无缝播放分片媒体文件的方法及实现该方法的相关装置可适于在本地服务器端和计算机或智能手机上执行。采用本发明的技术方案可以在诸如计算机或智能手机的客户端上无缝播放本地分片媒体文件,避免分片媒体文件之间出现衔接断续问题,并且可以将分片媒体文件的画面通过例如AirPlay或DLNA协议流畅地投射到电视或者其他显示器上。
附图说明
结合附图,通过以下非限制性实施方式的详细描述,本发明的其它特征、目的和优点将变得更明显。在附图中:
图1是根据本发明实施方式客户端与服务器端之间进行通信以播放分片媒体文件的示意图;
图2是根据本发明一实施方式用于无缝播放分片媒体文件的方法的流程图;
图3是示出图2所示方法的具体实施例的流程图;
图4是根据本发明另一实施方式用于无缝播放分片媒体文件的方法的流程图;
图5是示出图4所示方法的具体实施例的流程图;
图6是根据本发明又一实施方式在iPhone客户端的播放软件上播放本地MP4视频文件并将MP4视频文件的视频画面通过AirPlay或DNLA协议投射到电视上的过程的示意图;
图7是根据本发明实施方式用于无缝播放分片媒体文件的服务器;以及
图8是根据本发明实施方式用于无缝播放分片媒体文件的播放器。
具体实施方式
下面结合附图和实施例进一步对本发明进行详细描述。
应理解,此处所描述的具体实施例仅用于解释相关发明,而不限制其范围。为了便于描述,附图中仅示出与发明相关的部分。另外需要说明的是,在不脱离本发明的范围以及不冲突的情况下,本发明的实施例和实施例中的特征可相互组合。
图1是根据本发明实施方式客户端与服务器端之间进行通信以播放分片媒体文件的示意图。在该实施方式中,分片媒体文件包括多个分片,并且每个分片都包括独立的媒体信息。
参照图1,根据本发明实施方式,客户端102与服务器端104之间的通信过程包括以下步骤:
步骤106,客户端102根据使用该客户端102的用户的指示,向服务器端104发送对于播放分片媒体文件的请求。
步骤108,作为请求播放分片媒体文件的响应,服务器端104向客户端102发送对于媒体文件的播放相关信息的请求。媒体文件可以是视频文件、音频文件、图像文件等,但不局限于此。
步骤110,在接收到对于播放相关信息的请求之后,客户端102生成与媒体文件的播放有关的播放相关信息。
步骤112,客户端102向服务器端104发送生成的播放相关信息。
步骤114,服务器端104根据播放相关信息,将媒体文件的多个分片的媒体信息拼接成一个媒体信息流,并且生成该媒体信息流的播放地址。
步骤116,服务器端104向客户端102发送媒体信息流的播放地址。
步骤118,客户端102根据所接收的播放地址向服务器端104请求媒体信息流。
步骤120,服务器端104向客户端102输出拼接后的媒体信息流。
步骤122,客户端102对接收的媒体信息流进行解码,并连接地播放分片媒体文件。
在该实施方式中,例如,客户端和/或服务器端可以是计算机或智能手机。服务器端和客户端可位于同一客户端上。服务器端提供HTTP服务并且与本地客户端或其他终端进行交互。但是,客户端和服务器端均不局限于此,例如服务器端可以为与客户端分离的组件。
下面结合图2至图5,分别针对客户端和服务器端具体描述用于无缝播放分片媒体文件的方法。
图2是根据本发明一实施方式用于无缝播放分片媒体文件的方法的流程图,其示出服务器端的无缝播放方法;以及图3是示出图2所示方法的具体实施例的流程图。媒体文件包括但不限于视频文件、音频文件。在可选实施例中,媒体文件是视频文件,例如MP4视频文件。
参照图2,根据本发明实施方式,用于无缝播放分片媒体文件的方法200包括:
步骤202,接收播放媒体文件的请求。在该实施方式中,媒体文件包括多个分片,多个分片中的每个都包括独立的头部信息和媒体信息。在可选实施例中,头部信息是包括媒体文件的排列信息和时间信息的元数据。
在可选实施例中,该方法还包括:在接收播放分片媒体文件的请求之前,在媒体文件的容量大于或等于预定阈值的情况下,将媒体文件分割成多个分片。
通常,如果媒体文件过大则视频网站会根据预定阈值将其分割成多个的小媒体文件分片以节省带宽。在实践中,上述分割通常是根据播放时长来进行的,相应地,上述阈值例如为5至15分钟;然而此处的分割条件和阈值仅是示例而非限制,例如,阈值范围可以为更小或更大的区间或特定值。
步骤204,解析多个分片的头部信息。
步骤206,将多个分片的头部信息组装成能够反映多个分片中的所有分片的一个合成头部信息,并根据组装后的合成头部信息将多个分片的媒体信息拼接成一个媒体信息流。
步骤208,输出拼接后的媒体信息流。
在某些实施例中,多个分片被存储于同一路径下。在可选实施例中,输出拼接后的媒体信息流包括:生成拼接后的媒体信息流的播放地址;搭建与客户端的本地HTTP服务;以及通过HTTP服务,利用媒体信息流的播放地址输出媒体信息流。在可选实施例中,生成拼接后的媒体信息流的播放地址包括:获取组装后的合成头部信息;以及根据存储多个分片的路径以及组装后的合成头部信息,生成拼接后的媒体信息流的播放地址。
在可选实施例中,媒体信息流的播放地址是URL地址。
参照图3、以播放分片MP4视频文件为例,详细描述图2所示方法的具体实施例。在该具体实施例中,媒体文件是MP4视频文件,媒体信息为MP4视频文件的视频信息,媒体信息流的播放地址为视频信息流的URL地址,但是应理解,这些仅是示例而非限制。
在开始图3所示的各步骤之前,在MP4视频文件大于预定阈值的情况中,服务器端的分片模块已将该MP4视频文件分割成多个分片。
在步骤302处,服务器端的收发模块从客户端接收对于播放MP4视频文件的请求,之后在步骤304处向客户端请求并获取MP4视频文件的分片列表和数据偏移量。此处,MP4视频文件的分片列表和数据偏移量与参照图1所描述的播放相关信息对应,但是播放相关信息不限于分片列表和数据偏移量。
然后,服务器端的解析模块在步骤306处判断是否成功获取MP4视频文件的分片列表和数据偏移量,如果获取成功则进入步骤308,即由解析模块解析各个分片的头部信息;如果未获取成功则返回步骤304执行重复过程,在此不赘述。
在步骤308之后,服务器端的组装模块在步骤310处判断是否已经完成所有头部信息的解析。如果解析完成则进入步骤312,即组装模块根据这些分片的头部信息生成能够反映所有分片的一个合成头部信息,并根据该合成头部信息将各个分片的视频信息拼接成一个视频信息流;以及如果解析未完成,则返回步骤308继续进行解析,在此不赘述。
在步骤312之后,在步骤314处,服务器端启动视频流服务并生成视频信息流的URL。在可选实施例中,输出模块的地址生成单元获取组装后的合成头部信息,并且根据多个分片的存储路径和合成头部信息生成视频信息流的URL地址。
然后,输出模块的输出单元在步骤316处搭建与客户端的本地HTTP服务。随后在步骤318处,输出单元解码MP4视频的URL地址,并且通过本地HTTP服务、利用MP4视频的URL地址向客户端输出该视频信息流。
图4是根据本发明另一实施方式用于无缝播放分片媒体文件的方法的流程图,其示出客户端的无缝播放方法,以及图5是示出图4所示方法的具体实施例的流程图。在该实施方式中,客户端可以是但不限于计算机或智能手机,例如可以为iPhone客户端。
参照图4,根据本发明实施方式,用于无缝播放分片媒体文件的方法400包括:步骤402,发送播放媒体文件的请求,其中媒体文件包括多个分片,多个分片中的每个都包括独立的头部信息和媒体信息;步骤404,获取媒体文件的拼接后的媒体信息流的播放地址,其中媒体信息流是通过由服务器端解析多个分片的头部信息并将其组装成一个合成头部信息并且根据该合成头部信息对多个分片的媒体信息进行拼接而形成,所述合成头部信能够反映多个分片中的所有分片;步骤406,搭建与服务器端的HTTP服务;步骤408,通过HTTP服务,利用媒体信息流的播放地址获取拼接后的媒体信息流;以及步骤410,解析获取的媒体信息流并播放媒体文件。
在本发明实施方式的实施例中,该方法还包括:在发送播放媒体文件的请求之后,接收对于媒体文件的播放相关信息的请求、生成与媒体文件的多个分片的播放有关的播放相关信息、向服务器端发送该播放相关信息以供服务器端根据该播放相关信息来解析多个分片的头部信息。播放相关信息包括媒体文件的多个分片的分片列表,还包括用于查找这些分片的数据偏移量。
下面参照图5、以播放分片MP4视频文件为例,详细描述图4所示方法的具体实施例。与结合图2和图3所描述的内容相同或相似的内容在此不赘述。
在步骤502处,客户端(iPhone客户端)的本地播放器的接收模块从用户接收播放某部视频画面的指示。具体地,所接收的指示指出与请求播放的视频画面对应的视频数据。在其他实施例中,播放器可以是计算机或其他智能电话中的播放器,或者可实现相同功能的其他装置。
在接收播放指示之后,在步骤504处,播放器的发送模块请求MP4视频文件的视频帧数据。
在步骤506处,播放器的生成模块根据从用户接收的指示所指向的视频帧数据生成MP4视频文件的分片列表和数据偏移量。在该实施例中,分片列表和数据偏移量是与MP4视频文件的分片的播放有关的播放相关信息,但播放相关信息不局限于此。
之后,在步骤508处,播放器的发送模块向服务器端发送该分片列表和数据偏移量,并请求拼接后的视频帧数据(即,视频信息)。随后在步骤510中,播放器的接收模块从服务器端获取视频帧数据流的URL。
然后,在步骤512处,播放器中播放模块的HTTP服务单元搭建与服务器端的HTTP服务,并通过所搭建的HTTP服务、利用视频帧数据流的URL获取拼接后的媒体信息流。
之后,在步骤514处,视频帧数据流的播放单元判断是否获得足够的视频帧数据,如果获得足够的视频帧数据则进入步骤516,即由解码器对MP4视频文件的视频帧数据进行解码并在播放器上渲染出对应的视频画面,从而实现视频帧画面的播放;如果未获得足够的视频帧数据则返回步骤512,在此不赘述。在该实施方式中,解码器包括在输出模块的播放单元中,作为该播放单元的一部分。
通过结合图1至图5所描述的技术方案,可实现在计算机或智能手机客户端上无缝流畅的播放本地分片媒体文件,避免了媒体文件的分片之间的衔接断续问题。
图6是根据本发明又一实施方式在iPhone客户端的播放软件上播放本地MP4视频文件并将MP4视频文件的视频画面通过AirPlay或DNLA协议投射到电视上的过程的示意图。
参照图6,分片MP4读取器616从单个MP4资源618中读取由iPhone客户端604的本地播放器610发来的分片列表中所包括的分片的头部信息,并将这些分片的头部信息递交至MP4动态合并器(Merger)614。MP4动态合并器614将各个MP4分片的头部信息组装成一个合成头部信息,并将该合成头部信息递交至串流服务器612。串流服务器612利用合成串流服务器612将各个分片的MP4媒体信息拼接成一个MP4媒体信息流。应理解,该实施方式中所使用的装置只是示例而非限制。
一方面,串流服务器612通过HTTP服务、利用拼接后的MP4媒体信息流的URL地址将该媒体信息流输出至本地播放器610,从而实现在iPhone客户端604上无缝播放本地MP4视频文件。另一方面,串流服务器612通过HTTP服务、经由AirPlay协议606或DNLA协议608将视频文件投射到电视602上,从而实现视频投影。
在该实施方式中,电视可以是其他电子设备;iPhone客户端可以是诸如计算机的其他客户端;MP4视频文件可以是其他视频文件或者甚至可以是诸如音频文件的其他媒体文件。
通过该实施方式,可在计算机或智能手机客户端上无缝播放本地分片媒体文件,并且可通过诸如AirPlay或DLNA的协议将正在播放的媒体画面投影到电视或其他显示器上。
图7是根据本发明实施方式用于无缝播放分片媒体文件的服务器700。应理解,此处所使用的服务器700不限于特定的服务器,而是可包括其他的服务器或者可实现相同功能的其他装置。
参照图7,服务器700可包括收发模块702、解析模块704、组装模块706和输出模块708。收发模块702接收播放媒体文件的请求,其中媒体文件包括多个分片,多个分片中的每个都包括独立的头部信息和媒体信息;解析模块704解析多个分片的头部信息;组装模块706根据多个分片的头部信息生成能够反映多个分片中的所有分片的一个合成头部信息,并根据合成头部信息将多个分片的媒体信息拼接成一个媒体信息流;地址生成单元710生成拼接后的媒体信息流的播放地址;以及输出单元712输出拼接后的媒体信息流。
在该实施方式中,多个分片被存储于同一路径下。输出模块708可进一步包括地址生成单元710和输出单元712,其中,地址生成单元生成拼接后的媒体信息流的播放地址;以及输出单元搭建与客户端的本地HTTP服务,并且通过HTTP服务、利用媒体信息流的播放地址输出媒体信息流。
在该实施方式中,地址生成单元710还可获取组装后的合成头部信息,并且可根据存储多个分片的路径以及组装后的合成头部信息生成拼接后的媒体信息流的播放地址。
在该实施方式中,服务器700还包括分片模块。在收发模块702接收播放媒体文件的请求之前,在媒体文件的容量大于或等于预定阈值的情况下,该分片模块将媒体文件分割成多个分片。
图8是根据本发明实施方式用于无缝播放分片媒体文件的播放器800。
播放器800可包括发送模块802、接收模块804和播放模块806。发送模块802可发送播放媒体文件的请求,其中媒体文件包括多个分片,多个分片中的每个都包括独立的头部信息和媒体信息。接收模块804可获取媒体文件的拼接后的媒体信息流的播放地址,其中媒体信息流是通过由服务器端解析多个分片的头部信息并将其组装成一个合成头部信息并且根据合成头部信息对多个分片的媒体信息进行拼接而形成,合成头部信能够反映多个分片中的所有分片。播放模块806可进一步包括HTTP服务单元808和播放单元810,其中,HTTP服务单元808搭建与服务器端的HTTP服务,并通过HTTP服务利用媒体信息流的播放地址获取拼接后的媒体信息流;以及播放单元810解析获取的媒体信息流,并播放媒体文件。
在某些实施例中,接收模块804在发送模块802发送播放媒体文件的请求之后,接收对于媒体文件的播放相关信息的请求。播放器800还包括生成模块,该生成模块在接收模块804接收对于媒体文件的播放相关信息的请求之后生成与媒体文件的多个分片的播放有关的播放相关信息,之后由发送模块802向服务器端发送播放相关信息以供服务器端根据播放相关信息来解析多个分片的头部信息。
在某些实施例中,该播放器可以是计算机或智能手机的本地播放器,但是不局限于此。
在本文通篇中,技术名词不限于字面上所限定的含义,而是在不脱离本发明如权利要求所限定的范围的情况下,涵盖用于实现相同或相似功能的表述不同的装置。
本领域技术人员可以理解,本申请的技术方案可实施为系统、方法或计算机程序产品。因此,本申请可表现为完全硬件的实施例、完全软件的实施例(包括固件、常驻软件、微码等)或将软件和硬件相结合的实施例的形式,它们一般可被称为“电路”、“模块”或“系统”。此外,本申请可表现为计算机程序产品的形式,所述计算机程序产品嵌入到任何有形的表达介质中,所述有形的表达介质具有嵌入到所述介质中的计算机可用程序代码。
根据本申请实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本申请。可以理解的是,可由计算机程序指令执行流程图和/或框图中的每个框、以及流程图和/或框图中的多个框的组合。这些计算机程序指令可提供给通用目的计算机、专用目的计算机或其它可编程数据处理装置的处理器,以使通过计算机或其它可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个框或多个框中指明的功能/动作的装置。
这些计算机程序指令还可存储于能够指导计算机或其它可编程数据处理装置以特定的方式实现功能的计算机可读介质中,以使存储于计算机可读介质中的指令产生包括实现流程图和/或框图中的一个框或多个框中指明的功能/动作的指令装置。
计算机程序指令还可加载到计算机或其它可编程数据处理装置上,以引起在计算机上或其它可编程装置上执行一连串的操作步骤,以产生计算机实现的过程,从而使在计算机或其它可编程装置上执行的指令提供用于实现流程图和/或框图中的一个框或多个框中指明的功能/动作的过程。
附图中的流程图和框图示出根据本申请的多个实施例的系统、方法、功能和操作。应注意,在一些可替代性实施中,框中标注的功能可以不按照附图中标注的顺序发生。例如,根据所涉及的功能性,连续示出的两个框实际上可大致同时地执行,或者这些框有时以相反的顺序执行。还可注意到,可由执行特定功能或动作的专用目的的基于硬件的系统、或专用目的硬件与计算机指令的组合来实现框图和/或流程图示图中的每个框、以及框图和/或流程图示图中的多个框的组合。
以上描述仅为本发明的较佳实施例以及对本发明技术原理的说明。本领域技术人员应当理解,本发明中所涉及的发明范围并不限于上述技术特征的特定组合而成的技术方案,在不脱离发明构思的情况下,本发明还应涵盖由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本发明中公开的具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (11)
1.用于无缝播放分片媒体文件的方法,所述方法包括:
在媒体文件的容量大于或等于预定阈值的情况下,将所述媒体文件分割成多个分片,所述多个分片中的每个都包括独立的头部信息和媒体信息;
接收播放所述媒体文件的请求;
解析所述多个分片的头部信息;
将所述多个分片的头部信息组装成能够反映所述多个分片中的所有分片的一个合成头部信息,并根据组装后的所述合成头部信息将所述多个分片的媒体信息拼接成一个媒体信息流;以及
输出拼接后的所述媒体信息流。
2.如权利要求1所述的方法,其中,所述多个分片被存储于同一路径下。
3.如权利要求2所述的方法,其中,输出拼接后的所述媒体信息流包括:
生成拼接后的所述媒体信息流的播放地址;
搭建与客户端的本地HTTP服务;以及
通过所述HTTP服务,利用所述媒体信息流的播放地址输出所述媒体信息流。
4.如权利要求3所述的方法,其中,生成拼接后的所述媒体信息流的播放地址包括:
获取组装后的所述合成头部信息;以及
根据存储所述多个分片的路径以及组装后的所述合成头部信息,生成拼接后的所述媒体信息流的播放地址。
5.如权利要求3或4所述的方法,其中,所述播放地址是URL地址。
6.如权利要求1至4中任一项所述的方法,其中,所述媒体文件是视频文件。
7.如权利要求6所述的方法,其中,所述视频文件是MP4视频文件。
8.如权利要求1至4中任一项所述的方法,其中,所述头部信息是包括所述媒体文件的排列信息和时间信息的元数据。
9.用于无缝播放分片媒体文件的服务器,所述服务器包括:
分片模块,在媒体文件的容量大于或等于预定阈值的情况下,所述分片模块将所述媒体文件分割成多个分片,所述多个分片中的每个都包括独立的头部信息和媒体信息;
收发模块,接收播放所述媒体文件的请求;
解析模块,解析所述多个分片的头部信息;
组装模块,根据所述多个分片的头部信息生成能够反映所述多个分片中的所有分片的一个合成头部信息,并根据所述合成头部信息将所述多个分片的媒体信息拼接成一个媒体信息流;以及
输出模块,输出拼接后的所述媒体信息流。
10.如权利要求9所述的服务器,其中,所述多个分片被存储于同一路径下,所述输出模块进一步包括:
地址生成单元,生成拼接后的所述媒体信息流的播放地址;以及
输出单元,搭建与客户端的本地HTTP服务,并且通过所述HTTP服务、利用所述媒体信息流的播放地址输出所述媒体信息流。
11.如权利要求10所述的服务器,其中,所述地址生成单元获取组装后的所述合成头部信息,并且根据存储所述多个分片的路径以及组装后的所述合成头部信息来生成拼接后的所述媒体信息流的播放地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610818116.5A CN106331763B (zh) | 2016-09-12 | 2016-09-12 | 无缝播放分片媒体文件的方法及实现该方法的装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610818116.5A CN106331763B (zh) | 2016-09-12 | 2016-09-12 | 无缝播放分片媒体文件的方法及实现该方法的装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106331763A CN106331763A (zh) | 2017-01-11 |
CN106331763B true CN106331763B (zh) | 2020-01-14 |
Family
ID=57786845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610818116.5A Active CN106331763B (zh) | 2016-09-12 | 2016-09-12 | 无缝播放分片媒体文件的方法及实现该方法的装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106331763B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108848396B (zh) * | 2018-05-10 | 2020-09-22 | 西北工业大学 | 一种基于移动平台的计算机辅助记忆方法 |
CN112243136B (zh) * | 2019-07-16 | 2023-06-30 | 中国移动通信集团浙江有限公司 | 内容播放方法、视频存储方法和设备 |
CN112416450B (zh) * | 2020-06-05 | 2023-02-17 | 上海哔哩哔哩科技有限公司 | 资源加密及展示方法及系统 |
CN116137670A (zh) * | 2021-11-16 | 2023-05-19 | 中兴通讯股份有限公司 | 媒体文件聚合方法、播放方法、cdn系统、终端、存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222509A (zh) * | 2008-01-22 | 2008-07-16 | 中兴通讯股份有限公司 | 一种点对点网络的数据保护传输方法 |
CN102857794A (zh) * | 2011-06-28 | 2013-01-02 | 上海聚力传媒技术有限公司 | 一种用于合并视频分段的方法与设备 |
CN103036889A (zh) * | 2012-12-19 | 2013-04-10 | 常州中流电子科技有限公司 | 一种自适应的流媒体播放方法及其播放系统 |
CN104270646A (zh) * | 2014-09-22 | 2015-01-07 | 何震宇 | 一种基于移动流媒体的自适应传输方法和系统 |
CN105578308A (zh) * | 2015-12-29 | 2016-05-11 | 武汉市烽视威科技有限公司 | 一种rtp组播直播与hls单播时移相结合的实现方法 |
-
2016
- 2016-09-12 CN CN201610818116.5A patent/CN106331763B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222509A (zh) * | 2008-01-22 | 2008-07-16 | 中兴通讯股份有限公司 | 一种点对点网络的数据保护传输方法 |
CN102857794A (zh) * | 2011-06-28 | 2013-01-02 | 上海聚力传媒技术有限公司 | 一种用于合并视频分段的方法与设备 |
CN103036889A (zh) * | 2012-12-19 | 2013-04-10 | 常州中流电子科技有限公司 | 一种自适应的流媒体播放方法及其播放系统 |
CN104270646A (zh) * | 2014-09-22 | 2015-01-07 | 何震宇 | 一种基于移动流媒体的自适应传输方法和系统 |
CN105578308A (zh) * | 2015-12-29 | 2016-05-11 | 武汉市烽视威科技有限公司 | 一种rtp组播直播与hls单播时移相结合的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106331763A (zh) | 2017-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11785289B2 (en) | Receiving device, transmitting device, and data processing method | |
US10250949B2 (en) | Broadcast content to HTTP client conversion | |
RU2652099C2 (ru) | Устройство передачи, способ передачи, устройство приема и способ приема | |
US9094737B2 (en) | Network video streaming with trick play based on separate trick play files | |
US10432690B1 (en) | Manifest partitioning | |
US20140359678A1 (en) | Device video streaming with trick play based on separate trick play files | |
WO2016029804A1 (zh) | 一种视频播放方法、媒体设备、播放设备以及多媒体系统 | |
US20170245022A1 (en) | Splicing method and splicing system for http live streaming media fragment | |
US20190020915A1 (en) | Processing media data using file tracks for web content | |
CN106331763B (zh) | 无缝播放分片媒体文件的方法及实现该方法的装置 | |
WO2018103696A1 (zh) | 媒体文件的播放方法、服务端、客户端及系统 | |
KR20160139020A (ko) | Mmt 및 dash를 이용한 브로드캐스트 및 브로드밴드 하이브리드 서비스 | |
CA2825048A1 (en) | A method of targeted ad insertion using http live streaming protocol | |
WO2014193996A2 (en) | Network video streaming with trick play based on separate trick play files | |
WO2017028675A1 (zh) | 直播频道播放方法、装置及系统 | |
KR102499231B1 (ko) | 수신 장치, 송신 장치 및 데이터 처리 방법 | |
JP2014534695A (ja) | コンテンツディスプレイ方法、コンテンツ同期化方法、放送コンテンツディスプレイ方法及びディスプレイ装置 | |
US20220060532A1 (en) | Method for transmitting resources and electronic device | |
WO2017185601A1 (zh) | 一种提供、下载视频的方法及设备 | |
US11095699B1 (en) | Streaming media file management | |
CN103747285A (zh) | 一种节目播放方法和服务端、客户端 | |
WO2015180446A1 (zh) | 一种多设备联动服务中的连接通道维护系统及方法 | |
CN111193936B (zh) | 视频流传输方法、装置、电子设备及计算机可读存储介质 | |
CN113923502B (zh) | 直播视频播放方法及装置 | |
JP2018524904A (ja) | マルチメディアシステムにおける信号送受信方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |