互联网违规视频自动取证方法研究

  • 优秀论文奖
  • 文章作者:中国新闻技术工作者联合会 2021/12/30-04:43 阅读: loading...

    黄吉林 高翔

    国家新闻出版广电总局厦门监测台

    摘要:互联网违规视频的取证是新媒体监管领域的重要环节,目前的取证工作主要依靠人工利用录像软件逐条打开违规视频URL取证,效率低下。本文从实际工作出发介绍了一种基于计算机句柄和网页图像处理技术的违规视频取证方法,该方法结合Camtasio Studio录像工具,通过模拟人工鼠标键盘操作,可以在违规视频URL较多的情况下实现取证的自动化,节省人力和时间,提高网络新媒体监管的效率和水平。关键字:新媒体监管,自动取证,句柄,图像处理,模拟鼠标键盘

    1 引言

    视听新媒体已成为崭新的大众传播媒介,拥有日益扩大的影响力,是信息传递、情感宣泄和意识形态的新领域,对其进行监管,是广播影视监管工作的延伸[1]。随着视听新媒体产业的发展,部分违法违规的视频内容也在网络上传播,冲击人们的价值观,挑战大众的心理底线和法律底线。监管中当工作人员准确查找和定位违规视频后,对其进行录像取证是必不可少的步骤,然而在当前广电新媒体监管领域,尚缺少一套视频自动取证系统,当违规视频链接较多时,就要消耗大量的人力和时间,工作效率低下。本文提出一种模拟鼠标键盘操作的视频自动取证方法,该方法利用计算机窗口句柄的定位能力以及图像处理对网页视频窗口位置定位的尝试,结合Camtasio Studio视频录像工具,实现了大量视频链接情况下取证的自动化,作为后续系统开发抛砖引玉之用。文章首先介绍了窗口句柄和图像处理相关知识,随后介绍了算法流程以及算法要点,最后给出试验结果和总结。

    2 窗口句柄与图像处理

    2.1 窗口句柄[2]句柄是一个唯一的整数值,用来标识应用程序中的不同对象和同类对象中的不同实例,诸如一个窗口,按钮,图标,滚动条,输出设备,控件或者文件等,系统在创建这些资源时会为它们分配内存,并返回标识这些资源的标识号,即句柄。窗口句柄是一种重要的Windows句柄,在Windows应用程序中,窗口是通过窗口句柄(HWND)来标识的,我们要对某个窗口进行操作,首先就要得到这个窗口的句柄。在开发过程中,可以使用专门的工具来查看一个窗口的句柄,如Visual Studio Tools里的Microsoft Spy++,或在程序中通过Win32 API函数获取句柄,然后通过相应的Win32 API函数对窗口进行诸如定位、点击、文本框赋值等操作。Windows窗体浏览器和Camtasio Studio工具也可以通过获取其句柄来对其进行操作。2.2 图像处理[3-5]

    在数字图像处理领域,彩色图像通常指每个像素值含有RGB三个基色分量,每个分量用一个字节存储,从而每个像素可以有1600多万种颜色的取值变化。灰度图像指每个像素由一个字节存放灰度值(又称强度值、亮度值),灰度范围为0-2558位索引图像。灰度图像是彩色图像的一种特例,当R=G=B时,彩色便表示一种灰度颜色,将彩色图像转化为灰度图像的过程称为图像的灰度化处理。一般采用加权平均法进行灰度化,由于人眼对绿色的敏感最高,对蓝色敏感最低,因此,对RGB三分量进行加权平均能

    1

    其中(i,j)表示像素位置,f(i,j)表示灰度化后的像素值,R(i,j)G(i,j)B(i,j)为灰度化前相应的RGB分量值。将灰度图像通过适当的阈值选取而将图像上的像素点的灰度值设置为0255,使整个图像呈现出明显的黑白效果,称为图像的二值化,如公式(2)所示:

    2

    其中表示阈值。图像锐化处理是图像增强的重要方法,它可以突出图像边缘,使模糊的图像变得更加清晰,颜色变得更加鲜明,改善图像质量。经过锐化处理的图像,可用于目标边缘提取、图像分割、目标区域识别、区域形状提取等后续工作,为进一步的图像理解与分析奠定基础。本文采用Sobel算子法(加权平均差分法)来定位视频页里视频窗口的位置,Sobel算子就是对当前行或列对应的值加权后,再进行平均和差分,它在检测边缘点的同时具有抑制噪声的能力,其水平和垂直梯度模板如公式(3)所示:

    3

    其中,S(i,j)表示锐化后的像素值,Sx表示水平梯度,Sy表示垂直梯度,标注的是当前像素的位置(i,j)

    3 违规视频自动取证方法

    3.1 算法流程日常工作中,监看人员将排查到的违法违规视频链接汇总于统一格式的Excel表格中,交由取证制作岗人员进行技术取证与证据保全。取证文件包括以下六大要素:网页URL、网站名称、网站logo、网站许可证、违规内容、取证时间。算法的核心目的是:在专门的取证服务器上实现大量视频链接的取证自动化,释放工作人员的时间以便进行取证资料的汇总、编辑等其它工作,提高工作效率。算法的核心思想是:通过句柄获取浏览器窗口不同区域的位置以及录像工具Camtasio Studio窗口中控件的位置,通过图像处理识别网页中视频窗口的位置,然后通过程序模拟鼠标键盘操作来完成取证工作,全程无需人工干预。算法流程如图1所示。

    1 算法流程

    算法首先打开相应违规视频链接的网站的首页地址,对网页URL、网站名称、网站Logo和网站许可证等信息进行取证,随后打开该违规视频网页,对网页URL、播放名称和网站Logo进行取证,最后对违规视频进行录像取证。由于不同版本的录像工具句柄有差别,本文采用Camtasio Recorder 4.0,通过模拟键盘按键操作发送“F9”开始/暂停/恢复录像,发送“F10”停止录像。360安全浏览器是基于IEChrome双内核的相对轻量级的浏览器,速度较快,安全性稳定性较好,本文采用360安全浏览器7.1版本。由于要初步实现自动取证,服务器应该具有较高的网络速度,否则网页打开过慢,会影响模拟取证的步调。在取证过程中,只需对六要素大概的区域进行绕转取证即可,无需精确的定位,以不影响取证文件的观看为原则。3.2 算法要点3.2.1 窗口句柄的应用算法对浏览器和Camtasio Recorder工具的模拟操作是通过句柄来识别和实现的。通过Microsoft Spy++观察到,360安全浏览器窗口分为上下两个部分,上面部分为地址栏工具栏等,下面部分即为浏览器显示主体区域,其内部类名层次结构为: 360se6_Frame->SeWnd->Chrome_WidgetWin_1->Chrome_WidgetWin_0->Chrome_RenderWidgetHostHWND。算法首先通过Windows API函数FindWindow("360se6_Frame", null)获取浏览器的根句柄,然后通过API函数FindWindowEx结合类名层次结构不断迭代获得显示主体区域的句柄,最后利用API函数GetWindowRect获得该区域的坐标(lefttop-rightbottom),则浏览器上面部分区域坐标为(0,0-ab),其中a=rightb=top,坐标以屏幕左上角为参照原点,如图2所示。

    2 坐标获取流程

    在屏幕分辨率为1440*900的环境下,left=0top=102right=1440bottom=860。网页URL(13012) – (50065)的大致范围内,网站名称和网站Logo位于显示主体左上角,在(left+150top+30-left+450top+180)的大致范围内,网站许可证等信息位于网页底部(left+400bottom-165-right-400bottom-5)的大致范围内。算法通过模拟点击垂直滚动条上的一点(top+xright-y0<x,y≤5来使浏览器获得焦点,从而滚动浏览器至网页底部取证,滚动次数为n=length/m,其中length为网页文档长度,m为鼠标一次滚动的距离。录像取证完成后,算法将对Camtasio Recorder弹出的对话窗口依次进行模拟鼠标键盘操作,这些窗口如图3所示。

    Camtasio Recorder Preview窗口

    Save Recording窗口 Post-Save Options窗口

    3 Camtasio Recorder对话子窗口

    当算法模拟发送键盘按键“F10”停止录像时,Camtasio Recorder将弹出Camtasia Recorder Preview子窗口,算法利用FindWindow(null, “Camtasia Recorder Preview”)获得窗口句柄,随后利用FindWindowEx通过Save按钮类名“Button”获取保存按钮的句柄,接着利用GetWindowRect获取Save按钮的位置坐标,最后模拟鼠标点击保存。同理,在随后生成的Save Recording窗口和Post-Save Options窗口中都通过相应的模拟操作来给录像文件命名、保存并点击进行下一轮的取证工作,流程如图4所示。

    4 Camtasio Recorder窗口模拟操作流程

    3.2.2 图像处理的应用算法通过相应的图像处理,力求获取视频网页中视频窗口下边缘的位置,以判断是否需要滚动浏览器使视频窗口完全进入显示屏,以及滚动次数。从网页上截取的图像一般是24位真彩色图像,为了减少图像原始数据量,便于后续处理时计算量更少,可先将图像转化为8位灰度图像,它和彩色图像一样仍然反映了图像整体和局部的亮度等级的分布和特征,如图5所示。

    5 视频页彩色图像和灰度化图像

    边缘和轮廓常常位于图像中灰度突变的地方,图像锐化能通过微分算子来描述这种数据变化,保留图像细节信息,从而达到突出边缘的目的。从频域角度看,图像的边缘或线条的细节部分与图像频谱的高频分量相对应,微分运算相当于高通滤波让高频分量顺利通过,并适当抑制中低频分量,使图像的细节变得清楚。算法对灰度化后的图像进行了锐化和二值化处理(阈值20),如图6所示。

    6 图像锐化和二值化

    图像的二值化有利于图像的进一步处理,使图像变得简单,而且数据量更少,使边缘更加清晰,能凸显出感兴趣的目标的轮廓。算法将在二值化图像的基础上寻找视频窗口下边缘的位置,如图6右侧中红色箭头所示,下边缘的定位无需精确,以能将视频窗口完整移入显示屏内为原则。其思路为:以二值化图像左上角顶点为图像原点,从左向右,至上而下扫描图像像素,以每一个扫描到的像素为新的原点(x0,y0),取其水平和垂直线为横纵坐标,在以(x0,y0)为起点的对角射线line上,若连续的像素点{d0,d1,…,dn}在横纵坐标上的投影像素值均为255,以此来刻画视频窗口的边缘,且l=yn-y0≥h/2,其中yn为连续像素的终点dn的纵坐标,h为显示屏的高度,h/2为统计角度窗口高度应满足的阈值,则(x0,y0)为视频窗口的起始点,l为窗口高度,如图7所示。

    7 视频窗口的定位

    显然,视频窗口下边缘在页面中的位置为y0+l,而浏览器主体显示区域高度为bottom-top,若(y0+l)≤(bottom-top),表明视频窗口完全在显示屏内,无需做滚动操作,否则需要模拟鼠标滚动使视频窗口下边缘进入显示屏内,模拟滚动的次数为n=((y0+l)-(bottom-top))/m,其中m为鼠标滚动一次的距离,才能使视频窗口完全进入显示屏内。图像处理整体流程如图8所示。

    8 图像处理流程

    3.3 实验测试实验对三组违规视频Excel文档进行测试,分别为业务分类A:广播电视节目《×××》等,业务分类B:节目《×××》等,业务分类C:视听节目《×××》等,结果如下表所示。

    1 实验结果

    组别链接总数可用文件数不可用文件数可用率
    A4032880%
    B4031977.5%
    C76581876.3%
    其中,可用率定义为(可用文件数/链接总数)*100%,不可用文件定义为人工复核未达到观看要求的取证录像文件,多次实验表明该方法的取证可用率介于70%~80%。通过统计不可用文件的产生原因,分为以下几种情况:① 视频窗口位置识别不够准确,没有将视频窗口完全移入显示屏内;② 在需要点击才能播放的视频网页,该方法无法处理;③ 有些视频缓冲时间长,扰乱录像取证的时间步调;④ 在遇到大量突发的随机无序干扰网页和广告时,该方法无法很好的处理。实验经验得知,在专用取证服务器上,要尽量保证系统的干净,不安装不必用的应用软件,要使浏览器设置精简、不安装不必要的插件,目的是为了在无人干预自动取证环境下,取证工作不被任何第三方应用的运行所影响。

    4 结束语

    本文利用计算机句柄和图像处理技术,通过模拟人工鼠标键盘操作的方式,实现了互联网违规视频的自动取证,可以在有大量取证任务的情况下节省人力和时间,提高工作效率,对新媒体监管的技术提升有一定的促进作用。此外,如何更加准确地判断浏览器网页响应是否完成,如何更加妥善的处理随机无序弹出的恶意网页和广告,如何进一步更加准确地识别视频窗口位置,如何通过图像处理判断视频是否需要点击播放,如何通过图像处理识别视频进度条和定位任何一个时间点等,都是下一步需要深入研究的难点。 参考文献[1] 李旭. 视听新媒体产业发展与行业监管的分析[J]. 中国数字电视, 2012(89):26-30.[2] http://zh.wikipedia.org/wiki/句柄.[3] 冈萨雷斯. 数字图像处理(第三版)[M]. 北京: 电子工业出版社, 2011.[4] 袁春兰, 熊宗龙. 基于Sobel算子的图像边缘检测研究[J]. 激光与红外, 2009,39(1):85-87.[5] 何伟刚. 基于改进的四叉树Sobel算子图像分割研究[J]. 计算机仿真, 2012,29(4):276-278. 编辑:中国新闻技术工作者联合会

    评论 点击评论