铁路货车装载监控多视频回放同步的研究

1  研究背景
目前,视频监控系统在铁路上已有广泛应用,而且范围还在继续扩大。铁路货车装载视频监控就是典型的应用之一。铁路货车装载视频监控是在轨道两侧安装高清高速摄像头,用于监控铁路货车的装载情况,如发现问题及时通知前方车站做停车处理。轨道的每一侧各安装上、下2台摄像机,分别监控货车的下部和上部,一
共4台摄像机,有4个实时画面。当列车通过后,列检人员需要慢速回放录像查看有无遗漏问题。但是在回放过程中,4个画面回放不同步,导致货检人员查看困难;一般情况下,车号只有下部摄像机才能看到,当货车上部出现问题时,由于回放不同步,不能确定出问题车的车号,给现场使用带来很多不便。因此有必要对视频回放同步这一技术进行研究,以更好满足运输一线人员需求。
通过查看大量的录像数据,发现每组录像数据的起始点并不相同,称为源不同步。在试验过程中还发现,即使源同步,在播放过程中也会发生不同步的情况。由此可见,产生4路播放画面不同步的原因主要是由于录像文件源不同步和播放不同步而造成的。因此,以下研究内容主要针对上述两种情况讨论。
2  技术实现
技术实现主要包括录像源文件的同步实现和播放控制的同步实现。 2.1  录像文件源同步
当外部触发录像信号(磁钢信号)输入时,货检监
铁路货车装载监控多视频回放同步的研究
范强:呼和浩特铁路局科研所,工程师,内蒙古 呼和浩特,010050
摘 要:针对铁路货车装载监控多视频回放不同步的现状,通过深入研究视频不同步的原因,利用H.264视频编解码技术,有效控制录像文件源同步和播放同步,最终实现多视频回放同步,解决了现场实际问题。该技术使用纯软件方式,相比其他硬件实现方式,改造难度小、成本低,在类似问题上具有很好的应用前景。
关键词:铁路货车;装载监控;多视频回放;同步
中图分类号:U298;TP319    文献标识码:A 文章编号:
1001-683X(2016)09-0067-04
专栏·视频与安全
铁路货车装载监控多视频回放同步的研究  范强
控系统开始录像,录像要保证严格的源同步,这就要求开启4画面录像的时间要在很短的时间内完成。按照现场相机设置,帧率为25帧,那么每帧的时间为40 ms。如果按照在主程序中顺序执行编程的方式,录像文件的帧数相差10帧以上,列车画面相差半个车以上,远远不能满足现场使用的需求。经过反复试验,发现使用多线程的编程方式,可以有效控制4个录像文件的总帧数相差不大。并在此基础上根据H.264编码标准,只要是I帧也就是关键帧肯定会被存储,因此在存储之前要先设置当前帧为I帧。经过两方面的改进,能控制4个录像文件的总帧数最大相差4帧,并且开始帧几乎同步,即可保证4个画面的录像文件源基本同步,满足了现场的使用需求。
因此,为解决源同步问题,利用多线程开启、关闭录像,并且使用强制I帧的方式。多线程采用定时器的实现方式,需要开启录像和关闭录像只需要启动一次相应的定时器便可以了。本应用使用Delphi语言实现,摄像机控制使用的是海康SDK(程序开发包)。其核心代码如下:
procedure TfrmMain.Timer3Timer(Sender: TObject);//定义一个定时器,用于开启录像
var f1,f2,f3,f4:string;
FHandle:integer;
begin
Self.Timer3.Enabled:=False;
FRecordName := FRecordPath + FormatDateTime('yy yymmddhhnnss', Now);
f1 := FRecordName + '01.264';
FHandle:=FileCreate(f1);
FileClose(FHandle);
牙齿修复体f2 := FRecordName + '02.264';
FHandle:=FileCreate(f2);
FileClose(FHandle);
大功率同轴固定衰减器f3 := FRecordName + '03.264';
FHandle:=FileCreate(f3);
FileClose(FHandle);
f4 := FRecordName + '04.264';
FHandle:=FileCreate(f4);
FileClose(FHandle);
if lRealHandle_1>=0 then
//强制I帧
NET_DVR_MakeKeyFrame(lUserID_1,1);
NET_DVR_SaveRealData(lRealHandle_1,PAnsiCha r(f1));
//NET_DVR_MakeKeyFrame(lUserID_1,0);
if lRealHandle_3>=0 then
NET_DVR_MakeKeyFrame(lUserID_3,1);
NET_DVR_SaveRealData(lRealHandle_3,PAnsiCha r(f3));
//NET_DVR_MakeKeyFrame(lUserID_3,0);
if lRealHandle_2>=0 then
NET_DVR_MakeKeyFrame(lUserID_2,1);
NET_DVR_SaveRealData(lRealHandle_2,PAnsiCha r(f2));
//NET_DVR_MakeKeyFrame(lUserID_2,0);
if lRealHandle_4>=0 then
NET_DVR_MakeKeyFrame(lUserID_4,1);楼宇对讲门禁系统
NET_DVR_SaveRealData(lRealHandle_4,PAnsiCha r(f4));
/
/NET_DVR_MakeKeyFrame(lUserID_4,0);
end;
procedure TfrmMain.Timer4Timer(Sender: TObject);//定义一个定时器,用于停止录像
begin
Self.Timer4.Enabled:=False;
//停止录像
if lRealHandle_1>=0 then
NET_DVR_StopSaveRealData(lRealHandle_1);
if lRealHandle_3>=0 then
NET_DVR_StopSaveRealData(lRealHandle_3);
if lRealHandle_2>=0 then
NET_DVR_StopSaveRealData(lRealHandle_2);地磁指数预报
玉米棒烘干机
if lRealHandle_4>=0 then
NET_DVR_StopSaveRealData(lRealHandle_4);
end;
2.2  播放控制同步
播放控制同步就是在保证源文件同步的基础上,在
铁路货车装载监控多视频回放同步的研究  范强
播放过程中也保持一直同步。采用的播放控制同步方式是逐帧播放方式,也就是第1个画面播放1帧、第2个画面播放1帧、第3个画面播放1帧、第4个画面播放1帧,当4个画面的第1帧播放完毕后,再开始播放第2帧,第2帧播放完毕后,再开始播放第3帧,依次类推。
逐帧播放是用定时器来实现的,原因如下:一是定时器可以实现逐帧播放的功能需求;二是可满足现场需求。现场需要在视频回放时能够减慢速度,以使图像可以看得更清楚,使用定时器后,就可以随
意更改定时器的触发间隔来控制播放速度。目前定时器设置的间隔为100 ms,也就是在1 s内定时器事件响应10次,这也说明目前的回放播放速度为每秒10帧,小于正常播放速度每秒25帧。
使用定时器后,播放器的基本操作如快进、慢放、播放、暂停等都是在操作定时器。核心代码如下:procedure TfrmPlayBack.Timer2Timer(Sender: TObject);//播放控制定时器触发内容
var p7,p8,p9,p10,pMax:Integer;
begin
//前置初始化代码在此省略
//4个播放画面各自播放一帧
PlayM4_OneByOne(7);
PlayM4_OneByOne(8);
PlayM4_OneByOne(9);
PlayM4_OneByOne(10);
//后续代码在此省略
end;
procedure TfrmPlayBack.SpeedButton1Click(Sender: TObject);//开始播放按钮代码
begin
//前置初始化代码在此省略
//触发播放定时器,并且设置响应间隔为100ms,即1秒10次,用来播放逐帧播放4画面
Timer2.Interval := 100;
Timer2.Enabled := True;
//后续代码在此省略
end;
procedure TfrmPlayBack.SpeedButton2Click(Sender: TObject);//暂停按钮代码
begin
//前置初始化代码在此省略
//停止播放器控制定时器,用来暂停4画面播放
Timer2.Enabled := False;
//后续代码在此省略
end;
procedure TfrmPlayBack.SpeedButton7Click(Sender: TObject);//快进按钮代码
begin
//前置初始化代码在此省略
//缩小播放定时器的间隔,视频就能快速播放
begin
Timer2.Enabled := False;
Timer2.Interval := Timer2.Interval div 2;
Timer2.Enabled := True;
end;
//后续代码在此省略
end;
以上代码实现了定时器播放方式及视频的播放、暂停和快进。视频播放的慢进、停止等操作与此类似。
调度主机
3  现场测试效果
技术改造后的软件安装在呼和浩特站呼西运转车
间,技术改造前后的视频分析截图见图1、图2。
图1  技术改造前的回放截图
铁路货车装载监控多视频回放同步的研究  范强
从图1和图2可以看出,技术改造后的效果非常明显。本次技术改造达到了预期目标,满足了运输生产一线的安全需求。
图2  技术改造后的回放截图
4  结束语
通过分析铁路货车装载监控多视频回放不同步的原因,利用H.264视频编解码技术,有效控制源同步和播放同步,最终实现了多视频回放同步,解决了运输现场的实际问题。由于该方案使用纯软件方式,相比其他硬件的实现方式,改造难度小、成本低,在类似问题上具有很好的应用前景[1]。
参考文献
[1] 向稳新. 铁路视频监控软件解决方案及发展趋势[J].
中国铁路,2014(4):92-93,97.
手绘插图  雷启雯责任编辑  卢  敏收稿日期  2016-05-27
专栏·视频与安全

本文发布于:2024-09-22 07:18:14,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/109976.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:录像   播放   视频
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议