一、 运行平台和所需软件:
运行平台:Windows + java + SQL Server2000
所需软件:Mencoder 视频转换
Ffmpeg 视频截图
Md5sum 获取文件“指纹”(MD5)
二、 视频上传:(大文件上传)
Flash插件 + FileUpload 完成。
三、 FLV转换:
目标:实时 + 队列 + 多服务器(可以预留)
过程:
1、 需要两套程序同时运行:
前台用户上传程序。
后台监控程序 + 转换程序
2、 数据库表的建立:
需要四个表:
MediaLib : 用于记录已完成转换的视频,并用于前台的显示。
WaitMedia : 用于记录刚上传并需要转换的视频,但未完成转换。
FileHash : 用于记录文件的Hash值。
Server : 记录服务器,可能用多台服务器进行转换。(预留)
注:为什么不用一个表记录视频,用状态区分?
因为WaitMedia 是后台程序要不停查询的表,而且MediaLib是记录视频的表,里面含有多个text数据类型的字段,会大大降低性能。
MediaLib :(此表省略)
Create table MediaLib
(
MediaLibId,
Status,
MediaName
其他字段省略
);
WaitMedia :
Create table WaitMedia
(
WaitMediaId int(4),
Path varchar(255), 记录未转换视频路径
Status tinyint(1), 记录视频状态 (未转,正在转,出错)
MediaLibId int(4),
ServerId 服务器ID
FileSize 文件大小
AddTime 添加时间
ErrCounter 出错次数的记录
);
FileHash:
Create table FileHash
(
FileHashId
MediaLibId
FileHash 记录文件“指纹”
);
Servers:
Create tabel Servers
(
ServerId
ServerIp 服务器IP
ServerIndex 服务器权重
)
说明:多台服务器转换,目前先不考虑。