一种传输和播放音视频与消息的方法、服务器及终端的制作方法
【技术领域】
[0001]本发明实施例涉及通信技术领域,尤其涉及一种传输和播放音视频与消息的方法、服务器及终端。
【背景技术】
[0002]HLS(HTTP Live Streaming,超文本传输协议实时流)是苹果公司实现的基于HTTP的流媒体传输协议,可实现流媒体的直播和点播,主要为1S (Iphone Operat1n System,苹果操作系统)终端提供音视频直播和点播方案。
[0003]相对于常见的流媒体直播协议,基于HLS协议的直播技术最大的不同在于:直播客户端获取到的并不是一个完整的数据流。在HLS协议中,原本连续的媒体流会被切分为若干个TS (Transport Stream,传输流)切片文件,并相应生成一个M3U8索引文件(也即播放列表文件),这些TS切片文件和M3U8索引文件组成了 HLS媒体流,被存储在服务器。相应的,1S 终端(例如 IPhone、IpacU Itouch、Mac)先利用 HTTP (HyperText TransferProtocol,超文本传输协议)从服务器获取M3U8索引文件,之后根据得到的M3U8索引文件提供的资源地址信息,获取对应的TS切片文件进行播放,进而实现对流媒体的播放。
[0004]在实际应用当中,为满足用户特定需求,往往需要终端在播放媒体流中某部分切片时,同步地播放服务器下发的与该部分切片文件相关联的消息。但是,在现有技术中,由于消息在服务器与终端间的传输方式,有别于音视频流的传输方式,再加上受网络环境的影响,所以终端在播放切片文件时,并不一定接收到服务器下发的与该切片文件关联的消息,从而造成消息与其所关联的切片文件异步播放的现象时有发生,严重影响了用户的直播体验。
【发明内容】
[0005]本发明实施例提供一种传输和播放音视频与消息的方法、服务器及终端,以实现音视频与消息的同步传输,使得终端可以将消息与其所关联的音视频切片文件同步播放。
[0006]一方面,本发明实施例提供了一种方法,该方法应用于服务器,包括:
[0007]获取对当前音视频流进行切分得到的多个切片文件所对应的M3U8索引文件;
[0008]将用于描述所述切片文件所关联的消息的内容,添加至所述M3U8索引文件,以生成新的M3U8索引文件;
[0009]在接收到终端对所述当前音视频流的观看请求后,将所述新的M3U8索引文件下发给所述终端,以使所述终端在播放关联有消息的目标切片文件前,能够根据所述新的M3U8索引文件从所述服务器获取到所述目标切片文件关联的消息。
[0010]另一方面,本发明实施例还提供了一种播放音视频与消息的方法,该方法应用于终端,包括:
[0011]向服务器发起对音视频流的观看请求;
[0012]接收所述服务器根据所述观看请求返回的M3U8索引文件,其中所述M3U8索引文件包括:对所述音视频流进行切分得到的多个切片文件的时长信息和资源地址信息,以及,用于描述所述切片文件所关联的消息的内容;
[0013]根据所述M3U8索引文件,获取本次待播放的目标切片文件以及所述目标切片文件关联的消息;
[0014]将获取到的目标切片文件与消息同步播放。
[0015]再一方面,本发明实施例还提供了一种服务器,该服务器包括:
[0016]索引文件获取单元,用于获取对当前音视频流进行切分得到的多个切片文件所对应的M3U8索引文件;
[0017]索引文件更新单元,用于将用于描述所述切片文件所关联的消息的内容,添加至所述M3U8索引文件,以生成新的M3U8索引文件;
[0018]索引文件下发单元,用于在接收到终端对所述当前音视频流的观看请求后,将所述新的M3U8索引文件下发给所述终端,以使所述终端在播放关联有消息的目标切片文件前,能够根据所述新的M3U8索引文件从所述服务器获取到所述目标切片文件关联的消息。
[0019]再一方面,本发明实施例还提供了一种终端,该终端包括:
[0020]观看请求发起单元,用于向服务器发起对音视频流的观看请求;
[0021]索引文件接收单元,用于接收所述服务器根据所述观看请求返回的M3U8索引文件,其中所述M3U8索引文件包括:对所述音视频流进行切分得到的多个切片文件的时长信息和资源地址信息,以及,用于描述所述切片文件所关联的消息的内容;
[0022]文件及消息获取单元,用于根据所述M3U8索引文件,获取本次待播放的目标切片文件以及所述目标切片文件关联的消息;
[0023]文件及消息播放单元,用于将获取到的目标切片文件与消息同步播放。
[0024]本发明实施例提供的技术方案,对传统的HLS协议进行了改进,将消息添加至音视频流的M3U8索引文件中,使得服务器可以将消息与音视频流同步传输至终端,进而可以保证消息与其所关联的音视频切片文件的同步播放。
【附图说明】
[0025]图1是本发明实施例一提供的一种传输音视频与消息的方法流程示意图;
[0026]图2是本发明实施例二提供的一种播放音视频与消息的方法的流程示意图;
[0027]图3是本发明实施例三提供的一种服务器的结构示意图;
[0028]图4是本发明实施例四提供的一种终端的结构示意图;
[0029]图5是本发明实施例五提供的一种处理音视频与消息的方法的流程示意图;
[0030]图6是本发明实施例五提供的一种处理音视频与消息的方法所适用的网络架构示意图。
【具体实施方式】
[0031]下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0032]在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
[0033]实施例一
[0034]图1是本发明实施例一提供的一种传输音视频与消息的方法流程示意图。本实施例可适用于包含有终端和服务器的网络架构。其中,所述终端为具有音视频和消息播放需求的1S设备,例如为IPhone、Ipad、Itouch或者Mac,该设备通常被音视频观看方所持有;所述服务器是为终端提供音视频服务的物理设备。本实施例提供的方法可以由上述网络架构中的服务器来执行。参见图1,本实施例提供的传输音视频与消息的方法具体包括如下步骤 S110-S130。
[0035]步骤SI 10、获取对当前音视频流进行切分得到的多个切片文件所对应的M3U8索引文件。
[0036]其中,M3U8索引文件包括多个切片文件的信息(包括:时长信息和资源地址信息)。任意一个切片文件的时长信息,用于描述该切片文件在进行播放时的播放时长;资源地址信息用于描述该切片文件在服务器上的存放路径,通常为URL(Uniform ResourceLocator,统一资源定位符
)。在M3U8索引文件中,任意一个切片文件的时长信息被记录在“#EXTINF: ”标签与“逗号”之间的位置处,“逗号”后面为一换行符,之后紧跟切片文件的资源地址信息。
[0037]例如,一个基于HLS协议的音视频流的M3U8索引文件的部分内容可以描述为:
[0038]#EXTM3U
[0039]#EXT-X-MEDIA-SEQUENCE:6
[0040]#EXT-X-TARGETDURAT1N:10
[0041]#EXTINF:3.1,
[0042]http://live.example, com/1, ts
[0043]#EXTINF:4.2,
[0044]http://live.example, com/2, ts
[0045]#EXTINF:5,
[0046]http://live.example, com/3, ts
[0047]在该例子中,共包括三个切片文件的时长信息和资源地址信息。每个切片文件的信息均是以“#EXTINF:”标签作为开始标识符。这三个切片文件的时长信息分别为:3.1、4.2 和 5,资源地址信息分别为:http://live.example, com/1, ts、http://live.example.com/2, ts和 http://live.example, com/3, ts。
[0048]步骤S120、将用于描述切片文件所关联的消息的内容,添加至M3U8索引文件,以生成新的M3U8索引文件。
[0049]步骤S130、在接收到终端对当前音视频流的观看请求后,将新的M3U8索引文件下发给终端。
[0050]终端在播放关联有消息的目标切片文件前,能够根据新的M3U8索引文件从服务器获取到目标切片文件关联的消息。
[0051]为满足用户特定需求,通常会将当前音视频流中的部分或全部切片文件关联相应的消息。例如,为提升用户的观看体验,会对演讲现场进行录制得到的音视频流的一些切片文件,关联投票界面或者PPT格式的演讲稿等消息,以使得终端在播放切片文件的同时,同步播放给用户与该切片文件所关联的消息。然而,传统的HLS协议仅适用于M3U8索引文件与切片文件的传输,不支持其它任何类型的消息数据的传输。所以,现有技术的通常做法是采用其他传输方式,将与切片文件所关联的消息下发给终端。由于消息与音视频流的传输机制不同,所以极易导致如下现象的发生:终端在播放切片文件时,还未接收到服务器下发的与该切片文件关联的消息。
[0052]有鉴于此,本实施例对传统的HLS协议加以改进,以使得该协议在传输音视频流数据的同时,也在同步传输与音视频流关联的消息数据。具体的做法是,修改传统的音视频流的M3U8索引文件,在该M3U8索引文件中携带所关联的消息。
[0053]优选的,将用于描述切片文件所关联的消息的内容,添加至M3U8索引文件,以生成新的M3U8索引文件,包括:
[0054]将用于描述切片文件所关联的消息的内容,添加至M3U8索引文件的如下位置处:切片文件的时长信息后面,资源地址信息前面。
[0055]在本实施例中,用于描述切片文件所关联的消息的内容可以为消息本身,或者为用于识别消息存储位置的字符串。如果消息容量很大,则所述内容优选为用于识别消息存储位置的字符串。相反,如果消息容量较小,则所述内容优选为消息本身,因为这样可以使得终端在获取到经过添加操作后的M3U8索引文件时,直接得到消息,而不必通过标识符再访问服务器来获取消息。
[0056]具体的,对于M3U8索引文件中的一个切片文件的信息而言,可将用于描述该切片文件关联的消息的内容,添加在“#EXTINF:”标签之后的“逗号”后面的位置处,并以换行符作为该内容的结束标识符。这样,下一行位置对应的字符串便是该切片文件的资源地址信息。
[0057]例如,在原始的M3U8索引文件中,某个切片文件的信息为:
[0058]#EXTINF:3.1,
[0059]http://live.example, com/1, ts
[0060]如果该切片文件关联的消息为如下字符串:
[0061][{“json”: {“time”:44.65,“name,,:“flipover,,,“type,,:“event”,“parameters”:{“file,,:23 534.00,“page”: 1.00}},“time”: 4.1}]
[0062]则,生成的新的M3U8索引文件中,该切片文件的信息更新为:
[0063]#EXTINF: 3.1, [{“json”: {“time”: 44.65,“name,,:“flipover,,,“type,,:“event,,,“par ameters”: { “file”: 23534.00,“page”: 1.00}},“time”: 4.1}]
[0064]http://live.example, com/1, ts
[0065]上述优选示例提供的添加方式,其好处在于:无需对终端作较大改进,在终端在解析一个切片文件的信息时,只要读取该切片文件的时长信息后面与资源地址信息前面的字符串,便是用于描述该切片文件所关联的消息的内容;并且,即使并未对终端作相应改进,终端在解析新的M3U8索引文件时,也不会报错,只会获取并播放切片文件。
[0066]当然,本领域的普通技术人员应理解,还可通过其他添加方式,使M3U8索引文件携带所关联的消息。例如,将用于描述消息的内容添加在资源地址信息的后面,以换行符作为结束标识符,且消息与资源地址信息之间用预设的特定标识符(例如为逗号)隔开。终端在得到新的M3U8索引文件后,进行一个切片文件的信息解析时,只要识别出特定标识符,则读取该标识符后面换行符之前的字符串,便是用于描述该切片文件所关联的消息的内容。
[0067]或者,并不在M3U8索引文件的各个切片文件的信息中植入关联的消息,而是独立创建一个映射表,将该映射表以字符串的形式存储在M3U8索引文件中。该映射表用于描述各个切片文件的资源地址信息与用于描述各条消息的内容之间的关联关系。终端在得到新的M3U8索引文件后,通过读取映射表,获取与本次待播放的切片文件关联的消息。
[0068]本实施例提供的技术方案,对传统的HLS协议进行了改进,将消息添加至音视频流的M3U8索引文件中,使得服务器可以基于HTTP将消息与音视频流同步传输至终端,进而可以保证消息与其所关联的音视频切片文件的同步播放。
[0069]在上述技术方案的基础上,用于描述切片文件所关联的消息的内容为消息本身;消息为二进制形式的消息或者为包含有换行符的字符串形式的消息;
[0070]在将用于描述切片文件所关联的消息的内容,添加至M3U8索引文件之前,还包括:
[0071]采用预设的编码方式对消息进行编码,以将消息转换为不包含有换行符的字符串形式的消息。
[0072]优选的,预设的编码方式为base64编码。
[0073]实施例二
[0074]图2是本发明实施例二提供的一种播放音视频与消息的方法的流程示意图。该方法仍然可适用于包含有终端和服务器的网络架构。本实施例提供的方法的执行主体为终端,该方法可与上述实施例一提供的由服务器执行的传输音视频与消息的方法配合执行。参见图
2,本实施例提供的播放音视频与消息的方法具体包括如下步骤S210-S240。
[0075]步骤S210、向服务器发起对音视频流的观看请求。
[0076]步骤S220、接收服务器根据观看请求返回的M3U8索引文件。
[0077]其中,所述M3U8索引文件包括:对音视频流进行切分得到的多个切片文件的时长信息和资源地址信息,以及,用于描述切片文件所关联的消息的内容。所述内容为消息本身或者为用于识别消息存储位置的字符串。
[0078]步骤S230、根据M3U8索引文件,获取本次待播放的目标切片文件以及目标切片文件关联的消息。
[0079]步骤S240、将获取到的目标切片文件与消息同步播放。
[0080]优选的,用于描述切片文件所关联的消息的内容位于:切片文件的时长信息后面,资源地址信息前面;
[0081]根据M3U8索引文件,获取本次待播放的目标切片文件以及目标切片文件关联的消息,包括:
[0082]对M3U8索引文件进行解析,依次得到本次待播放的目标切片文件的时长信息、用于描述目标切片文件所关联的消息的内容、以及资源地址信息;
[0083]根据本次解析得到的资源地址信息,从服务器获取目标切片文件;
[0084]根据本次解析得到的所述内容,得到目标切片文件所关联的消息。
[0085]具体的,如果解析得到的内容为用于识别消息存储位置的字符串,则向服务器上报该字符串,以指示服务器根据该字符串查找预先存储的对应的消息,并下发给终端。
[0086]在本实施例中,对用于描述切片文件所关联的消息的内容的添加方式,是服务器和终端预先约定好的。终端在对M3U8索引文件进行解析时,只要按照预先约定好的添加方式,读取相应添加位置处的用于描述切片文件所关联的消息的内容即可。
[0087]本实施例提供的技术方案,对传统的HLS协议进行了改进,将消息添加至音视频流的M3U8索引文件中,使得终端可以同步接收到消息与音视频流,进而可以保证消息与其所关联的音视频切片文件的同步播放。
[0088]实施例三
[0089]图3是本发明实施例三提供的一种服务器的结构示意图。参见图3,该服务器的具体结构包括:
[0090]索引文件获取单元310,用于获取对当前音视频流进行切分得到的多个切片文件所对应的M3U8索引文件;
[0091]索引文件更新单元320,用于将用于描述所述切片文件所关联的消息的内容,添加至所述M3U8索引文件,以生成新的M3U8索引文件;
[0092]索引文件下发单元330,用于在接收到终端对所述当前音视频流的观看请求后,将所述新的M3U8索引文件下发给所述终端,以使所述终端在播放关联有消息的目标切片文件前,能够根据所述新的M3U8索引文件从所述服务器获取到所述目标切片文件关联的消息。
[0093]示例性的,所述索引文件更新单元320,具体用于:
[0094]将用于描述所述切片文件所关联的消息的内容,添加至所述M3U8索引文件的如下位置处:所述切片文件的时长信息后面,资源地址信息前面。
[0095]示例性的,所述内容为所述消息本身或者为用于识别所述消息存储位置的字符串O
[0096]示例性的,所述内容为所述消息本身;所述消息为二进制形式的消息或者为包含有换行符的字符串形式的消息;
[0097]所述服务器还包括:
[0098]消息转换单元300,用于在所述索引文件更新单元320将用于描述所述切片文件所关联的消息的内容,添加至所述M3U8索引文件之前,采用预设的编码方式对所述消息进行编码,以将所述消息转换为不包含有换行符的字符串形式的消息。
[0099]上述产品可执行本发明任意实施例所提供的由服务器执行的播放音视频与消息的方法,具备执行方法相应的功能模块和有益效果。
[0100]实施例四
[0101]图4是本发明实施例四提供的一种终端的结构示意图。参见图4,该终端的具体结构包括:
[0102]观看请求发起单元410,用于向服务器发起对音视频流的观看请求;
[0103]索引文件接收单元420,用于接收所述服务器根据所述观看请求返回的M3U8索弓I文件,其中所述M3U8索引文件包括:对所述音视频流进行切分得到的多个切片文件的时长信息和资源地址信息,以及,用于描述所述切片文件所关联的消息的内容;
[0104]文件及消息获取单元430,用于根据所述M3U8索引文件,获取本次待播放的目标切片文件以及所述目标切片文件关联的消息;
[0105]文件及消息播放单元440,用于将获取到的目标切片文件与消息同步播放。
[0106]示例性的,用于描述所述切片文件所关联的消息的内容位于:所述切片文件的时长信息后面,资源地址信息前面;
[0107]所述文件及消息获取单元430,具体用于:
[0108]对所述M3U8索引文件进行解析,依次得到本次待播放的目标切片文件的时长信息、用于描述所述目标切片文件所关联的消息的内容、以及资源地址信息;
[0109]根据本次解析得到的所述资源地址信息,从所述服务器获取所述目标切片文件;
[0110]根据本次解析得到的所述内容,得到所述目标切片文件所关联的消息。
[0111]上述产品可执行本发明任意实施例所提供的由终端执行的播放音视频与消息的方法,具备执行方法相应的功能模块和有益效果。
[0112]实施例五
[0113]图5是本发明实施例五提供的一种处理音视频与消息的方法的流程示意图。本实施例可以以上述所有实施例为基础,提供了一种优选实例。该实施例可适用于如图6所示的网络架构中。参见图6,该网络架构包括:采集音视频流和消息的摄像机601,编码切割装置602,服务器603,台式电脑604或者智能手机605等1S终端。1S终端与服务器603之间基于HTTP进行数据通信。
[0114]参见图5,本实施例提供的处理音视频与消息的方法,具体包括如下步骤:
[0115]步骤S510、摄像机将采集到的音视频流传送至编码切割装置。
[0116]步骤S520、编码切割装置对接收到的音视频流进行加工处理,以得到多个切片文件以及相应的M3U8索引文件。
[0117]其中,加工处理过程,具体包括:对接收到的音视频流进行编码和封装,生成TS文件,并采用切片工具将TS文件切割成多个连续的、固定长度的TS小文件(也即切片文件),同时生成与多个切片文件相对应的M3U8索引文件。
[0118]步骤S530、编码切割装置获取与切片文件所关联的消息,并将该消息与多个切片文件以及相应的M3U8索引文件传输至服务器进行存储。
[0119]步骤S540、对于关联有消息的切片文件,服务器将该切片文件所关联的消息添加至M3U8索引文件,以生成新的M3U8索引文件。
[0120]其中,任意切片文件所关联的消息在M3U8索引文件中的添加位置,为:该切片文件所对应的“#EXTINF: ”标签之后的“逗号”后面的位置处,并以换行符作为该消息的结束标识符。
[0121]在本实施例中,如果消息为二进制形式的消息或者为包含有换行符的字符串形式的消息;
[0122]在将用于描述切片文件所关联的消息,添加至M3U8索引文件之前,还包括:
[0123]服务器采用预设
的编码方式对该消息进行编码,以将该消息转换为不包含有换行符的字符串形式的消息。
[0124]步骤S550、1S终端向服务器发起对所述音视频流的观看请求。
[0125]步骤S560、服务器下发所述新的M3U8索引文件给1S终端。
[0126]步骤S570、1S终端对所述新的M3U8索引文件进行解析,依次得到本次待播放的目标切片文件的时长信息、所关联的消息以及资源地址信息。
[0127]步骤S580、1S终端根据解析得到的资源地址信息,从服务器获取目标切片文件。
[0128]步骤590、1S终端将获取到的目标切片文件与解析得到的消息同步播放。
[0129]采用本实施例提供的技术方案,使得HLS协议可以在传输音视频流数据的同时,也在同步传输音视频流所关联的消息数据,从而使得终端可以将消息与其所关联的音视频切片文件同步播放。
[0130]注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
【主权项】
1.一种传输音视频与消息的方法,应用于服务器,其特征在于,包括: 获取对当前音视频流进行切分得到的多个切片文件所对应的M3U8索引文件; 将用于描述所述切片文件所关联的消息的内容,添加至所述M3U8索引文件,以生成新的M3U8索引文件; 在接收到终端对所述当前音视频流的观看请求后,将所述新的M3U8索引文件下发给所述终端,以使所述终端在播放关联有消息的目标切片文件前,能够根据所述新的M3U8索引文件从所述服务器获取到所述目标切片文件关联的消息。2.根据权利要求1所述的方法,其特征在于,将用于描述所述切片文件所关联的消息的内容,添加至所述M3U8索引文件,以生成新的M3U8索引文件,包括: 将用于描述所述切片文件所关联的消息的内容,添加至所述M3U8索引文件的如下位置处:所述切片文件的时长信息后面,资源地址信息前面。3.根据权利要求1或2所述的方法,其特征在于,所述内容为所述消息本身或者为用于识别所述消息存储位置的字符串。4.根据权利要求3所述的方法,其特征在于,所述内容为所述消息本身;所述消息为二进制形式的消息或者为包含有换行符的字符串形式的消息; 在将用于描述所述切片文件所关联的消息的内容,添加至所述M3U8索引文件之前,还包括: 采用预设的编码方式对所述消息进行编码,以将所述消息转换为不包含有换行符的字符串形式的消息。5.一种播放音视频与消息的方法,应用于终端,其特征在于,包括: 向服务器发起对音视频流的观看请求; 接收所述服务器根据所述观看请求返回的M3U8索引文件,其中所述M3U8索引文件包括:对所述音视频流进行切分得到的多个切片文件的时长信息和资源地址信息,以及,用于描述所述切片文件所关联的消息的内容; 根据所述M3U8索引文件,获取本次待播放的目标切片文件以及所述目标切片文件关联的消息; 将获取到的目标切片文件与消息同步播放。6.根据权利要求5所述的方法,其特征在于,用于描述所述切片文件所关联的消息的内容位于:所述切片文件的时长信息后面,资源地址信息前面; 根据所述M3U8索引文件,获取本次待播放的目标切片文件以及所述目标切片文件关联的消息,包括: 对所述M3U8索引文件进行解析,依次得到本次待播放的目标切片文件的时长信息、用于描述所述目标切片文件所关联的消息的内容、以及资源地址信息; 根据本次解析得到的所述资源地址信息,从所述服务器获取所述目标切片文件; 根据本次解析得到的所述内容,得到所述目标切片文件所关联的消息。7.一种服务器,其特征在于,包括: 索引文件获取单元,用于获取对当前音视频流进行切分得到的多个切片文件所对应的M3U8索引文件; 索引文件更新单元,用于将用于描述所述切片文件所关联的消息的内容,添加至所述M3U8索引文件,以生成新的M3U8索引文件; 索引文件下发单元,用于在接收到终端对所述当前音视频流的观看请求后,将所述新的M3U8索引文件下发给所述终端,以使所述终端在播放关联有消息的目标切片文件前,能够根据所述新的M3U8索引文件从所述服务器获取到所述目标切片文件关联的消息。8.根据权利要求7所述的服务器,其特征在于,所述索引文件更新单元,具体用于: 将用于描述所述切片文件所关联的消息的内容,添加至所述M3U8索引文件的如下位置处:所述切片文件的时长信息后面,资源地址信息前面。9.根据权利要求7或8所述的服务器,其特征在于,所述内容为所述消息本身或者为用于识别所述消息存储位置的字符串。10.根据权利要求9所述的服务器,其特征在于,所述内容为所述消息本身;所述消息为二进制形式的消息或者为包含有换行符的字符串形式的消息; 所述服务器还包括: 消息转换单元,用于在所述索引文件更新单元将用于描述所述切片文件所关联的消息的内容,添加至所述M3U8索引文件之前,采用预设的编码方式对所述消息进行编码,以将所述消息转换为不包含有换行符的字符串形式的消息。11.一种终端,其特征在于,包括: 观看请求发起单元,用于向服务器发起对音视频流的观看请求; 索引文件接收单元,用于接收所述服务器根据所述观看请求返回的M3U8索引文件,其中所述M3U8索引文件包括:对所述音视频流进行切分得到的多个切片文件的时长信息和资源地址信息,以及,用于描述所述切片文件所关联的消息的内容; 文件及消息获取单元,用于根据所述M3U8索引文件,获取本次待播放的目标切片文件以及所述目标切片文件关联的消息; 文件及消息播放单元,用于将获取到的目标切片文件与消息同步播放。12.根据权利要求11所述的终端,其特征在于,用于描述所述切片文件所关联的消息的内容位于:所述切片文件的时长信息后面,资源地址信息前面; 所述文件及消息获取单元,具体用于: 对所述M3U8索引文件进行解析,依次得到本次待播放的目标切片文件的时长信息、用于描述所述目标切片文件所关联的消息的内容、以及资源地址信息; 根据本次解析得到的所述资源地址信息,从所述服务器获取所述目标切片文件; 根据本次解析得到的所述内容,得到所述目标切片文件所关联的消息。
【专利摘要】本发明实施例公开了一种传输和播放音视频与消息的方法、服务器及终端。其中,传输音视频与消息的方法包括:获取对当前音视频流进行切分得到的多个切片文件所对应的M3U8索引文件;将用于描述所述切片文件所关联的消息的内容,添加至M3U8索引文件,以生成新的M3U8索引文件;在接收到终端对所述当前音视频流的观看请求后,将新的M3U8索引文件下发给终端,以使终端在播放关联有消息的目标切片文件前,能够根据新的M3U8索引文件从所述服务器获取到目标切片文件关联的消息。本发明实施例提供的技术方案,能够实现音视频与消息的同步传输,使得终端可以将消息与其所关联的音视频切片文件同步播放。
【IPC分类】H04N21/858, H04N21/845
【公开号】CN104902343
【申请号】CN201510276406
【发明人】刘芼东
【申请人】北京微吼时代科技有限公司
【公开日】2015年9月9日
【申请日】2015年5月26日