更新记录

1.0.8(2026-04-16)

上传最新版本

1.0.6(2026-04-16)

试用无法下载?

1.0.5(2026-04-16)

上传3

查看更多

平台兼容性

uni-app(4.41)

Vue2 Vue3 Vue3插件版本 Chrome Safari app-vue app-nvue Android Android插件版本 iOS 鸿蒙
- 1.0.1 - - - - 5.0 1.0.1 × ×
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - - -

uni-app x(4.41)

Chrome Safari Android Android插件版本 iOS 鸿蒙 微信小程序
- - 5.0 1.0.0 × × -

Changbi Hikvision Camera 插件

海康威视摄像头 UTS 插件,支持 Android 平台的实时预览、云台控制、抓拍录像等功能。

功能特性

基础监控功能

  • ✅ 实时预览(Live View)
  • ✅ 多码流切换(主码流/子码流)
  • ✅ 设备登录与管理
  • ✅ 云台控制(PTZ):上下左右移动、缩放
  • ✅ 抓拍与录像:本地保存图片和视频
  • ✅ 硬件解码:使用 MediaCodec 降低 CPU 占用

性能优化

  • 硬件解码支持
  • 多码流自适应
  • 低延迟预览

快速开始

1. 安装插件

将插件复制到项目的 uni_modules 目录下。 (将示例项目中的libs 文件夹 拷贝到 uni_modules\changbi-hikvision\utssdk\app-android 下)

2. 基础使用

<template>
  <view class="container">
    <view class="video-container" :id="surfaceViewId"></view>
    <view class="controls">
      <button @click="login">登录</button>
      <button @click="startPreview">开始预览</button>
      <button @click="stopPreview">停止预览</button>
      <button @click="capture">抓拍</button>
    </view>
  </view>
</template>

<script setup>
import { ref } from 'vue'
import * as hikvision from '@/uni_modules/changbi-hikvision'

const surfaceViewId = ref('hikvision-surface')

// 登录设备
async function login() {
  try {
    const result = await hikvision.login({
      ip: '192.168.5.22',
      port: 8000,
      username: 'admin',
      password: '12345'
    })
    console.log('登录成功:', result)
  } catch (error) {
    console.error('登录失败:', error)
  }
}

// 开始预览
async function startPreview() {
  try {
    await hikvision.startPreview({
      channel: 1,
      streamType: 0, // 0-主码流, 1-子码流
      surfaceViewId: surfaceViewId.value
    })
    console.log('预览已开始')
  } catch (error) {
    console.error('预览失败:', error)
  }
}

// 停止预览
async function stopPreview() {
  await hikvision.stopPreview()
}

// 抓拍
async function capture() {
  try {
    const result = await hikvision.captureImage()
    console.log('抓拍成功:', result.path)
  } catch (error) {
    console.error('抓拍失败:', error)
  }
}
</script>

API 文档

问题

由于某天堂抠门 体积超限 60 MB 云打包失败,不得不删除掉对armeabi 和armeabi-v7a 的支持,不得不删掉一些非核心功能的代码,原则上调用是通的,可以自己参照海康官方sdk去扩展新功能。

1. 只保留 arm64-v8a 架构 ✅

  • 删除了 armeabi-v7a 目录(旧架构,现代设备都支持 arm64-v8a)

2. 删除非必需的功能模块 ✅

保留预览必需的库:

  • ✅ libhcnetsdk.so (1.42 MB) - 核心SDK
  • ✅ libHCCore.so (2.5 MB) - 核心功能
  • ✅ libHCPreview.so (0.69 MB) - 预览功能
  • ✅ libHCDisplay.so (0.9 MB) - 显示功能
  • ✅ libPlayCtrl.so (5.08 MB) - 播放控制
  • ✅ libcrypto.so (4.26 MB), libssl.so (0.65 MB) - 加密通信
  • ✅ libjnidispatch.so (0.09 MB) - JNA调用
  • ✅ libNPQos.so (2.46 MB) - 网络质量

已删除非必需模块:

  • ❌ libHCAlarm.so - 报警功能
  • ❌ libHCIndustry.so - 工业功能
  • ❌ libHCVoiceTalk.so - 语音对讲
  • ❌ libHCPlayBack.so - 回放功能
  • ❌ libHCGeneralCfgMgr.so - 通用配置管理
  • ❌ libHCCoreDevCfg.so - 设备配置
  • ❌ libAudioEngine.so - 音频引擎
  • ❌ libSystemTransform.so (6.1MB) - 系统转换
  • ❌ libPlayCtrl_L.so - 播放控制轻量版
  • ❌ libcryptoPrivate.so, libsslPrivate.so - 私有加密库

3. 修改 config.json ✅

只保留 arm64-v8a 架构配置

详见 API.md

测试设备信息

  • IP地址: 192.168.5.22
  • 用户名: admin
  • 密码: 12345
  • 端口号: 8000
  • 通道号: 1
  • 设备型号:DS-2DC2D20IW-DE3
  • 主控版本:V5.7.3 build 220215
  • 编码版本:V7.3 build 220211
  • Web版本:V4.0.51.0 build 211130
  • Plugin版本:3.0.7.45

注意事项

  1. 需要在 manifest.json 中配置相应权限
  2. 仅支持 Android 平台
  3. 需要海康威视设备支持

更新日志

详见 changelog.md

许可证

MIT License

隐私、权限声明

1. 本插件需要申请的系统权限列表:

android.permission.INTERNET,android.permission.ACCESS_NETWORK_STATE,android.permission.WRITE_EXTERNAL_STORAGE,android.permission.READ_EXTERNAL_STORAGE,android.permission.CAMERA

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率: