### π [δΈζ](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