播放非HLS媒体文件的方法和装置与流程

文档序号:12279773阅读:219来源:国知局
播放非HLS媒体文件的方法和装置与流程

本发明涉及多媒体领域,具体而言,涉及一种播放非HLS媒体文件的方法和装置。



背景技术:

HLS(HTTP Live streaming,超文本传输协议实时流)是苹果公司提出的动态码率自适应技术,比如android系统和iOS系统都提供了HLS直播视频流播放的支持,但对于非HLS直播视频流,比如udp广播/组播视频流、HTTP视频流、RTP等视频流支持的设备和系统相对较少,即便是可以播放,可能会出现花屏/卡顿等问题,因此,android系统和iOS系统都未提供很好的支持。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种播放非HLS媒体文件的方法和装置,以至少解决android系统和iOS系统不支持非HLS媒体文件播放的技术问题。

根据本发明实施例的一个方面,提供了一种播放非HLS媒体文件的方法,应用于基于HLS协议的服务器,包括:接收播放客户端发送的用于获取非HLS媒体文件的文件请求消息;根据所述文件请求消息获取所述非HLS媒体文件;所述非HLS媒体文件进行切片转码处理,得到ts文件;根据所述ts文件生成所述非HLS媒体文件对应的m3u8文件,其中,所述m3u8文件包括所述非HLS媒体文件的统一资源定位符URL;将所述m3u8文件发送至所述播放客户端,以便所述播放客户端通过所述URL得到所述非HLS媒体文件的ts文件,并通过所述ts文件播放所述非HLS媒体文件。

可选地,所述对所述非HLS媒体文件进行切片转码处理,得到ts文件包括:将所述非HLS媒体文件切为2片切片文件,得到所述ts文件,其中,每片切片文件的时长为3秒。

可选地,所述对所述非HLS媒体文件进行切片转码处理,得到ts文件包括:将所述非HLS媒体文件的视频转码为h264格式,将所述非HLS媒体文件的音频转码为aac格式或者mp3格式。

根据本发明实施例的另一方面,还提供了一种播放非HLS媒体文件的方法,应用于基于HLS协议的播放客户端,包括:接收用户发送的用于播放非HLS媒体文件的播放请求消息;根据所述播放请求消息获取所述非HLS媒体文件对应的m3u8文件,其中,所述m3u8文件包括所述非HLS媒体文件的URL;通过所述URL得到所述非HLS媒体文件的ts文件;通过所述ts文件播放所述非HLS媒体文件。

可选地,在根据所述播放请求消息获取所述非HLS媒体文件对应的m3u8文件前,所述方法还包括:删除存储的历史m3u8文件和历史ts文件。

根据本发明实施例的另一方面,还提供了一种播放非HLS媒体文件的装置,应用于基于HLS协议的服务器,包括:第一接收单元,用于接收播放客户端发送的用于获取非HLS媒体文件的文件请求消息;第一获取单元,用于根据所述文件请求消息获取所述非HLS媒体文件;转码单元,用于对所述非HLS媒体文件进行切片转码处理,得到ts文件;生成单元,用于根据所述ts文件生成所述非HLS媒体文件对应的m3u8文件,其中,所述m3u8文件包括所述非HLS媒体文件的URL;发送单元,用于将所述m3u8文件发送至所述播放客户端,以便所述播放客户端通过所述URL得到所述非HLS媒体文件的ts文件,并通过所述ts文件播放所述非HLS媒体文件。

可选地,所述转码单元,具体用于将所述非HLS媒体文件切为2片切片文件,得到所述ts文件,其中,每片切片文件的时长为3秒。

可选地,所述转码单元,具体用于将所述非HLS媒体文件的视频转码为h264格式,将所述非HLS媒体文件的音频转码为aac格式或者mp3格式。

根据本发明实施例的另一方面,还提供了一种播放非HLS媒体文件的装置,应用于基于HLS协议的终端,包括:第二接收单元,用于接收用户发送的用于播放非HLS媒体文件的播放请求消息;第二获取单元,用于根据所述播放请求消息获取所述非HLS媒体文件对应的m3u8文件,其中,所述m3u8文件包括所述非HLS媒体文件的URL;处理单元,用于通过所述URL得到所述非HLS媒体文件的ts文件;播放单元,用于通过所述ts文件播放所述非HLS媒体文件。

可选地,所述装置还包括:删除单元,用于删除存储的历史m3u8文件和历史ts文件。

在本发明实施例中,接收播放客户端发送的用于获取非HLS媒体文件的文件请求消息;根据所述文件请求消息获取所述非HLS媒体文件;对所述非HLS媒体文件进行切片转码处理,得到ts文件;根据所述ts文件生成所述非HLS媒体文件对应的m3u8文件,其中,所述m3u8文件包括所述非HLS媒体文件的统一资源定位符URL;将所述m3u8文件发送至所述播放客户端,以便所述播放客户端通过所述URL得到所述非HLS媒体文件的ts文件,并通过所述ts文件播放所述非HLS媒体文件。从而解决了android系统和iOS系统不支持非HLS媒体文件播放的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种可选的播放非HLS媒体文件的方法示意图;

图2是根据本发明实施例的另一种可选的播放非HLS媒体文件的方法示意图;

图3是根据本发明实施例的一种可选的播放非HLS媒体文件的装置的结构示意图;

图4是根据本发明实施例的另一种可选的播放非HLS媒体文件的装置的结构示意图;

图5是根据本发明实施例的又一种可选的播放非HLS媒体文件的装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

根据本发明实施例,提供了一种播放非HLS媒体文件的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例的一种播放非HLS媒体文件的方法,如图1所示,应用于基于HLS协议的服务器,该方法包括如下步骤:

S101、接收播放客户端发送的用于获取非HLS媒体文件的文件请求消息。

S102、根据该文件请求消息获取该非HLS媒体文件。

S103、对该非HLS媒体文件进行切片转码处理,得到ts文件。

在本步骤中,将该非HLS媒体文件切为2片切片文件,得到该ts文件,其中,每片切片文件的时长为3秒。这样,播放时延为8秒左右。

可选地,由于HLS只支持h264视频以及aac或mp3的音频,因此,在本实施例另一种可能的实现方式中,可以将该非HLS媒体文件的视频转码为h264格式,将该非HLS媒体文件的音频转码为aac格式或者mp3格式。

需要说明的是,上述切片转码处理可以是在线程中进行,从而不影响界面操作和显示。

S104、根据该ts文件生成该非HLS媒体文件对应的m3u8文件。

其中,该m3u8文件包括该非HLS媒体文件的URL。

S105、将该m3u8文件发送至该播放客户端,以便该播放客户端通过该URL得到该非HLS媒体文件的ts文件,并通过该ts文件播放该非HLS媒体文件。

采用上述方法,使得android系统和iOS系统也能够播放非HLS媒体文件。

图2是根据本发明实施例的一种播放非HLS媒体文件的方法,如图2所示,应用于基于HLS协议的播放客户端,该方法包括如下步骤:

S201、接收用户发送的用于播放非HLS媒体文件的播放请求消息。

可选地,在本步骤之前,可以删除存储的历史m3u8文件和历史ts文件。

S202、根据该播放请求消息获取该非HLS媒体文件对应的m3u8文件。

其中,该m3u8文件包括该非HLS媒体文件的URL。

S203、通过该URL得到该非HLS媒体文件的ts文件。

S204、通过该ts文件播放该非HLS媒体文件。

需要说明的是,用户触发播放命令时服务器进行转码切片工作,待切完2片后通知播放客户端进行播放,播放客户端的播放地址为服务器提供的m3u8文件的URL。

另外,在接收到播放停止指令时,可以先停止播放客户端,再停止切片转码。

采用上述方法,使得android系统和iOS系统也能够播放非HLS媒体文件。

图3是根据本发明实施例的一种播放非HLS媒体文件的装置,如图3所示,应用于基于HLS协议的服务器,该装置包括:

第一接收单元301,用于接收播放客户端发送的用于获取非HLS媒体文件的文件请求消息;

第一获取单元302,用于根据该文件请求消息获取该非HLS媒体文件;

转码单元303,用于对该非HLS媒体文件进行切片转码处理,得到ts文件;

生成单元304,用于根据该ts文件生成该非HLS媒体文件对应的m3u8文件,其中,该m3u8文件包括该非HLS媒体文件的URL;

发送单元305,用于将该m3u8文件发送至该播放客户端,以便该播放客户端通过该URL得到该非HLS媒体文件的ts文件,并通过该ts文件播放该非HLS媒体文件。

可选地,该转码单元303,具体用于将该非HLS媒体文件切为2片切片文件,得到该ts文件,其中,每片切片文件的时长为3秒。

可选地,该转码单元303,具体用于将该非HLS媒体文件的视频转码为h264格式,将该非HLS媒体文件的音频转码为aac格式或者mp3格式。

采用上述装置,使得android系统和iOS系统也能够播放非HLS媒体文件。

图4是根据本发明实施例的一种播放非HLS媒体文件的装置,如图4所示,应用于基于HLS协议的播放客户端,该装置包括:

第二接收单元401,用于接收用户发送的用于播放非HLS媒体文件的播放请求消息;

第二获取单元402,用于根据该播放请求消息获取该非HLS媒体文件对应的m3u8文件,其中,该m3u8文件包括该非HLS媒体文件的URL;

处理单元403,用于通过该URL得到该非HLS媒体文件的ts文件;

播放单元404,用于通过该ts文件播放该非HLS媒体文件。

可选地,如图5所示,该装置还包括:

删除单元405,用于删除存储的历史m3u8文件和历史ts文件。

采用上述装置,使得android系统和iOS系统也能够播放非HLS媒体文件。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1