流媒体管理系统
摘 要:
摘 要:流媒体控制系统采用Microsoft公司最新的软件编程技术,可支持的视频服务器设备种类易于扩展,并可根据客户需要进行定制开发专门系统,不断满足各行业、客户的不同需求。
关键词:
关键词:流媒体 控制系统 管理功能
1 流媒体控制系统的功能
1.1 系统管理功能
系统管理员实现站点管理,设备管理、用户管理等各项管理,包括配置、修改、删除等。
站点管理:自动搜索并显示设备服务器、转发服务器、录像服务器的信息,包括名称、IP地址,可修改站点名称,可删除无效站点。
提供4种用户类型,包括管理员、超级用户、一般用户和浏览用户,分别授予不同的权限范围,同一类型的用户又可以设置更具体的权限,共有64级,,可以设置各自的用户名和密码。可以单独为各个用户分配镜头组和电子地图。
设备管理:动态搜索编码器、解码器、矩阵及附属设备等的信息,可增加、修改、删除设备及配置参数,以及配置镜头归属的录像站点。
能方便地设置电子地图:导入地图、分配镜头、布置镜头,并将地图分配给用户。完善的日志管理,对各个用户的操作进行不可人为修改的记录,以备查询。
1.2 监控功能
可通过计算机显示器显示图像,也可通过电视墙显示(需配解码器),一个解码器可以与一个或多个编码器连接,多路连接时可设定自动轮换时间。
支持多个视频终端同时监控一个监控点同时观看同一个监控点的图像。
通过点击编码器名称方便地播放图像,提供单画面、4画面、9画面三种视频实时显示界面,还可切换至全屏。
1.3 录像及回放功能
提供多路音视频同时录像功能,可设定录像文件存放路径及存放时间,录像站点可分布在多台计算机或服务器上,每个站点管理一定数量的编码器,一个编码器不能同属于多个录像站点。
可进行手动录像、一次性计划录像和周期性(每周、每日)计划录像,可设定计划的起止日期,可对计划进行修改、删除等操作,若在录像过程中修改计划,则可按修改后的设置进行录像。
录像中途若发生设备、网络、服务等方面的故障,当恢复后可自动继续录像,
录像文件按日期、编码器自动生成文件夹及文件名,方便的本地及远程录像查询和回放功能,支持按时间和按计划两种查询方式,支持暂停、重播、拖拽式时间控制。
1.4 二次开发接口
流媒体服务器提供完整的二次开发包与技术支持,以完成对相关监控图像的显示和远程控制功能。二次开发包含以下几个方面的功能。一是接口的初始化与释放。二是视频流数据的获取及相关参数的设置:流媒体服务器登录、注销控制;视频传输开始、停止控制;视频图像缓冲区编码数据的获取(采用回调函数的方式);压缩参数的获取及设置。三是摄像机云台控制的支持:方向控制;镜头缩放。
2 二次开发包功能函数示例
2.1 定义视频设备数据结构
typedef struct tagVIDEODEVICE
{
inthandle;/*设备句柄*/
intdevnum;/*设备编号*/
//设备登录信息
charip[16];/*设备IP地址*/
intport;/*设备端口号*/
charusername[8];/*用户登录名称*/
charpassword[8];/*用户登录口令*/
intchannel;/*视频源对应的通道号*/
charsource[32];/*其他标识视频源的信息*/
//压缩参数
BYTEbyStreamType/*码流类型0-视频流,1-复合流*/
BYTEbyResolution/*分辨率0-DCIF 1-CIF, 2-QCIF, 3-4CIF, 4-2CIF */
BYTEbyBitrateType;/*码率类型0:变码率,1:定码率*/
BYTEbyPicQuality;/*图象质量 0-最好 1-次好 2-较好 3-一般 4-较差 5-差*/
intwidth;/*图像宽度*/
intheight;/*图像高度*/
2.2 相关功能函数示例
2.2.1 接口的初始化与释放
int video_device_init(VIDEODEVICE *videodev);
功能:SDK接口初始化
描述:用来初始化SDK开发包及视频设备,标示开始使用本SDK开发包
参数:videodev指针变量,视频设备信息
返回值:
>=0成功
<0失败
int video_device_destroy(VIDEODEVICE *videodev);
功能:SDK接口释放
描述:结束调用SDK开发包的使用
参数:
videodev指针变量,视频设备信息
返回值:
>=0成功
<0失败
2.2.2 视频流数据的获取及相关参数的设置
int video_device_login(VIDEODEVICE *videodev);
功能: 用户登录
描述:使用VIDEODEVICE结构体中的用户名、密码、端口等信息登录IP对应的
视频设备
参数:
videodev指针变量,视频设备信息
返回值:
>=0成功
<0失败
int video_device_logout(VIDEODEVICE *videodev);
功能: 用户注销
参数:videodev指针变量,视频设备信息
返回值:
>=0成功
<0失败
2.2.3 摄像机云台控制的支持
#define CAMERA_COMMAND_STOP0//停止
#define CAMERA_COMMAND_UP1//云台上
#define CAMERA_COMMAND_DOWN2//云台下
#define CAMERA_COMMAND_LEFT3//云台左
#define CAMERA_COMMAND_RIGHT4//云台右
#define CAMERA_COMMAND_FOCUS_NEAR7//焦距近
#define CAMERA_COMMAND_FOCUS_FAR8//焦距远
#define CAMERA_COMMAND_BRUSH_CLOSE11//雨刷合
#define CAMERA_COMMAND_BRUSH_OPEN12//雨刷开
int video_device_CameraControl(VIDEODEVICE *videodev, int ControlType, int ControlSpeed);
功能: 摄像机云台控制
描述:控制的摄像机在数据结构VIDEODEVICE中通过相关项确定
参数:
videodev指针变量,视频设备信息
ControlType整型变量,控制类型,在前面定义的一种
ControlSpeed整型变量,控制速度,在控制云台时起作用,范围1-7
返回值:
>=0成功
<0失败
3 小结
通过对监控设备系统的设置,依托于无锡地区的城域网,流媒体的获取和传播很方便,所以无论是在网络中心或者在控制中心,都可以观察到交通运行情况,对学院的安全起到了很好的保护作用。
参考文献:
[1]谭劲.基于服务器端与代理服务器端流媒体流行性的缓存策略研究[D].武汉:华中科技大学,2007.
[2]童勇木.网络视频监控系统与拥塞技术的研究[D].天津:天津工业大学,2005.
本文编号:14518
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/14518.html