1. 需求背景
某公司视频监控系统需要设计一套视频服务器,负责提供点播服务,系统架构设计已完成,需要进行模块设计。
视频监控系统包括视频收集服务器、视频文件服务器、视频点播服务器、监控客户端、点播客户端、播放器、采集服务器(DVR、DVS)、视频采集节点(云台、摄像头)。
视频点播服务器负责提供点播服务,监控客户端和点播客户端连接视频点播服务器,向视频点播服务器请求点播服务,视频点播服务器收到请求,从视频文件服务器获取视频文件,将文件传输至客户端、客户端使用指定播放器进行视频播放。如图所示:
视频文件服务器:负责存储视频文件,文件名称格式为:采集点编号-节点编号-yyyyMMddHHmmss.vid,文件格式为自定义格式,每个文件的时间长度为1小时,超过1小时自动写下一个文件,其中采集点编号为采集服务器的编号,节点编号为该采集点上的某一路采集she备的编号,如某一路摄像头编号。
视频收集服务器:负责从各个采集服务器收集视频,然后将视频保存到视频文件服务器中。
视频采集服务器:负责采集视频的服务器,主要是将云台、摄像头采集的视频保存到本地,或者传输给视频收集服务器。
采集节点:视频采集she备如云台、摄像头等等。
监控客户端:负责实时监控一组采集she备采集的视频并实时显示。
点播客户端:负责直播、回放系统采集的任意一路视频。
2. 功能需求
2.1客户端管理
1)客户端登录:
处理客户端登录请求,对账号密码进行校验,校验成功则允许登录,登录成功后可进行视频点播。最大支持16个客户端登录。
2) 客户端信息维护
服务端保存客户端的相关信息:客户端名称、账号、密码、创建日期、状态。前期可手动维护,无需交互式管理界面。
2.2视频点播
- 视频文件查询:查询本系统内视频文件列表。
- 按节点、时间点、时间段查询视频文件列表。
- 说明:视频文件需从文件服务器查询,详见查询接口。
- 视频点播:
- 支持按时间起始点播放。
- 支持按时间段播放,时间段长度不能超过1小时,且时间段只能在一天之内。
- 当某一时间段跨多个文件时,支持跨文件播放,对客户端来说可感知到文件的切换。
- 支持2倍、4倍、8倍速度播放,支持快进、后退、循环播放。
- 视频文件前4字节为文件格式魔数,5-8字节为视频文件时长,前200字节为控制字段,第201字节为视频的第一帧。
- 一帧视频为288KB,正常播放速度为每秒24帧。
2.2视频点播接口
需设计客户端与服务端的点播接口。
- 登录接口。
- 视频文件查询接口。
- 视频点播接口。
- 其他必要的接口。
3. 非功能需求
系统运行于linux平台。
要求视频播放流畅,不可出现卡顿等现象。
系统提供7x24小时服务。系统具备一定的稳定性。
4. 设计范围
本次设计内容为视频服务器设计,为c/s架构,客户端暂不
系统框架已经具备,需要进行模块设计。
视频播放接口定义。
视屏播放模块设计、类设计。