一种直播视频数据处理方法、装置及系统的制作方法

文档序号:9551798阅读:370来源:国知局
一种直播视频数据处理方法、装置及系统的制作方法
【技术领域】
[0001]本申请涉及互联网流媒体直播领域,特别涉及一种直播视频数据处理方法、装置及系统。
【背景技术】
[0002]随着21世纪计算机领域相关技术的飞速发展,音视频编解码技术的提高,宽带网络的普及以及其成本不断降低,3G、4G等技术的成熟及无线宽带网络接入能力的不断提升,促使越来越多的用户喜欢在互联网上收看直播节目。
[0003]针对用户在互联网上收看直播节目的需求,微软提供了基于HLS(HTTP LiveStreaming)协议的直播方案,具体为将分段的TS (Transport Stream)文件是存储在磁盘上,服务器在响应用户请求时,需要从磁盘上读取分段的TS文件到内存中,然后再发送到用户请求对应的播放设备。此直播方案浪费了磁盘空间,而且由于增大了磁盘的读写开销,使响应用户请求的效率也随之下降,导致用户体验性差。

【发明内容】

[0004]为解决上述技术问题,本申请实施例提供一种直播视频数据处理方法、装置及系统,以达到节约磁盘空间,提高响应用户请求的效率,改善用户体验性的目的,技术方案如下:
[0005]一种直播视频数据处理方法,包括:
[0006]服务器中基于Linux平台的超文本传输协议HTTP服务器响应客户端发送的携带有视频码率和直播节目源的第一直播请求,向所述客户端发送与所述视频码率和所述直播节目源对应的m3u8文件;以及,
[0007]响应客户端发送的携带有从所述m3u8文件中获取到的视频索引名称的第二直播请求,从预设哈希表中获取与所述视频索引名称对应的TS片段的内存地址;以及,
[0008]从所述TS片段的内存地址对应的内存中获取TS片段;以及,
[0009]向发送所述第二直播请求的客户端发送所述TS片段。
[0010]优选的,所述TS片段的生成过程包括:
[0011 ] 所述HTTP服务器的Apache模块接收平滑流Smooth Streaming流;以及,
[0012]从所述Smooth Streaming流中获取公用音频流和多个视频流,其中所述公用音频流包括音频类型的多个连续的ISMV片段,各个视频流各自对应不同的分辨率和码率,每个视频流包括视频类型的多个ISMV片段,同一个视频流包括的各个ISMV片段的分辨率相同且码率相同;以及,
[0013]将音频类型的每个ISMV片段分别和与所述音频类型的ISMV片段时间戳相对应的视频类型的各个ISMV片段重新打包为TS片段。
[0014]优选的,所述Smooth Streaming流的生成过程,包括:
[0015]所述服务器的编码器按照Smooth Streaming协议,对原始媒体数据进行多码率编码,得到 Smooth Streaming 流。
[0016]优选的,所述原始媒体数据由所述服务器的信号采集卡通过高清晰度多媒体接口HDMI接口采集。
[0017]优选的,所述服务器的编码器按照Smooth Streaming协议,对原始媒体数据进行多码率编码的过程包括:
[0018]所述服务器的Windows Media Encoder SDK 编码器按照 Smooth Streaming 协议,对原始媒体数据进行多码率编码。
[0019]一种直播视频数据处理装置,包括:
[0020]第一发送模块,用于响应客户端发送的携带有视频码率和直播节目源的第一直播请求,向所述客户端发送与所述视频码率和所述直播节目源对应的m3u8文件;
[0021]第一获取模块,用于响应客户端发送的携带有从所述m3u8文件中获取到的视频索引名称的第二直播请求,从预设哈希表中获取与所述视频索引名称对应的TS片段的内存地址;
[0022]第二获取模块,用于从所述TS片段的内存地址对应的内存中获取TS片段;
[0023]第二发送模块,用于向发送所述第二直播请求的客户端发送所述TS片段。
[0024]优选的,还包括:Apache模块,其中所述Apache模块包括:
[0025]接收单元,用于接收Smooth Streaming流;
[0026]获取单元,用于从所述Smooth Streaming流中获取公用音频流和多个视频流,其中所述公用音频流包括音频类型的多个连续的ISMV片段,各个视频流各自对应不同的分辨率和码率,每个视频流包括视频类型的多个ISMV片段,同一个视频流包括的各个ISMV片段的分辨率相同且码率相同;
[0027]打包单元,用于将音频类型的每个ISMV片段分别和与所述音频类型的ISMV片段时间戳相对应的视频类型的各个ISMV片段重新打包为TS片段。
[0028]一种直播视频数据处理系统,包括所述直播视频数据处理装置和编码装置,其中:
[0029]所述编码装置,用于按照Smooth Streaming协议,对原始媒体数据进行多码率编码,得到 Smooth Streaming 流。
[0030]优选的,还包括:
[0031]信号采集装置,用于通过HDMI接口采集所述原始媒体数据。
[0032]优选的,所述编码装置包括:Windows Media Encoder SDK编码装置。
[0033]与现有技术相比,本申请的有益效果为:
[0034]在本申请中,将TS片段直接存储在内存中,不再占用磁盘空间,节约了磁盘空间。由于客户端在发送直播请求后,基于Linux平台的HTTP服务器通过从预设哈希表中获取对应的TS片段的内存地址,从所述TS片段的内存地址对应的内存中获取TS片段,可见,无需再从磁盘空间中读取TS片段,避免了磁盘的读写开销,提高了响应用户请求的效率,改善了 +用户体验性。
【附图说明】
[0035]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0036]图1是本申请提供的一种直播视频数据处理方法的一种流程图;
[0037]图2是本申请提供的直播视频数据处理方法的一种子流程图;
[0038]图3是本申请提供的直播视频数据处理方法的另一种流程图;
[0039]图4是本申请提供的直播视频数据处理装置的一种结构示意图;
[0040]图5是本申请提供的直播视频数据处理装置的另一种结构示意图;
[0041]图6是本申请提供的Apache模块的一种结构示意图;
[0042]图7是本申请提供的直播视频数据处理系统的一种结构示意图;
[0043]图8是本申请提供的直播视频数据处理系统的另一种结构示意图。
【具体实施方式】
[0044]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0045]实施例一
[0046]请参见图1,其示出了本申请提供的一种直播视频数据处理方法的一种流程图,需要说明的是,本申请提供的直播视频数据处理方法基于HLS协议,可以包括以下步骤:
[0047]步骤S11:服务器中基于Linux平台的HTTP(超文本传输协议,HTTP-Hypertexttransfer protocol)服务器响应客户端发送携带有视频码率和直播节目源的第一直播请求,向所述客户端发送与所述视频码率和所述直播节目源对应的m3u8文件。
[0048]客户端在接收到用户输入的观看直播节目的命令后,向基于Linux平台的HTTP服务器发送用户所指定的直播节目源对应的第一直播请求,基于Linux平台的HTTP服务器根据客户端发送的携带有视频码率和直播节目源的第一直播请求,确定客户端所请求的直播节目源及客户端所要求的视频码率,获取客户端所请求的直播节目源和视频码率对应的m3u8文件,并向所述客户端发送与所述第一直播请求对应的m3u8文件。
[0049]需要说明的是,一个直播节目源对应有多个m3u8文件,每个m3u8文件记录有TS片段和TS片段对应的视频索引名称。各个m3u8文件对应的视频码率各不相同即各个m3u8文件记录的TS片段的视频码率各不相同,但是同一个m3u8文件中的TS片段的视频码率相同。
[0050]当然,基于Linux平台的HTTP服务器维护多个直播节目源的直播过程,在每个直播节目源的直播过程中,不断更新相应直播节目源对应的TS片段和m3u8文件。
[0051]在本申请中,直播节目源对应的TS片段存储在基于Linux平台的HTTP服务器的内存中。
[0052]步骤S12:基于Linux平台的HTTP服务器响应客户端发送的携带有从所述m3u8文件中获取到的视频索引名称的第二直播请求,从预设哈希表中获取与所述视频索引名称对应的TS片段的内存地址。
[0053]在本实施例中,预设哈希表的每个表项记录的是视频索引名称和视频索引名称对应的TS片段的内存地址。各个表项记录的内容各不相同。预设哈希表的表项记录的视频索引名称从m3u8文件中获取,预设哈希表中的视频索引名称和视频索引名称对应的TS片段根据m3u8文件确定。
[0054]由于基于Linux平台的HTTP服务器在直播节目源的直播过程中,不断更新相应直播节目源对应的TS片段和m3u8文件,因此预设哈希表中的表项也随更新的TS片段和m3u8文件而更新。
[0055]步骤S13:
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1