回放时间定位问题

长庆油田回放时间定位问题

一:案例描述

现场反馈长庆油田的华信设备中心CVR存储回放的问题:

【客户端回放时间进度条定位不准的问题:从两个图可以看出来,回放画面里从11:53:00走到11:54:00花费了1分钟,但是下面的进度条从11:52:46走到11:53:44花费了58秒.刚好慢了2秒.也就是说目前回放画面里的时间平均1分钟会快2秒,导致两者时间越拉越大】

因此,我们需要解决现场的回放定位的问题。

二:案例分析和解决

现场反馈的客户端截图,确实存在定位不准问题。具体表现如下:

另外,后续的沟通发现,现场是两个问题:

1)录像时长下载下来只有一半时间,比如我下一分钟,但是文件只有30s;

2)客户端偏移定位不准;

2.1 时间减半问题

考虑是设备码流里面的时间不对,因此,通过客户端进行下载录像文件。期望通过海康的分析工具来确定里面的格式是否有问题。

通过分析,发现里面的时间戳是对的,但是一秒时间内只有15帧,刚好是标准帧率的一半左右。

通过登录设备网页,也进一步验证了此问题。

通过修正帧率为25后,时间长度问题解决了。

因此,这个是导致录像文件在播放器端只显示一半时间的原因。

2.2客户端偏移定位不准

修正帧率后,偏移定位还是不准。另外,客户端研发反馈开始定位一瞬间是准的,但是后面光标就不准了。

涉及下面流程,

1)中心存储取流流程:

CVR从 vag取流录像,vag通过转封装库(只支持帧率25的)将设备的es码流转为ps码流,并打上时间戳,这样客户端就可以回放有进度条(光标,显示为年月日时分秒)。

例如:

2) 中心存储进行写磁盘流程:

CVR将得到每个码流包进行写磁盘,写的同时包括增加了此时刻的CVR时间。这样,就可以解释客户端定。

3) 客户端取流CVR录像流程:

客户端向CVR回放,CVR根据客户端请求时间从磁盘里面匹配对应的时间码流,将此码流包转发给客户端。这样,就可以解释客户端定位瞬间是准的。

4)客户端偏移光标流程:

客户端拿到码流后进行解码,得到里面的PS封装时间戳,根据时间戳进行光标移动,就可以回放有光标,显示为年月日时分秒。

通过以上的流程分析,我们认为客户端的光标时间和设备OSD时间由出入问题,应该是PS封装时间戳和设备OSD两个有一个是存在问题的。

2.1码流分析时间戳验证

通过es工具分析设备的原始码流文件,确实发现时间和osd存在偏差。

2.2厂家demo分析

从厂家demo录像下来的录像文件,也存在偏差。另外,厂家demo通过不展示具体回放时间(不显示为年月日时分秒)。

2.3综合分析与改进

如上通过两个方式验证,且和转封装同事,认为是设备OSD时间和帧率存在偏差,导致回放时间展示有问题。

考虑到设备厂家已经不配合(竞争关系),改进方案为客户端光标不自动移动。

三:经验总结、预防措施等:
  1. 需要转封装的第三方设备需要改帧率为25;
四:检查项:
  1. 需要转封装的第三方设备需要改帧率为25;
相关推荐
蓝速科技25 分钟前
国产化信创终端等保合规核心防护与落地方案丨蓝速科技
大数据·运维·数据库·人工智能·科技
pt10431 小时前
Cisco Splunk for AI Operations:AIOps企业实践
运维·人工智能·自动化
郝学胜-神的一滴1 小时前
C++20模板元编程 04:变量模板 别名模板与模板Lambda实战
服务器·开发语言·数据结构·c++·程序人生
江屿风2 小时前
【Linux系统】【Linux进程终止等待详解与程序替换机制初体验】流食般投喂
linux·运维·笔记·系统架构·centos·unix
螺蛳粉 螺蛳粉2 小时前
CentOS 7.9 自建 Yum 源服务器搭建指南
linux·服务器·centos
赋创小助手2 小时前
Qwen3.8-27B 本地推理 Benchmark 解析:llama.cpp、vLLM、SGLang 与长 Context 的性能差异
服务器·人工智能·大模型·qwen·vllm·sglang·context长度
2601_949499942 小时前
工业 POF 器件国产化新思路:芯瑞科技DT‑2532Z 解决安华高 HFBR‑2532Z 供应链卡点
运维·网络·人工智能·科技·光模块
fanxiaohui121382 小时前
2026符合上飞机标准的充电宝推荐南孚传应,质量稳定又安全
运维·服务器·人工智能·科技
国际云,接待2 小时前
云服务器跨厂商迁移怎么尽量不停机:用 rsync、MySQL binlog 和 DNS TTL 做双阶段切换
运维·服务器·mysql
宝塔面板2 小时前
宝塔拨测正式发布:网站测速、持续监控、异常告警
运维