diff --git a/Makefile b/Makefile index 0bd2294..ac9b3ff 100644 --- a/Makefile +++ b/Makefile @@ -171,9 +171,9 @@ pack/linux: $(eval dir := $(BUILD_DIR_ROOT)/$(GOOS)_$(GOARCH)) @make build/local GOOS=$(GOOS) GOARCH=$(GOARCH) $(eval dir := $(BUILD_DIR_ROOT)/linux_amd64) - @cp -r deploy/easyvqd/* $(dir) + @cp -r deploy/easyvqd/* deploy/so/* $(dir) @cp -r deploy/lin/ $(dir)/VqdSDK/ - @cp -r deploy/conf/* $(dir)/configs/ + @cp -r deploy/conf/ $(dir)/configs/ @mv $(dir)/bin $(dir)/easyvqd @upx $(dir)/easyvqd @make zip/linux diff --git a/deploy/easyvqd/1.png b/deploy/easyvqd/1.png deleted file mode 100644 index 6afbb7d..0000000 Binary files a/deploy/easyvqd/1.png and /dev/null differ diff --git a/deploy/easyvqd/EasyVQD.html b/deploy/easyvqd/EasyVQD.html index 7f601b4..3641ae8 100644 --- a/deploy/easyvqd/EasyVQD.html +++ b/deploy/easyvqd/EasyVQD.html @@ -1,38 +1,645 @@ - + - EasyVQD + EasyVQD 视频质量诊断 + - -

EasyVQD核心视频诊断分析能力

-
- Tsingsee -
+
+ +
+

产品介绍

+
TSINGSEE
+
+ EasyVQD 是一款智能化的视频质量诊断产品,可从网络摄像机、NVR、DVR、流媒体服务器等各类前端监控点获取实时码流,经解码后对画面进行专业质量评估,精准识别多类画质异常。 +

+ 产品通过梯度分析、颜色空间转换等技术精准判定故障,发现异常后即时告警、自动截图并保存记录,实现问题可追溯、可排查,将监控运维模式从 "被动响应" 升级为 "主动预警、精准排查",推动视频监控管理向智能化、精细化方向升级。 +
+
+ +
+

核心能力

+
+
+
📡
+ 多源码流接入能力 +

支持从网络摄像机、NVR、DVR、流媒体服务器等多种前端设备获取实时码流,适配性强。

+
+
+
🔍
+ 精准异常识别能力 +

可精准识别 11 类画质异常,包括清晰度异常、亮度对比度异常、偏色、噪声干扰、画面抖动、画面冻结、遮挡、条纹、信号丢失等。

+
+
+
⚠️
+ 智能分析告警能力 +

通过梯度分析、颜色空间转换等技术精准判定故障,异常发生时即时触发告警,同时自动截图并留存记录,保障问题可追溯、可排查。

+
+
+
⏱️
+ 7×24 小时自动化监测能力 +

无需人工值守,可全天候不间断运行,主动发现监控画面问题,替代传统人工巡检模式。

+
+
+
+ + +
+

产品特点

+
+
+
+
🚀
+ 主动运维,效率升级 +
+
+

将传统的 "被动响应式运维" 转变为 "主动预警、精准排查" 模式,大幅减少人工巡检成本,提升运维效率。

+
+
+
+
+
⚙️
+ 技术驱动,精准诊断 +
+
+

依托梯度分析、颜色空间转换等专业技术,实现对画质异常的精准判定,降低误报率。

+
+
+
+
+
🌐
+ 全量覆盖,场景适配广 +
+
+

可适配不同类型的前端监控设备,支持多行业复杂场景的监控质量检测。

+
+
+
+
+
📊
+ 可追溯性强 +
+
+

异常告警同步保存截图与记录,便于后续问题复盘与根源排查。

+
+
+
+
+ + +
+

适配场景

+
+
+
+ 政务公共安全领域 +
+
+
TSINGSEE
+

在城市天网、治安卡口等监控场景中,保障视频画面清晰、稳定,为事件回溯与案件侦破提供可靠的视频依据。

+
+
+
+
+ 工业园区场景 +
+
+
TSINGSEE
+

对厂区周界、生产车间等监控点位进行实时诊断,避免因画面模糊、遮挡、信号丢失等问题导致安全隐患遗漏。

+
+
+
+
+ 金融行业场景 +
+
+
TSINGSEE
+

保障银行网点、ATM 机等区域监控画面的高质量运行,满足金融监管对视频监控的高可靠性要求。

+
+
+
+
+ 物业场景 +
+
+
TSINGSEE
+

在商业综合体、住宅小区中,对电梯、停车场、园区道路等监控点进行 7×24 小时监测,及时发现设备故障,提升物业服务质量。

+
+
+
+
+ +
+

识别效果

+
+
+
+ 花屏检测 +
+
+
TSINGSEE
+
+
+
+
+ 遮挡检测 +
+
+
TSINGSEE
+
+
+
+
+ 噪声检测 +
+
+
TSINGSEE
+
+
+
+
+ 对比度检测 +
+
+
TSINGSEE
+
+
+
+
+
\ No newline at end of file diff --git a/deploy/easyvqd/EasyVQD.ico b/deploy/easyvqd/EasyVQD.ico index a6da128..0395d56 100644 Binary files a/deploy/easyvqd/EasyVQD.ico and b/deploy/easyvqd/EasyVQD.ico differ diff --git a/deploy/easyvqd/assets/case1.png b/deploy/easyvqd/assets/case1.png new file mode 100644 index 0000000..e32dc86 Binary files /dev/null and b/deploy/easyvqd/assets/case1.png differ diff --git a/deploy/easyvqd/assets/case2.png b/deploy/easyvqd/assets/case2.png new file mode 100644 index 0000000..36a2016 Binary files /dev/null and b/deploy/easyvqd/assets/case2.png differ diff --git a/deploy/easyvqd/assets/case3.png b/deploy/easyvqd/assets/case3.png new file mode 100644 index 0000000..cb16abc Binary files /dev/null and b/deploy/easyvqd/assets/case3.png differ diff --git a/deploy/easyvqd/assets/case4.png b/deploy/easyvqd/assets/case4.png new file mode 100644 index 0000000..7fb5d13 Binary files /dev/null and b/deploy/easyvqd/assets/case4.png differ diff --git a/deploy/easyvqd/assets/home.png b/deploy/easyvqd/assets/home.png new file mode 100644 index 0000000..df27f08 Binary files /dev/null and b/deploy/easyvqd/assets/home.png differ diff --git a/deploy/easyvqd/assets/vqd1.png b/deploy/easyvqd/assets/vqd1.png new file mode 100644 index 0000000..c85e5e6 Binary files /dev/null and b/deploy/easyvqd/assets/vqd1.png differ diff --git a/deploy/easyvqd/assets/vqd2.png b/deploy/easyvqd/assets/vqd2.png new file mode 100644 index 0000000..e56afa3 Binary files /dev/null and b/deploy/easyvqd/assets/vqd2.png differ diff --git a/deploy/easyvqd/assets/vqd3.png b/deploy/easyvqd/assets/vqd3.png new file mode 100644 index 0000000..a2bc90d Binary files /dev/null and b/deploy/easyvqd/assets/vqd3.png differ diff --git a/deploy/easyvqd/assets/vqd4.png b/deploy/easyvqd/assets/vqd4.png new file mode 100644 index 0000000..ce42975 Binary files /dev/null and b/deploy/easyvqd/assets/vqd4.png differ diff --git a/deploy/easyvqd/package.json b/deploy/easyvqd/package.json index f476766..229d9d4 100644 --- a/deploy/easyvqd/package.json +++ b/deploy/easyvqd/package.json @@ -19,7 +19,7 @@ "homepage": "EasyVQD.html", "icon": "EasyVQD.ico", "updated_at": "2025-12-26", - "version": "v0.0.8", + "version": "v0.0.10", "website": "https://www.tsingsee.com", "activation": "service", "status": "" diff --git a/deploy/so/libcrypto.so.10 b/deploy/so/libcrypto.so.10 new file mode 100644 index 0000000..df93449 Binary files /dev/null and b/deploy/so/libcrypto.so.10 differ diff --git a/deploy/so/libssl.so.10 b/deploy/so/libssl.so.10 new file mode 100644 index 0000000..88fe1fa Binary files /dev/null and b/deploy/so/libssl.so.10 differ diff --git a/pkg/vqdcms/vqd_linux.go b/pkg/vqdcms/vqd_linux.go index d7d892a..6852363 100644 --- a/pkg/vqdcms/vqd_linux.go +++ b/pkg/vqdcms/vqd_linux.go @@ -147,8 +147,7 @@ func VQDInit() (err error) { if vqdInitDLL { return } - cwd, _ := os.Getwd() - vqdSDKDir := filepath.Join(cwd, "VqdSDK") + vqdSDKDir := filepath.Join(CWD(), "VqdSDK") var errmsg [128]C.char ret := C.VQDLoad(C.CString(vqdSDKDir), C.int(len(vqdSDKDir)), &errmsg[0]) if ret != 0 { diff --git a/pkg/vqdcms/vqd_windows.go b/pkg/vqdcms/vqd_windows.go index c91f48f..83a6ed6 100644 --- a/pkg/vqdcms/vqd_windows.go +++ b/pkg/vqdcms/vqd_windows.go @@ -21,7 +21,6 @@ import "C" import ( "fmt" "log/slog" - "os" "path/filepath" "syscall" "unsafe" @@ -39,8 +38,7 @@ func VQDInit() (err error) { if vqdDLL != nil { return } - cwd, _ := os.Getwd() - vqdSDKDir := filepath.Join(cwd, "VqdSDK") + vqdSDKDir := filepath.Join(CWD(), "VqdSDK") C.LoadDllDir(C.CString(vqdSDKDir), C.int(len(vqdSDKDir))) vqdDLL, err = syscall.LoadDLL(filepath.Join(vqdSDKDir, "EasyVQD.dll")) if err != nil { diff --git a/web/src/components/VqdTask.tsx b/web/src/components/VqdTask.tsx index 9abce43..c0db1ce 100644 --- a/web/src/components/VqdTask.tsx +++ b/web/src/components/VqdTask.tsx @@ -119,7 +119,7 @@ export default function VqdTaskPage() { align: "center", render: (text, record) => ( - {text} + {text||record.channel_id} ), },