智慧法庭中数字视频服务器的设计与实现

2017-12-07 01:14邰非张欣朱明
数字技术与应用 2017年9期

邰非+张欣+朱明

摘要:智慧法庭中数字视频服务器有其自身独特的性能与特点。除了通用数字视频服务器功能外,它要具备很强的兼容性,可作为不同类型流媒体的节点,在实际应用中集成已有的数字法庭,避免资源重復建设。其次具备外围设备的控制能力,能操控法庭中配套的各种庭审设备。在防止突发故障方面,它提供了双机备份功能,在主服务器宕机的情况下,从服务器仍将继续提供备份服务。对法庭内出现的人为突发事件,服务器提供手动报警功能,可及时通知场外法警。

关键词:智慧法庭;数字视频服务器;双机备份

中图分类号:TP393 文献标识码:A 文章编号:1007-9416(2017)09-0145-03

随着国家政务电子化工作的推进,法院系统数字化建设也得到了一定的发展[1],尤其是近几年来出现的智慧法庭[1],它标准化了传统的审判流程,同时为庭审过程提供了完备的监督和管理,反应出审判过程的公开、公正和公平的原则。作为智慧法庭其最为核心的组件就是数字视频服务器。由于法院应用场景的特殊性,对服务器要求与一般通用的视频服务器有所不同。

本文所介绍的数字视频服务器可集成不同编码格式的流媒体,起到节点再分发的作用,利于不同类型数字法庭间流媒体共享。对于在庭审过程中用到辅助外部设备,如投影仪、实物展台等,该服务器对这些设备进行封装,提供标准接口进行远程调用。考虑到突发宕机故障,服务器采用了双机备份,使用主、从服务器进行双向交叉备份,以确保录像的完整性。另外在庭审过程中,可能会发生人为的不理性行为,此时就需要场外法警的及时介入,服务器提供了报警功能,可通过手动操作可迅速通知执法人员。

1 技术路线背景

1.1 数字视频服务器系统模块结构

图1是系统模块结构图,共分为三层。第一层是提供服务模块,流处理模块的功能是传输流、接收流和识别流类型。它可以智能识别不同编码格式流类型,包括高清编码H.264。外设控制模块,主要以接口的方式提供对外接设备的操作,包括电动窗帘、投影仪、幕布、云台控制、电源设备等。举证控制模块则对特殊设备举证展示台进行操作,包括图像采集、投影切换等。备份模块则负责对整个庭审过程的进行录像管理,其中涉及到存储策略、信息绑定等与业务相关的功能。报警模块则提供人工手动报警,通知场外法警入场维持秩序。

第二层为第三方板卡模块和代理模块,前者是对现场采集的视频数据进行编码压缩处理形成流。后者则直接接收来自网络上的编码流。第三层中的命令控制模块为客户端提供视频流的操作,比如:直播、录像、回放等。控制信令通道模块为客户端提供远程外设控制、举证、备份、报警等控制。

1.2 实现所面临的技术问题

智慧法庭[1]数字视频服务器必须满足法庭庭审过程中的特殊需求,如:设备控制、举证控制、备份控制、报警控制等。面临的主要问题有:(1)如何实现多种类型流格式的识别及多板卡的集成。(2)如何实现多种类型外部设备接口的封装。(3)如何实现模块间通讯及远程调用。在下文所述模块的实现中将给出对应的解决方案。

2 系统的实现

本文中的数字视频服务器使用Windows操作系统, 采用C++编程语言[2]来实现的。界面采用Microsoft MFC架构[3],底层使用Live555[4, 5]、STL库、Boost库及JRSP库,控制信令模块则用gSOAP库,日志模块采用了log4cxx库,配置模块使用了XML格式解析。这些都是非常著名的第三方库,具有很好的稳定性、可扩展性、安全性。

2.1 流处理模块的实现

流处理模块可识别不同类型的流媒体,其中包括H.264。在传输中使用JRSP[6]第三方库,流控制使用RTCP[6]协议,流传输使用了RTP[6]协议,这样可以保证网络传输质量。流识别中使用了Live555第三方库,该库支持大部分主流流媒体格式,但不能识别具有私有协议的流媒体格式。

为了保证流畅性,模块使用了缓冲区共享内存机制,用环形内存方式实现,一端接收流并按通道索引存放,另一端根据索引请求获取对应的内存数据并推送到网络。共享内存区用锁机制来保证数据的安全。

2.2 设备控制模块的实现

庭审过程是一个包含众多元素互动的复合场景,比如云台操控、幕帘、应答席位激活、远程设备唤醒、电源管理、音频控制等。对这些设备要求具备快速接入能力。因此外设控制模块采用设备协议化处理方式,通过一套统一的解析模式,封装不同的设备配置指令集,以达到对设备只需要进行一次配置并能使用的效果。该模块支持TCP/UDP[7]、RS232/RS485协议。

2.3 举证控制模块的实现

庭审过程中会对证据进行展示,证据包括实物和电子证物。举证控制模块是对实物证据及电子证据进行图像采集,然后将其投放到大屏和各席位PC机上显示,实物证据则要放在实物展台上,通过摄像头进行图像采集,举证控制模块控制对实物证据的采集操作,并将采集数据进行编码,传送到流处理模块,由流处理模块推送至大屏和席位PC机上显示。

对于电子证据,通常是存放在书记员PC机里,在书记员PC机上打开相关应用软件,举证控制模块通过RGB采集卡对PC机进行截屏操作,并将RGB数据编码推送到流处理模块,再由流处理模块推送到展示屏和席位PC机上。

2.4 备份模块的实现

备份模块除了提供正常的庭审过程录像外,还提供应急备份。在采集摄像头后端加入VGA分配器,将信号源一分为二,其中一路流向主服务器,另一路则流向从服务器。为了方便业务流程,双机备份的流管理与通道管理相结合,以通道作为索引存放到SQL数据库中,WEB业务端会以通道索引为标准,将流绑定到业务逻辑上。

2.5 报警模块的实现

庭审过程中可能会突发人为事件,本文中的智慧法庭数字视频服务器具备监视功能。通过人工对服务器预览画面的巡视,一旦某一画面上出现需要法警干预的场景,值守人员可以通过报警按键通知开庭地点的场外法警。endprint

预览画面与通道绑定在一起,而通道在WEB业务系统中给出定义并与对应物理法庭綁定,服务器端通过RS485协议操作物理法庭外的报警器通知法警介入。考虑到直接操作数字视频服务器不太合理,在设计中提供了gSoap接口,在客户端以OCX控件封装方式提供给Web页面使用,值守人员通过操作Web页面上功能按键,就如同操作本地数字视频服务器一样去发出报警指令。当事态平和后通过对应的指令取消报警。

3 结语

本文主要介绍智慧法庭中数字视频服务器的设计与实现。因其应用场景的特殊性,它与通用的视频服务器有所不同,除了具备通用功能,还实现了流媒体类型识别、特殊设备控制、举证控制、双备份、报警控制等功能,同时将法院庭审业务相关的元素进行弱绑定,为直播、回放法庭庭审业务过程提供一个完备的架构。该数字视频服务器已在某省法院系统智慧法庭中得到应用,收到了良好的效果。

参考文献

[1]邰非.科技审判法庭系统的设计与实现[J].计算机与数字工程,2009,37(9):147-150.

[2]BJARNE STROUSTRUP. The C++ Programming Language(special Edition)[M].北京:高等教育出版社,2003:224-236,302-312,691-791.

[3]葛亮. Visual C++ 从入门到实践[M]. 北京:清华大学出版社, 2009. 156-182, 238-251, 269-282, 320-329.

[4]The LIVE555 TM Media Server for Running the Live555 Media Server & Downloading the Live555 Media Server.

[5]邰非.基于Live555与Vlc的远程观摩代理服务系统[J].数字技术与应用,2015(7): 105-106.

[6]RFC 3016, RTP payload format for MPEG-4 audio/visual streams[S/OL].[2007-09-10].

[7]W.RICHARD STEVENS. TCP/IP Illustrated Volume 1 (The Protocols)[M]. 北京:机械工业出版社,2005:69-83,143-166,169-179.endprint