hikvision-rs ### πŸ“„ [δΈ­ζ–‡](docs/README.zh.md) | πŸ“„ [English](README.md) [Github](https://github.com/EternalNight996/hikvision-rs) | [Gitee](https://gitee.com/eternalnight996/hikvision-rs) | [crates.io](https://crates.io/crates/hikvision) | [Rust Doc](https://docs.rs/hikvision/0.1.6/hikvision/) # ⚑ what this ? **This is the Hikvision Camera Rust SDK, which supports universal network cameras, universal USB cameras, IoT cameras, and industrial cameras (USB, network, CamL)** ### Support SDK

SDK

Windows10

Unix

-

MVS

√

X

Industrial Capture Camera (USB、CamL、GigE)

NET

√

X

Universal Network Camera

USB

X

X

USB Camera

OTAP

X

X

Open Things Access Protocol

### SDK Support API

API

MVS

NET

USB

OTAP

-

Init SDK

√

√

-

-

Init SDK

Enumerate

√

X

-

-

Enumerate Device

Login

-

√

-

-

Login Device

Open

√

-

-

-

Open Device

Handle

√

√

-

-

Crete Device Handle

Log

√

√

-

-

Log output

Clean SDK

√

√

-

-

Clean SDK

Clean All

√

√

-

-

Clean All

Destroy All

√

√

-

-

Destroy All

Callback Sream

√

√

-

-

Callback Sream

Sream

√

√

-

-

Data Sream

Fix Network

√

X

-

-

Fix Network packet size

Preview

√

√

-

-

Display Camera Image

Capture Image

√

√

-

-

Capture Image

Save JPEG

√

√

-

-

Save One JPEG

GUI

√

√

-

-

GUI Window

# ✨ Features ```toml [features] net = [] mvs = [] default = [] ``` # πŸ“– Example ```toml [dependencies] hikvision = {version="0.1", feature=["mvs","net"]} ``` ### Examples [Init Mvs SDK](examples/global_mvs.rs) | [Init Net SDK](examples/global_net.rs) ## `πŸ’‘!important:` 1. [Env.json](Examples/Env.json) **The Lib Path of System Env; `{origin}` of init app current path** ```json { "envs": [ { "key": "HCNET_LIB", "value": "{origin}/libs/HCNet/lib" }, { "key": "HCNET_COM_LIB", "value": "{origin}/libs/HCNet/lib/HCNetSDKCom" }, { "key": "HCMVS_LIB", "value": "{origin}/libs/HCMvs/Win64_x64" } ] } ``` 2. The Hikvision Camera Lib of hikvision-rs ``` # put the lib to libs/HCMvs OR libs/HCNet cargo run --example global_mvs cargo run --example global_net ``` 3. add your Cargo.toml ```toml [dependencies] hikvision = {version="0.1", feature=["mvs","net"]} ``` # πŸš€ fast running ```sh # test global mvs init sdk cargo run --example global_mvs # test global net init sdk cargo run --example global_net ``` # 🦊 Applied Projects ### A graphical project developed through hikvision-rs; ### Capture images through Hikvision cameras, upload logs and images to the MES system ![test](./public/png/1.png) # πŸ”­ why need to hikvision-rs? # πŸ™‹ Reference items and materials