网站视频流媒体平台设计方案(基于Internet)(2)
3.整合直播和点播
在我们的需求里还有一个非常重要的一个功能,就是保存直播的录像视频,并转换成rmvb和flv格式,供以后点播用,而采用rmvb和flv两种格式的目的就是为了实现高清和高速的目标,在内网我可以看rmvb格式的来满足我的高清要求,在外网可以观看flv格式的来达到高速。为了实现这一目标,就需要有一个组件来转换视频的格式和监视文件,这个组件就是Core。下面看一下设计图:
上图中三条黑线标注了三个不同的视频流:
-
1.最上面一条黑线是rmvb直播流,视频信号由视频卡采集经由编码器的编码,然后通过Helix把直播点给p2p网络,用户通过p2p网络获取视频信号并观看直播。
-
2.中间一条黑线是rmvb高清点播流,rmvb文件来自核心的文件系统,经过helix服务器把该视频发布出去。核心文件系统的文件来源其一是来自编码器Producer的avi或mpeg视频,Core组件对文件系统监控,一旦有新的文件到来且需要转换格式,Core组件就会处理,生成相应的rmvb和flv两种格式的文件。
-
3.最下面一条黑线是flv高速点播流,flv文件是通过iis或其他的服务器发布出去的,用户可以直接通过http请求的形式来观看流媒体视频,也可采用rstp等协议实现。
3.1 Core组件与文件系统的设计:文件系统有三个文件夹,OriginalVideo、RmvbVideo、FlvVideo,OriginalVideo是源视频文件,其中视频文件来自用户的上传、Producer的存储、以及系统管理员的上传等,是需要格式转换的文件源。RmvbVideo是高清视频文件夹,Core组件发现OriginalVideo文件夹下有需要格式转换的文件出现时,就会把视频文件转换成rmvb和flv两种格式并存储在RmvbVideo和FlvVideo文件夹下。RmvbVideo中文件是针对高清点播的,FlvVideo是针对高速点播的。再来看Core组件的作用,从上面可以看出来,Core组件的作用就是转换视频和存储点播列表。下面列出了Core组件的功能:
-
1.监测文件系统,把文件系统中文件的状态反应到数据库上。
-
2.转换文件的格式,并标注文件状态,持久到数据库。
-
3.生成点播列表。
-
4.为后台管理提供接口,比如制定转换计划、改变转换参数、文件管理、点播列表管理等。