CN105187855A - 基于Hadoop和Red5的视频点播系统及方法 - Google Patents
基于Hadoop和Red5的视频点播系统及方法 Download PDFInfo
- Publication number
- CN105187855A CN105187855A CN201510412860.0A CN201510412860A CN105187855A CN 105187855 A CN105187855 A CN 105187855A CN 201510412860 A CN201510412860 A CN 201510412860A CN 105187855 A CN105187855 A CN 105187855A
- Authority
- CN
- China
- Prior art keywords
- video
- file
- client
- video file
- red5
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000004044 response Effects 0.000 claims abstract description 35
- 230000003993 interaction Effects 0.000 claims description 58
- 238000012545 processing Methods 0.000 claims description 24
- 230000002452 interceptive effect Effects 0.000 claims description 15
- 238000004458 analytical method Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 6
- 238000003860 storage Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
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/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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
-
- 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/8547—Content authoring involving timestamps for synchronizing content
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提供了一种基于Hadoop和Red5的视频点播系统及方法,方法包括Red5对客户端视频点播请求进行分析得到客户端点播的视频文件名,并判断该视频文件在Red5的本地文件目录下是否存在,若不存在,则向Hadoop分布式文件系统HDFS发送第一请求消息;HDFS在接收到第一请求消息之后,判断HDFS中是否存在客户端点播的视频文件,若存在则向Red5发送包含该视频文件的长度和视频文件的第一应答消息;Red5在接收到第一应答消息之后获取第一应答消息中的视频文件的长度和视频文件信息,并将该信息推送给客户端播放器。本发明能够实现Red5正常推送HDFS中存储的视频文件的功能。
Description
技术领域
本发明涉及视频处理领域,具体涉及一种基于Hadoop和Red5的视频点播系统及方法。
背景技术
随着视频编码技术和网络技术的快速发展,视频监控已经成为生产、生活中的重要组成部分。当前我国的视频监视系统经过第一代以VCR(VideoCassetteRecorders)为代表的传统CCTV(ClosedCircuitTelevision)监控系统,到第二代以DVR(DigitalVideoRecorder)为代表的数模混合系统,并进一步发展为以NVR为核心的第三代网络视频监控系统,现在第四代视频监控系统(智能高清视频监控系统)也迅速发展起来。
然而,当前的视频监控系统存储存在以下几个方面的问题:第一个问题是NVR端存储容量有限,无法应对大量高清视频的长期存储。第二个问题是视频数据是以明文的方式进行传输的,在开放网络环境中很容易遭受人为的攻击,比如数据拦截、信息窃取、数据篡改和数据删除等。针对上述两个问题,在解决存储容量有限方面,基于Hadoop平台的视频存储机制解决了海量视频数据的存储问题,该方案具有良好的扩展性、稳定性。对于第二问题,在存储、传输的过程中均采用密文视频的方式,可以有效的防止视频内容被窃取、被篡改。
Hadoop是一个开源分布式计算平台,实现了一个分布式文件系统,即Hadoop分布式文件系统HDFS。HDFS具有高容量、高容错、高伸缩的优点,因此非常适合大量视频文件的存储。HDFS的体系结构如图1所示。从图中可以看出,HDFS主要采用了主从架构,由NameNode节点和DataNode节点组成。其中,NameNode节点负责管理文件系统命名空间和控制客户端对文件的访问。DataNode的主要功能是负责相应来自Hadoop客户端的读写请求。
Red5是基于JavaEE平台的开源流媒体服务器框架,主要通信协议有RTMP、HTTP等。主要功能包括:视频流媒体分发、音频流媒体分发、实时流媒体发布、以及录制客户端流媒体文件等。Red5流媒体服务器以Jettyservlet引擎为基础,采用SpringFramework作为主要的产品框架,同时以MINA(MultipurposeInfrastructureforNetworkApplications)作为支撑网络通讯模块框架。
由于Red5流媒体服务器只能推送本地文件系统的视频文件,无法推送Hadoop中的视频文件,因此需要解决Red5与Hadoop分布式文件系统的无缝对接问题。
发明内容
针对现有技术中的缺陷,本发明提供一种基于Hadoop和Red5的视频点播系统及方法,能够实现Red5正常推送HDFS中存储的视频文件的功能。
为解决上述技术问题,本发明提供以下技术方案:
第一方面,本发明提供了一种基于Hadoop和Red5的视频点播系统,包括:Hadoop分布式文件系统和Red5流媒体服务器;
所述Hadoop分布式文件系统包括第一交互模块;
所述Red5流媒体服务器包括第二交互模块和客户请求处理模块;
所述客户请求处理模块,用于对客户端的视频点播请求进行处理分析,得到客户端点播的视频文件名,并判断该视频文件在Red5流媒体服务器的本地文件目录下是否存在,若不存在,则向所述第二交互模块发送第一请求消息,所述第一请求消息中包括所述客户端点播的视频文件名;
所述第二交互模块,用于在接收到所述第一请求消息之后,将所述第一请求消息转发给所述第一交互模块;
所述第一交互模块,用于在接收到所述第二交互模块发送的第一请求消息之后,根据所述第一请求消息判断所述Hadoop分布式文件系统中是否存在客户端点播的视频文件;若存在,则向所述第二交互模块发送包含该视频文件的长度和视频文件的第一应答消息;
所述第二交互模块,还用于在接收到所述第一交互模块发送的第一应答消息之后,获取第一应答消息中的视频文件的长度和视频文件信息,并将获取的信息发送给所述客户请求处理模块;
所述客户请求处理模块,还用于在接收到所述第二交互模块发送的视频文件的长度和视频文件信息之后,将所述视频文件的长度和视频文件信息推送给客户端播放器。
进一步地,所述Hadoop分布式文件系统还包括FLV视频关键帧信息分析模块;所述FLV视频关键帧信息分析模块用于调用预先存储的FLV文件分析程序,生成meta文件;
所述第一交互模块还用于在确定所述Hadoop分布式文件系统中存在客户端点播的视频文件之后,判断该视频基于关键帧信息的meta文件是否存在,若不存在,则调用所述FLV视频关键帧信息分析模块生成该视频文件的meta文件,并向所述第二交互模块发送包含该视频文件的长度、meta文件和视频文件的第二应答消息。
进一步地,所述第一交互模块还用于在确定所述Hadoop分布式文件系统中不存在客户端点播的视频文件之后,向所述第二交互模块发送该视频文件不存在的第三应答消息;
所述第二交互模块,还用于在接收到所述第一交互模块发送的第三应答消息之后,向所述客户请求处理模块发送该视频不存在的消息;
所述客户请求处理模块在收到所述第二交互模块发送的该视频不存在的消息之后,将该视频不存在的消息推送给客户端播放器。
进一步地,所述客户请求处理模块,还用于在确定所述Red5流媒体服务器的本地文件目录下存在所述客户端点播的视频文件时,将该视频文件推送给客户端播放器。
进一步地,所述第一交互模块采用多线程方式工作。
第二方面,本发明还提供了一种基于Hadoop和Red5的视频点播方法,包括:
Red5流媒体服务器对客户端的视频点播请求进行处理分析,得到客户端点播的视频文件名,并判断该视频文件在Red5流媒体服务器的本地文件目录下是否存在,若不存在,则向Hadoop分布式文件系统发送第一请求消息,所述第一请求消息中包括所述客户端点播的视频文件名;
所述Hadoop分布式文件系统在接收到所述第一请求消息之后,根据所述第一请求消息判断所述Hadoop分布式文件系统中是否存在客户端点播的视频文件,若存在,则向所述Red5流媒体服务器发送包含该视频文件的长度和视频文件的第一应答消息;
所述Red5流媒体服务器在接收到所述第一应答消息之后,获取第一应答消息中的视频文件的长度和视频文件信息,并将所述视频文件的长度和视频文件信息推送给客户端播放器。
进一步地,所述基于Hadoop和Red5的视频点播方法还包括:
所述Hadoop分布式文件系统在确定Hadoop分布式文件系统中存在客户端点播的视频文件之后,判断所述Hadoop分布式文件系统中该视频基于关键帧信息的meta文件是否存在,若不存在,则调用预先存储的FLV文件分析程序,生成meta文件,并向所述Red5流媒体服务器发送包含该视频文件的长度、meta文件和视频文件的第二应答消息。
进一步地,所述基于Hadoop和Red5的视频点播方法还包括:
所述Hadoop分布式文件系统在确定Hadoop分布式文件系统中不存在客户端点播的视频文件之后,将该视频不存在的消息发送给所述Red5流媒体服务器,所述Red5流媒体服务器将该视频不存在的消息推送给客户端播放器。
进一步地,所述基于Hadoop和Red5的视频点播方法还包括:
若客户端点播的视频文件在所述Red5流媒体服务器的本地文件目录下存在,则所述Red5流媒体服务器将该视频文件推送给客户端播放器。
进一步地,所述Hadoop分布式文件系统采用多线程方式工作
由上述技术方案可知,本发明所述的基于Hadoop和Red5的视频点播系统,基于Red5流媒体服务器设计了与HDFS交互的第二交互模块,同时基于HDFS设计了与Red5流媒体服务器交互的第一交互模块。通过第一交互模块和第二交互模块,使得Red5流媒体服务器与HDFS可以进行无缝对接,从而实现Red5流媒体服务器可以正常推送HDFS中存储的视频的功能,解决了现有Red5流媒体服务器只能推送本地视频文件的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一个实施例提供的基于Hadoop和Red5的视频点播系统的结构示意图;
图2是本发明第二个实施例提供的基于Hadoop和Red5的视频点播方法的流程图;
图3是本发明第三个实施例提供的基于Hadoop和Red5的视频点播方法的流程图;
图4是本发明第四个实施例提供的基于Hadoop和Red5的视频点播方法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了本发明第一个实施例提供的基于Hadoop和Red5的视频点播系统的结构示意图,参见图1,该系统包括:Hadoop分布式文件系统100和Red5流媒体服务器200;
所述Hadoop分布式文件系统100包括第一交互模块101;
所述Red5流媒体服务器200包括第二交互模块201和客户请求处理模块202;
所述客户请求处理模块202,用于对客户端的视频点播请求进行处理分析,得到客户端点播的视频文件名,并判断该视频文件在Red5流媒体服务器200的本地文件目录下是否存在,若不存在,则向所述第二交互模块201发送第一请求消息,所述第一请求消息中包括所述客户端点播的视频文件名;
所述第二交互模块201,用于在接收到所述第一请求消息之后,将所述第一请求消息转发给所述第一交互模块101;
所述第一交互模块101,用于在接收到所述第二交互模块201发送的第一请求消息之后,根据所述第一请求消息判断所述Hadoop分布式文件系统100中是否存在客户端点播的视频文件;若存在,则向所述第二交互模块201发送包含该视频文件的长度和视频文件的第一应答消息;
所述第二交互模块201,还用于在接收到所述第一交互模块101发送的第一应答消息之后,获取第一应答消息中的视频文件的长度和视频文件信息,并将获取的信息发送给所述客户请求处理模块202;
所述客户请求处理模块202,还用于在接收到所述第二交互模块201发送的视频文件的长度和视频文件信息之后,将所述视频文件的长度和视频文件信息推送给客户端播放器。
其中,客户请求处理模块202采用RTMP流媒体协议对Hadoop分布式文件系统中的存储的视频进行传输。
本实施例所述的基于Hadoop和Red5的视频点播系统,基于Red5流媒体服务器设计了与Hadoop分布式文件系统HDFS交互的第二交互模块,同时基于HDFS设计了与Red5流媒体服务器交互的第一交互模块。通过第一交互模块和第二交互模块,使得Red5流媒体服务器与HDFS可以进行无缝对接,从而实现Red5流媒体服务器可以正常推送HDFS中存储的视频的功能,解决了现有Red5流媒体服务器只能推送本地视频文件的问题。
在发明的其他实施例中,所述第一交互模块101采用多线程方式工作,以满足多用户接入的需求。
当用户点播密文视频时,虽然密文视频流在整体上保留了视频流的基本格式,但是密文视频流又有其特有的特点,比如增加了新的数据类型、添加了控制信息以及对密文数据进行“加壳”等操作。现有的视频推送服务都是针对明文视频进行设计的,不适用于密文视频的情况。因此存储在Hadoop中的密文视频在视频推送方面面临以下挑战:由于在密文视频中,时间戳信息已经被加密,客户端在点播视频时,无法进行正常的快进、回看等操作。
针对上述问题,在发明的其他实施例中,所述Hadoop分布式文件系统100还包括FLV视频关键帧信息分析模块102(图1中未示出);所述FLV视频关键帧信息分析模块102用于调用预先存储的FLV文件分析程序,生成meta文件;
所述第一交互模块101还用于在确定所述Hadoop分布式文件系统100中存在客户端点播的视频文件之后,判断该视频基于关键帧信息的meta文件是否存在,若不存在,则调用所述FLV视频关键帧信息分析模块102生成该视频文件的meta文件,并向所述第二交互模块201发送包含该视频文件的长度、meta文件和视频文件的第二应答消息。
其中,所述meta文件主要是对视频的关键帧信息进行提取,以文件的方式进行组织的文件。实际点播视频文件时,当用户进行快进或者回看时以所述meta文件作为参考依据,以实现快进、或者回放到特定的位置。
因而,当所述Hadoop分布式文件系统中存储的视频文件为密文视频时,通过采用本实施例所述的传输FLV格式的密文视频,可以在将密文视频流封装成FLV格式时,采用时间戳生成机制,打上时间戳,从而解决了密文视频点播时无法快进、回放的问题。
另外,meta文件需要Red5流媒体服务器根据视频文件信息自己生成,但是本实施例利用HadoopAPI,针对Hadoop分布式文件系统中存储的视频文件设计了FLV视频关键帧信息分析模块,由该模块生成meta文件,然后将meta文件发送给Red5流媒体服务器。由于Red5流媒体服务器不再需要生成meta文件,因此减少了Red5流媒体服务器端关键帧信息的生成时间,减少了客户端等待时间,提高了用户的体验。
在发明的其他实施例中,所述第一交互模块101还用于在确定所述Hadoop分布式文件系统100中不存在客户端点播的视频文件之后,向所述第二交互模块201发送该视频文件不存在的第三应答消息;
所述第二交互模块201,还用于在接收到所述第一交互模块101发送的第三应答消息之后,向所述客户请求处理模块202发送该视频不存在的消息;
所述客户请求处理模块202在收到所述第二交互模块201发送的该视频不存在的消息之后,将该视频不存在的消息推送给客户端播放器。
在发明的其他实施例中,所述客户请求处理模块202,还用于在确定所述Red5流媒体服务器200的本地文件目录下存在所述客户端点播的视频文件时,将该视频文件推送给客户端播放器。
本发明提出了“Hadoop+Red5+FLV”的解决方案,完成了通过Red5流媒体服务器将Hadoop分布式文件系统HDFS中存储的FLV格式的密文视频发送给客户端播放器的目的。具体分析如下:
一方面,由于Red5流媒体服务器只能推送本地视频文件,因此本发明基于Red5流媒体服务器设计了与HDFS交互的第二交互模块,同时基于HDFS设计了与Red5流媒体服务器交互的第一交互模块。通过第一交互模块和第二交互模块,使得Red5流媒体服务器与HDFS可以进行无缝对接,从而实现Red5流媒体服务器可以正常推送HDFS中存储的视频的功能。
另一方面,通过Red5流媒体服务器采用RTMP流媒体协议对HDFS中的视频进行传输。由于RTMP的封装协议是TCP协议,因此可以在最大程度上保证密文视频数据的完整性,从而保证了客户端接收到的视频数据可以正常解密播放。
另外,当所述Hadoop分布式文件系统中存储的视频文件为密文视频时,由于密文视频中,时间戳信息已经被加密,客户端在点播视频时,无法进行正常的快进、回看等操作。本实施例通过采用传输FLV格式的密文视频,可以在将密文视频流封装成FLV格式时,采用时间戳生成机制,打上时间戳,从而解决了密文视频点播时无法快进、回放的问题。
此外,在HDFS中,通过FLV视频关键帧信息分析模块预先生成meta文件,在Red5流媒体服务器首次请求HDFS中的视频文件时,HDFS端处理程序依次传输meta文件、视频文件等信息。这样,减少了Red5流媒体服务器端关键帧信息的生成时间,减少了客户端等待时间,提高了用户的体验。
图2示出了本发明第二个实施例提供的基于Hadoop和Red5的视频点播方法的流程图,参见图2,该方法包括:
步骤101:Red5流媒体服务器对客户端的视频点播请求进行处理分析,得到客户端点播的视频文件名。
步骤102:Red5流媒体服务器判断该视频文件在Red5流媒体服务器的本地文件目录下是否存在,若不存在,则执行步骤102a。
步骤102a:Red5流媒体服务器向Hadoop分布式文件系统发送第一请求消息,所述第一请求消息中包括所述客户端点播的视频文件名。
步骤103:Hadoop分布式文件系统在接收到所述第一请求消息之后,根据所述第一请求消息判断所述Hadoop分布式文件系统中是否存在客户端点播的视频文件,若存在,则执行步骤103a。
步骤103a:Hadoop分布式文件系统向所述Red5流媒体服务器发送包含该视频文件的长度和视频文件的第一应答消息。
步骤104:Red5流媒体服务器在接收到所述第一应答消息之后,获取第一应答消息中的视频文件的长度和视频文件信息,并将所述视频文件的长度和视频文件信息推送给客户端播放器。
本实施例所述的基于Hadoop和Red5的视频点播方法,通过Red5流媒体服务器与HDFS之间的信息交互,使得Red5流媒体服务器与HDFS可以无缝对接,从而实现Red5流媒体服务器可以正常推送HDFS中存储的密文视频的功能,解决了现有Red5流媒体服务器只能推送本地视频文件的问题。
在本发明的第三个实施例中,参见图3,所述Hadoop分布式文件系统在确定Hadoop分布式文件系统中存在客户端点播的视频文件之后,所述基于Hadoop和Red5的视频点播方法还包括步骤103a’、步骤103a”和步骤103a”’。
步骤103a’:判断所述Hadoop分布式文件系统中该视频基于关键帧信息的meta文件是否存在,若不存在,则执行步骤103a”和步骤103a”’,否则,执行步骤103a”’。
步骤103a”:Hadoop分布式文件系统调用预先存储的FLV文件分析程序,生成meta文件。
步骤103a”’:Hadoop分布式文件系统向所述Red5流媒体服务器发送包含该视频文件的长度、meta文件和视频文件的第二应答消息。
本实施例中,步骤104为:
Red5流媒体服务器在接收到所述第二应答消息之后,获取第二应答消息中的视频文件的长度、meta文件和视频文件信息,并将所述视频文件的长度、meta文件和视频文件信息推送给客户端播放器。
在本实施例中,用步骤103a’代替了上述实施例中的步骤103a,本实施例不但将所述视频文件的长度和视频文件信息推送给客户端播放器,还将meta文件推送给客户端播放器。
一般地,meta文件需要流媒体服务器自己生成,而本实施例中,通过Hadoop分布式文件系统调用预先存储的FLV文件分析程序,生成meta文件,并将meta文件发送给Red5流媒体服务器,因此减少了Red5流媒体服务器端关键帧信息的生成时间,减少了客户端等待时间,提高了用户的体验。
另外,当所述Hadoop分布式文件系统中存储的视频文件为密文视频时,由于密文视频中,时间戳信息已经被加密,客户端在点播视频时,无法进行正常的快进、回看等操作。本实施例通过采用传输FLV格式的密文视频,可以在将密文视频流封装成FLV格式时,采用时间戳生成机制,打上时间戳,从而解决了密文视频点播时无法快进、回放的问题。
在本发明的第四个实施例中,参见图4,所述Hadoop分布式文件系统在确定Hadoop分布式文件系统中不存在客户端点播的视频文件之后,所述基于Hadoop和Red5的视频点播方法还包括步骤103b。
步骤103b:Hadoop分布式文件系统将该视频不存在的消息发送给Red5流媒体服务器,Red5流媒体服务器将该视频不存在的消息推送给客户端播放器。
在本实施例中,当Hadoop分布式文件系统确定Hadoop分布式文件系统中不存在客户端点播的视频文件时,Hadoop分布式文件系统向Red5流媒体服务器告知这一消息,Red5流媒体服务器再将该视频不存在的消息推送给客户端播放器,从而不至于让用户一直等待。
在本发明的其他实施例中,参见图4,在Red5流媒体服务器确定Red5流媒体服务器的本地文件目录下存在客户端点播的视频文件时,所述基于Hadoop和Red5的视频点播方法还包括步骤102b。
步骤102b:Red5流媒体服务器将该视频文件推送给客户端播放器。
在本实施例中,如果Red5流媒体服务器的本地文件目录下存在客户端点播的视频文件,那么Red5流媒体服务器直接将该视频文件推送给客户端播放器,使得用户能够及时观看到点播的视频。
在本发明的其他实施例中,所述Hadoop分布式文件系统采用多线程方式工作,以满足多用户接入的需求。
本实施例所述的方法可以采用上述实施例所述的系统执行,其原理和效果类似,此处不再详述。
以上实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于Hadoop和Red5的视频点播系统,其特征在于,包括:Hadoop分布式文件系统和Red5流媒体服务器;
所述Hadoop分布式文件系统包括第一交互模块;
所述Red5流媒体服务器包括第二交互模块和客户请求处理模块;
所述客户请求处理模块,用于对客户端的视频点播请求进行处理分析,得到客户端点播的视频文件名,并判断该视频文件在Red5流媒体服务器的本地文件目录下是否存在,若不存在,则向所述第二交互模块发送第一请求消息,所述第一请求消息中包括所述客户端点播的视频文件名;
所述第二交互模块,用于在接收到所述第一请求消息之后,将所述第一请求消息转发给所述第一交互模块;
所述第一交互模块,用于在接收到所述第二交互模块发送的第一请求消息之后,根据所述第一请求消息判断所述Hadoop分布式文件系统中是否存在客户端点播的视频文件;若存在,则向所述第二交互模块发送包含该视频文件的长度和视频文件的第一应答消息;
所述第二交互模块,还用于在接收到所述第一交互模块发送的第一应答消息之后,获取第一应答消息中的视频文件的长度和视频文件信息,并将获取的信息发送给所述客户请求处理模块;
所述客户请求处理模块,还用于在接收到所述第二交互模块发送的视频文件的长度和视频文件信息之后,将所述视频文件的长度和视频文件信息推送给客户端播放器。
2.根据权利要求1所述的系统,其特征在于,所述Hadoop分布式文件系统还包括FLV视频关键帧信息分析模块;所述FLV视频关键帧信息分析模块用于调用预先存储的FLV文件分析程序,生成meta文件;
所述第一交互模块还用于在确定所述Hadoop分布式文件系统中存在客户端点播的视频文件之后,判断该视频基于关键帧信息的meta文件是否存在,若不存在,则调用所述FLV视频关键帧信息分析模块生成该视频文件的meta文件,并向所述第二交互模块发送包含该视频文件的长度、meta文件和视频文件的第二应答消息。
3.根据权利要求1所述的系统,其特征在于,所述第一交互模块还用于在确定所述Hadoop分布式文件系统中不存在客户端点播的视频文件之后,向所述第二交互模块发送该视频文件不存在的第三应答消息;
所述第二交互模块,还用于在接收到所述第一交互模块发送的第三应答消息之后,向所述客户请求处理模块发送该视频不存在的消息;
所述客户请求处理模块在收到所述第二交互模块发送的该视频不存在的消息之后,将该视频不存在的消息推送给客户端播放器。
4.根据权利要求1所述的系统,其特征在于,所述客户请求处理模块,还用于在确定所述Red5流媒体服务器的本地文件目录下存在所述客户端点播的视频文件时,将该视频文件推送给客户端播放器。
5.根据权利要求1所述的系统,其特征在于,所述第一交互模块采用多线程方式工作。
6.一种基于Hadoop和Red5的视频点播方法,其特征在于,包括:
Red5流媒体服务器对客户端的视频点播请求进行处理分析,得到客户端点播的视频文件名,并判断该视频文件在Red5流媒体服务器的本地文件目录下是否存在,若不存在,则向Hadoop分布式文件系统发送第一请求消息,所述第一请求消息中包括所述客户端点播的视频文件名;
所述Hadoop分布式文件系统在接收到所述第一请求消息之后,根据所述第一请求消息判断所述Hadoop分布式文件系统中是否存在客户端点播的视频文件,若存在,则向所述Red5流媒体服务器发送包含该视频文件的长度和视频文件的第一应答消息;
所述Red5流媒体服务器在接收到所述第一应答消息之后,获取第一应答消息中的视频文件的长度和视频文件信息,并将所述视频文件的长度和视频文件信息推送给客户端播放器。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述Hadoop分布式文件系统在确定Hadoop分布式文件系统中存在客户端点播的视频文件之后,判断所述Hadoop分布式文件系统中该视频基于关键帧信息的meta文件是否存在,若不存在,则调用预先存储的FLV文件分析程序,生成meta文件,并向所述Red5流媒体服务器发送包含该视频文件的长度、meta文件和视频文件的第二应答消息。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述Hadoop分布式文件系统在确定Hadoop分布式文件系统中不存在客户端点播的视频文件之后,将该视频不存在的消息发送给所述Red5流媒体服务器,所述Red5流媒体服务器将该视频不存在的消息推送给客户端播放器。
9.根据权利要求6所述的方法,其特征在于,所述方法还包括:
若客户端点播的视频文件在所述Red5流媒体服务器的本地文件目录下存在,则所述Red5流媒体服务器将该视频文件推送给客户端播放器。
10.根据权利要求6所述的方法,其特征在于,所述Hadoop分布式文件系统采用多线程方式工作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510412860.0A CN105187855A (zh) | 2015-07-14 | 2015-07-14 | 基于Hadoop和Red5的视频点播系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510412860.0A CN105187855A (zh) | 2015-07-14 | 2015-07-14 | 基于Hadoop和Red5的视频点播系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105187855A true CN105187855A (zh) | 2015-12-23 |
Family
ID=54909656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510412860.0A Pending CN105187855A (zh) | 2015-07-14 | 2015-07-14 | 基于Hadoop和Red5的视频点播系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105187855A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107104986A (zh) * | 2017-06-13 | 2017-08-29 | 柳州市盛景科技有限公司 | 一种基于hadoop和Red5的视频点播系统 |
CN109067777A (zh) * | 2018-09-14 | 2018-12-21 | 广西犇云科技有限公司 | 一种基于hadoop的移动端视频点播系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3981220B2 (ja) * | 1999-09-24 | 2007-09-26 | 株式会社日立製作所 | ビデオオンデマンド装置 |
CN102547478A (zh) * | 2012-02-20 | 2012-07-04 | 北京蓝汛通信技术有限责任公司 | 基于cdn的流媒体触发式切片点播系统和方法 |
CN103583040A (zh) * | 2011-04-15 | 2014-02-12 | 天火实验室公司 | 实时视频检测器 |
CN103634844A (zh) * | 2012-08-24 | 2014-03-12 | 中兴通讯股份有限公司 | 分布式多端口dhcp中继的实现方法及系统 |
CN104023273A (zh) * | 2014-06-27 | 2014-09-03 | 北京奇艺世纪科技有限公司 | 视频点播方法及装置 |
-
2015
- 2015-07-14 CN CN201510412860.0A patent/CN105187855A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3981220B2 (ja) * | 1999-09-24 | 2007-09-26 | 株式会社日立製作所 | ビデオオンデマンド装置 |
CN103583040A (zh) * | 2011-04-15 | 2014-02-12 | 天火实验室公司 | 实时视频检测器 |
CN102547478A (zh) * | 2012-02-20 | 2012-07-04 | 北京蓝汛通信技术有限责任公司 | 基于cdn的流媒体触发式切片点播系统和方法 |
CN103634844A (zh) * | 2012-08-24 | 2014-03-12 | 中兴通讯股份有限公司 | 分布式多端口dhcp中继的实现方法及系统 |
CN104023273A (zh) * | 2014-06-27 | 2014-09-03 | 北京奇艺世纪科技有限公司 | 视频点播方法及装置 |
Non-Patent Citations (1)
Title |
---|
郭奇: "《基于HDFS的流媒体服务器Red5视频文件分发的研究与应用》", 《信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107104986A (zh) * | 2017-06-13 | 2017-08-29 | 柳州市盛景科技有限公司 | 一种基于hadoop和Red5的视频点播系统 |
CN109067777A (zh) * | 2018-09-14 | 2018-12-21 | 广西犇云科技有限公司 | 一种基于hadoop的移动端视频点播系统 |
CN109067777B (zh) * | 2018-09-14 | 2021-09-03 | 广西犇云科技有限公司 | 一种基于hadoop的移动端视频点播系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10958865B2 (en) | Data segment service | |
US8850054B2 (en) | Hypertext transfer protocol live streaming | |
CN107810613B (zh) | 使用清单文件在广播流中提供节目和设备类别权利的方法和设备 | |
US8818021B2 (en) | Watermarking of digital video | |
RU2481720C2 (ru) | Потоковая передача данных в режиме реального времени или в режиме, близком к реальному времени | |
US9203816B2 (en) | Controlling access to copies of media content by a client device | |
US8776150B2 (en) | Implementation method and system for a media-on-demand frame-spanning playing mode in a peer-to-peer network | |
US8543660B2 (en) | Systems and methods for bridging and managing media content associated with separate media content networks | |
CN102469153B (zh) | 点对点实时串流系统 | |
JP5341186B2 (ja) | プロキシ機能 | |
US9462302B2 (en) | Efficient delineation and distribution of media segments | |
US20070143807A1 (en) | Data distribution apparatus, data provision apparatus and data distribution system comprised thereof | |
JP2017229099A (ja) | 無線メディア・ストリーム配信システム | |
JP2008206039A (ja) | コンテンツ視聴装置 | |
CN112165596B (zh) | 监控视频数据传输方法、装置、终端设备和存储介质 | |
US10015542B2 (en) | Method and apparatus for secure storage and retrieval of live off disk media programs | |
CN101155296A (zh) | 数据传输的方法 | |
US20240422378A1 (en) | System and method for storing multimedia files using an archive file format | |
US12015657B2 (en) | Personal video recorder with limited attached local storage | |
JP2014017741A (ja) | コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、制御プログラムおよび記録媒体 | |
WO2011157212A1 (zh) | 一种交互式网络电视中点播节目的处理系统及方法 | |
WO2019061256A1 (zh) | 基于流媒体的音视频播放方法及装置 | |
CN105187855A (zh) | 基于Hadoop和Red5的视频点播系统及方法 | |
EP3293977B1 (en) | Information device | |
JP4637602B2 (ja) | コンテンツ配信システム、コンテンツ配信方法、およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151223 |
|
RJ01 | Rejection of invention patent application after publication |