APP下载

计算机操作视频记录系统的设计与实现

2014-11-20王圣杰郑世宝梁龙飞

电视技术 2014年7期
关键词:计算机操作码流服务器

王圣杰,杨 华,2,郑世宝,2,梁龙飞

(1.上海交通大学电子工程系图像通信与网络工程研究所,上海200240;2.上海市数字媒体处理与传输重点实验室,上海200240;3.上海博康智能网络科技股份有限公司,上海200030)

随着科学技术的不断进步,计算机的普及率日益提高,其操作的安全性与合法性也越来越受到人们的关注。通过对计算机操作进行无间断地记录,可以有效避免由于非法操作而造成的不良后果,对于存储有个人档案、商业机密、病人病历等敏感信息的计算机,这种需求尤为迫切。

目前,对计算机操作视频进行记录主要存在硬件实现[1]与软件实现[2]两种方式。软件实现在原理上一般基于操作系统底层机制,可灵活使用包括 VC、VB[3]、JAVA[4]、C#[5]、Delphi[6]等在内的多种开发语言,但这种实现方式大多依赖于操作系统对自身行为进行记录,需要在被记录计算机上安装特定的软件,这样不仅会占用过高的CPU资源,使计算机工作性能受到较大影响,而且跨平台适应性差。硬件实现方式很好地解决了以上问题,大多通过在被记录计算机主机上安装VGA采集卡,实现了对计算机屏幕的录制,并可在用户端安装配套的软件用于观看实时操作视频,但是,使用VGA采集卡存在着采购成本高、用户端软件功能单一等不足。

针对以上实现方式的缺陷,本文介绍了一套自主研发的系统,在不占用被记录计算机任何资源的前提下,通过软硬件相结合的方式实现了对包括计算机操作视频、键鼠操作信息在内的计算机操作信息的全面、高效的记录,并将记录数据以压缩码流的形式存储于远程服务器中,同时提供了多种方式实现了对操作信息的查看与回放。

1 计算机操作视频记录系统总体应用架构

本文研究的计算机操作视频记录系统总体应用框架如图1所示,系统由被记录计算机、计算机操作视频记录设备、以太网络、数据存储与管理服务器、管理者终端组成。每台被记录计算机都配备一台计算机操作视频记录设备对包括计算机操作视频、键鼠信息在内的操作信息进行采集,并将其以压缩码流的方式通过以太网络传输至中心机房的数据存储与管理服务器,该服务器负责对来自多台计算机操作视频记录设备的码流数据、设备信息和用户信息进行集中存储与管理。管理者终端不仅可以通过使用浏览器登录位于一台或多台计算机操作记录设备中的Web Server对其工作参数进行设置,实现对设备工作状态的动态调整;而且能够通过安装定制的软件连接服务器,查看和回放服务器存储的计算机操作记录数据。

图1 系统总体应用框架

2 计算机操作视频记录设备

图1所示的系统中,核心设备为计算机操作视频记录设备,该设备主要技术指标要求如下:1)计算机操作视频输入与输出接口,同时支持HDMI/VGA/DVI三种接口;2)计算机操作视频分辨率格式,1 024×768,1 280×720,1 280×768,1 280 ×800,1 280 ×1 024,1 360 ×768,1 366×768,1 600 × 1 200,1 680 × 1 050,1 600 × 900,1 280×1 024,1 280×960,1 920×1 080。支持帧率:120 Hz,60 Hz,40 Hz,30 Hz,逐行扫描。支持输入信号分辨率自适应识别;3)视频编解码标准,支持H.264/AVC Baseline Profile Level4.0;4)视频编码分辨率,与输入信号分辨率相同(支持随着操作过程中被记录计算机操作视频分辨率的改变而改变);5)视频编码帧率为1~30 f/s(帧/秒);6)视频编码码率为1~12 Mbit/s;7)操作系统为嵌入式Linux操作系统;8)支持Web Server;9)固件升级:网络在线升级;10)电压AC 220 V;11)功耗小于20W。

计算机操作视频记录设备在硬件构造上主要由数据编码与管理主板和数据采集与环出子板组成,如图2所示。其中1和2分别为输入键盘信号与鼠标信号,3和4为输出键盘信号与鼠标信号,5和6分别为输入与输出的VGA/DVI/HDMI信号,7为输出码流数据,8为AC 220 V电源。如上所述,设备硬件分别由一块主板与一块子板组成,其中主板主要包括数据处理模块、数据接口转换模块、外围接口模块和电源模块,子板主要包括计算机操作视频信号采集模块、操作视频信号输出模块、键鼠信息环出模块。下面将分别对各个模块进行介绍。

计算机操作视频信号采集模块主要完成被记录计算机输出操作视频的采集、颜色空间的变换、图像增强等操作,它支持HDMI,DVI,VGA等多种接口,并将输入信号统一去格式化转化为4∶2∶2的Y∶Cb∶Cr信号输出。操作视频信号输出模块将经由数据接口转换模块环出的信号转化为VGA,HDMI,DVI信号,并送入被记录计算机显示器进行显示。键鼠信息环出模块将以PS/2格式输入的键鼠操作信息分为2路,其中一路直接送入数据接口转换模块,另一路输出至被记录计算机主机。

图2 计算机操作视频记录设备框图

数据处理模块核心为嵌入式SOC芯片,它以ARM11为内核,内嵌vDSP子系统,主要负责对输入计算机操作视频信号与键鼠信息进行编码、管理压缩码流数据、通过以太网络将码流传输至用户管理与数据存储服务器。它实现了在H.264 Baseline Profile Level 4.0标准下对数据接口转换模块输出信号的压缩编码。

数据接口转化模块核心为FPGA芯片,它实现了对输入操作视频分辨率的自适应识别以及对键鼠信息的采集,并将操作视频采集模块输入的LVDS信号分为两路,其中一路送至多媒体信号输出模块,完成了对输入信号的环出,另一路转化为BT656格式的TTL信号,并以特定格式送入数据处理模块进行压缩编码。

外围接口模块主要包括Nand Flash,Micro SD,DDR2,PHY,GPIO和UART等接口,它们分别负责SOC芯片中程序与数据的存储、编码数据的本地存储、编码数据的缓冲、连接以太网并将编码数据传输至远程服务器、作为芯片扩展功能接口与RS-232调试接口。

本系统电源模块采用了开关电源与线性电源相结合的较为成熟的电源方案,该方案外部走线少,可靠性高,抗干扰能力强,成本低,有效完成了对各个模块进行供电的任务。

3 计算机操作视频记录系统软件方案及设计

计算机操作视频记录系统软件主要包括计算机操作视频记录设备软件、数据存储与管理服务器软件以及管理者终端用户软件等。下面分别介绍几种软件。

3.1 计算机操作视频记录设备软件

计算机操作视频记录设备软件为运行于该嵌入式设备中的Web Server,为系统辅助功能实现软件,其软件运行平台为嵌入式ARM,操作系统为Linux操作系统。Web Server的功能主要包括:1)对计算机操作视频信号进行压缩编码;2)配置计算机操作视频记录设备IP地址、网关等网络参数;3)配置编码帧率、编码码率、数据传输方式(UDP/TCP)等参数;4)管理用户名、密码等用户信息。

计算机操作视频记录设备软件架构图如图3所示,设备软件分为4个层次:物理接口层、设备驱动层、中间件(SDK)层和系统应用层。物理接口和设备驱动层用以进行Linux操作系统和底层硬件之间的通信,中间件层为系统提供基本的功能模块,包括用户管理、编解码参数配置、用户管理、网络参数配置等,以方便应用软件的开发,系统应用层主要是面向用户的上层应用软件。

3.2 B/S用户软件的设计

从整体上来看,图1中管理者终端与计算机操作视频记录设备采用 B/S[7](Browser/Server)模式进行交互,前者作为Browser,后者作为Server,在本系统中,Browser为管理者终端软件中的浏览器,Server即为3.1节介绍的嵌入式Web Server,管理者终端用户通过在浏览器中输入Web Server的IP地址、用户名、密码登陆服务器完成对其的各种操作。这种基于http浏览器/服务器的交互方式,大大扩展了交互范围,不需要安装额外的软件,给系统应用带来很大的方便,同时提高了系统的可移植性,给系统的维护、管理和更新带来了便利。

图3 计算机操作记录设备软件架构图

3.3 C/S用户软件的设计

图1中管理者终端与中心机房数据存储与管理服务器之间采用Client/Server[7]的模式进行信息交互;前者作为Client,后者作为Server,允许两者通过OCX控件进行信息交互,在本系统中Client为数据集中管理软件,Server为数据存储与管理服务器软件,管理者终端用户通过安装在本地的数据集中管理软件完成各种操作。此种模式将用户端与服务器端区分开来,两者独立完成系统分配的不同任务,有效避免了因服务器超负荷工作而导致效率低下的问题,同时有着交互与信息安全控制能力强,用户端操作响应快速,图形用户界面丰富的特点。

在本系统中用数据存储与管理服务器软件作为数据库管理系统,主要负责存储用户名、密码等用户信息,提供事务运行管理及用户日志,存储与管理来自多台计算机操作记录设备的多路码流数据、响应管理者终端用户的各种操作请求等功能。

4 管理者终端用户软件的设计

如上所述,计算机操作记录系统的管理者终端用户软件,既包括Browser,又包括Client,其中Browser可选用Windows XP系统支持的任意浏览器,Client为数据集中管理软件,笔者主要参与了数据集中管理软件的设计,该软件为核心功能实现软件,其架构图如图4所示,分为物理接口层、BIOS层、操作系统层、SDK层与应用软件层。其中物理接口层提供与底层硬件相连接的接口,BIOS与操作系统实现对底层硬件的控制,SDK提供可供软件开发者调用的核心功能模块接口,应用软件层主要为直接面向用户的操作软件。

软件功能为:

1)码流直播:从树形设备列表中选择指定的一台或多台设备,查看其实时编码数据;

2)码流点播与下载:从树形设备列表中选择指定的设备,按照时间段检索该由设备压缩编码的码流数据,进行播放或下载至指定的本地存储路径;

图4 管理者终端数据流集中管理软件架构图

3)本地回放:播放存储在本地的被记录计算机操作信息压缩码流;

4)播放控制:码流点播与本地回放过程中可实现暂停、停止、单帧后退、单帧前进、截图、全屏显示等播放控制功能;

5)多画面显示:支持对码流进行1,4,6,8,9,13,16 不同数量画面的播放显示。

数据集中管理软件的设计与实现主要通过调用SDK提供的各个功能模块来完成,主要包括主框架模块、用户检测与登录模块、通信模块、软解模块,其中主框架模块又可细分为直播模块、点播模块、下载模块、本地回放模块。各个模块间的关系如图5所示,下面对其功能做详细阐述。

图5 数据集中管理软件设计模块图

用户检测与登陆模块主要用于建立管理者终端用户与数据存储和管理服务器的连接,使后续操作的实现成为可能。在本设计中,基于安全因素的考虑,采取了双重验证机制。用户与服务器建立连接的过程分为两个阶段:用户检测阶段首先需要输入Key IP,并与服务器内嵌的USB Key的IP进行比对,相同则进入登录验证阶段,反之等待用户重新输入;用户在登陆验证阶段需要输入服务器IP、用户名、密码,在三种信息全部与服务器存储信息一致的前提下,成功建立与服务器的连接,反之连接失败。

主框架模块扮演着实现主要操作功能的角色,诸如对一台或多台被记录计算机操作视频数据进行实时直播,按时间段对多路码流进行点播、将存储于服务器端的码流数据下载至本地硬盘、播放下载码流等功能。

通信模块是管理者终端用户与服务器进行信息交互的媒介,建立了从服务器获取信息的通道,提供了检测服务器状态、登录与登出服务器、获取服务器历史信息、请求下载操作等接口。通信模块基于Win socket编程实现数据通信。通信模块与服务器成功建立连接后,自动获取服务器基础资源(计算机操作视频记录设备信息、数据存储信息、数据编码参数等),获取的数据以特定格式的消息形式通知主框架模块,并完成数据的解析与处理。主框架模块对基础资源解析完毕后调用通信模块接口通知服务器初始化工作完毕,此后通信模块一直等待响应服务器消息或调用方法执行用户操作。

软解模块完成码流的解码与播放工作,提供了登录服务器、退出服务器、播放直播码流、播放点播码流、打开本地文件、视频播放控制等接口。软解模块内嵌高性能的Coreavc编解码器,它支持大多数的视频编解码标准和多种形式的GPU硬件加速,与单纯依赖“硬解码”的解决方案相比,有更高的工作效率。

5 总结与展望

本文介绍的计算机操作视频记录系统实现了对计算机输出操作视频与键鼠操作信息的采集、编码、传输、存储以及回放查看。本系统主要性能指标为直播码流的延迟时间,经多次测试,在多媒体信号分辨率为1 024×768,帧率为25 f/s,码率为4.7 Mbit/s情况下码流播放平均延迟为0.72 s,基本达到了实时性的要求。

目前本系统已成功应用于多个单位,经过大量使用人员的实践检验与长时间的应用测试,该系统运行良好,工作性能稳定,具有广阔的应用前景。针对此系统的后续工作将集中在对计算机操作视频进行智能分析,从计算机视觉的角度提取含有重要或敏感操作的关键帧,以此来实现在短时间内对长时间用户操作的凝缩回放;同时对获取的PS/2形式键鼠操作信息进行解析,还原具体操作类型与操作发生时间,并结合关键帧信息实现基于多种信息融合的计算机操作数据检索。

[1]孙红亮,唐艳发,梁春锋,等.基于FPGA+ARM的高速计算机屏幕信息记录系统[J].电视技术,2010,34(S2):16-19.

[2]敖文兵.基于H.264/AVC屏幕录制回放系统[D].武汉:华中科技大学,2012.

[3] ZHAO Ling.Remote screen locked technology based on winsock[C]//Proc.Asia-Pacific Youth Conference of Youth Communication and Technology.[S.l.]:Atlantis Press,2011:65-68.

[4] HOU Jinbiao.Design and implementation of a remote screen monitoring system based on Java[C]//Proc.WCSE.Xiamen:IEEEComputer Society.[S.l.]:IEEE Press,2009:292-296.

[5] ZHANG Jia’ai.The research and implementation of screen monitoring and process controlling in C/Smode based on C#technology[J].Applied Mechanics and Materials,2012(6):1800-1802.

[6] JIANG Rong.The application of intelligent remote monitoring platform underWindows on physical theory education[C]//Proc.ICMT.Hangzhou:IEEE Press,2011:3706-3709.

[7]汤庸,叶小平,汤娜.数据库理论及应用基础[M].北京:清华大学出版社,2004.

猜你喜欢

计算机操作码流服务器
数字电视TS码流协议简要分析
通信控制服务器(CCS)维护终端的设计与实现
高清网络摄像机图像延迟分析及解决方案
成人高考档案管理中存在的问题及对策
成人高考档案管理中存在的问题及对策
中国服务器市场份额出炉
得形忘意的服务器标准
计算机网络安全服务器入侵与防御
高职计算机操作基础教育考核方法探究
一种比较ASN.1码流差异的方法