一种基于hadoop和Red5的视频点播系统的制作方法

文档序号:11436824阅读:991来源:国知局

【技术领域】

本发明涉及视频处理领域,尤其涉及一种基于hadoop和red5的视频点播系统。



背景技术:

hadoop是一个开源分布式计算平台,实现了一个分布式文件系统,即hadoop分布式文件系统hdfs。hadoop的分布式架构,将大数据处理引擎尽可能的靠近存储,对例如像etl这样的批处理操作相对合适,因为类似这样操作的批处理结果可以直接走向存储。hadoop的mapreduce功能实现了将单个任务打碎,并将碎片任务(map)发送到多个节点上,之后再以单个数据集的形式加载(reduce)到数据仓库里。hdfs具有高容量、高容错、高伸缩的优点,因此非常适合大量视频文件的存储。

red5是基于javaee平台的开源流媒体服务器框架,主要通信协议有rtmp、http等。主要功能包括:视频流媒体分发、音频流媒体分发、实时流媒体发布、以及录制客户端流媒体文件等。

文档在基于hadoop和red的基础上开发出来的系统架构,在hadoop和red5之间的通信技术进行了屏蔽,造成red5与hadoop分布式文件系统无法进行无缝对接的问题。



技术实现要素:

鉴于以上内容,有必要提供一种基于hadoop和red5的视频点播系统,可以使得red5与hadoop分布式文件系统可以进行无缝对接。

为实现上述目的,本发明采用的技术方案是:

一种基于hadoop和red5的视频点播系统,包括red5流媒体服务器和hadoop分布式存储系统;

所述hadoop分布式存储系统包括hdfs文件模块、操作模块和系统模块;所述red5流媒体服务器包括交互模块和fuse模块;

所述操作模块用于响应客户端的请求,当客户端请求播放视频文件时,首先对red5流媒体服务器的本地目录是否存在客户端请求的视频文件,如不存在则对hadoop分布式存储系统进行遍历检查是否存在客户端所请求的视频文件;

所述hdfs文件模块用于存储视频文件;

所述fuse模块用于将hdfs文件模块中的文件挂载到red5流媒体服务器中转换成流媒体文件;

所述交互模块用于将所述流媒体文件解密传输到客户端进行播放;

所述系统模块用于对用户组的存储业务、访问权限控制和身份认证机制进行管理。

进一步的,所述操作模块还用于接受客户端上传的文件请求,将所述客户端上传的文件存储到hadoop分布式存储系统中,

进一步的,所述操作模块还用于将客户端上传的文件存储到hadoop分布式存储系统成功后将真实路径进行加密变成密文地址返回客户端。

进一步的,所述hadoop分布式存储系统采用多线程方式工作。

进一步的,所述操作模块还用于在red5流媒体服务器的本地目录存在客户端请求的视频文件时,控制red5流媒体服务器将该视频文件传输给客户端。

进一步的,所述fuse模块还用于在确定hdfs文件模块不存在客户端请求视频时,向交互模块发送不存在该视频的消息,所述交互模块,还用于在接收到fuse模块发送不存在该视频的消息后将该消息发送给客户端

由于采用上述技术方案,本发明具有以下有益效果:

提供基于red5流媒体服务器集群的交互模块,交互模块用于客户端的视频密文地址与hadoop集群中存储的视频地址进行映射。提供基于hadoop的操作模块,用于检索,遍历hdfs文件系统,并对hdfs文件系统上的视频文件地址进行密文地址转换。由于密文地址为hadoop集群上的地址,且基于red5流媒体服务器只能推动本地文件系统的视频文件的特性,在本发明上的red5流媒体服务器集群将组装fuse,对远程hadoop集群hdfs文件系统进行挂载在red5流媒体服务器集群本地文件系统上,解决hadoop集群与red5流媒体服务器集群之间的通信问题。

【附图说明】

图1是本发明一较佳实施方式中基于hadoop和red5的视频点播系统结构框图。

【具体实施方式】

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

请参见附图,一种基于hadoop和red5的视频点播系统,包括red5流媒体服务器10和hadoop分布式存储系统20。hadoop分布式存储系统20包括hdfs文件模块201、操作模块和系统模块;所述red5流媒体服务器包括交互模块101和fuse模块102。操作模块201用于响应客户端的请求,当客户端请求播放视频文件时,首先对red5流媒体服务器10的本地目录是否存在客户端请求的视频文件,如不存在则对hadoop分布式存储系统20进行遍历检查是否存在客户端所请求的视频文件。hdfs文件模块201用于存储视频文件;fuse模块101用于将hdfs文件模块201中的文件挂载到red5流媒体服务器10中转换成流媒体文件。交互模块102用于将流媒体文件解密传输到客户端进行播放。系统模块203用于对用户组的存储业务、访问权限控制和身份认证机制进行管理。

进一步的,操作模块202还用于接受客户端上传的文件请求,将客户端上传的文件存储到hadoop分布式存储系统20中。操作模块202还用于将客户端上传的文件存储到hadoop分布式存储系统20成功后将真实路径进行加密变成密文地址返回客户端。操作模块202还用于在red5流媒体服务器10的本地目录存在客户端请求的视频文件时,控制red5流媒体服务器10将该视频文件传输给客户端。fuse模块101还用于在确定hdfs文件模块201不存在客户端请求视频时,向交互模块102发送不存在该视频的消息,交互模块102接收到fuse模块101发送不存在该视频的消息后将该消息发送给客户端。hadoop分布式存储系统20采用多线程方式工作。



技术特征:

技术总结
本发明涉及视频处理技术领域,尤其涉及一种基于hadoop和Red5的视频点播系统,包括red5流媒体服务器和hadoop分布式存储系统;所述hadoop分布式存储系统包括hdfs文件模块、操作模块和系统模块;所述red5流媒体服务器包括交互模块和Fuse模块;所述操作模块用于响应客户端的请求,所述hdfs文件模块用于存储视频文件;所述Fuse模块用于将hdfs文件模块中的文件挂载到red5流媒体服务器中转换成流媒体文件;所述交互模块用于将所述流媒体文件解密传输到客户端进行播放;所述系统模块用于对用户组进行管理。本发明解决hadoop集群与Red5流媒体服务器集群之间的通信问题。

技术研发人员:宋伟奇;伍轶明;练佳熠;禤鲜;封旭;黄超;韦艳红
受保护的技术使用者:柳州市盛景科技有限公司
技术研发日:2017.06.13
技术公布日:2017.08.29
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1