62 lines
1.6 KiB
Markdown
62 lines
1.6 KiB
Markdown
|
|
# SurveillanceClient
|
||
|
|
|
||
|
|
.NET 10 host for driving the vendor `RSNet.dll` (32-bit) to download
|
||
|
|
recorded video from a surveillance NVR/DVR.
|
||
|
|
|
||
|
|
## Layout
|
||
|
|
|
||
|
|
- `src/SurveillanceClient.Core` — class library that wraps the `RSNet.dll`
|
||
|
|
native exports behind a service interface (`IRsNetClient`).
|
||
|
|
- `src/SurveillanceClient.Cli` — console host used for iterative,
|
||
|
|
manual testing of the Core library against a real device.
|
||
|
|
|
||
|
|
## Platform
|
||
|
|
|
||
|
|
`RSNet.dll` is a 32-bit Visual Studio DLL using `__stdcall`. Every
|
||
|
|
project in this solution targets `x86` via `Directory.Build.props`.
|
||
|
|
|
||
|
|
## Running
|
||
|
|
|
||
|
|
The vendor DLL and its dependencies live in
|
||
|
|
`i:\Apps\Surveillance_client`. The CLI sets that directory as the
|
||
|
|
native DLL search path at startup so the DLL and its `.ini` config
|
||
|
|
are found.
|
||
|
|
|
||
|
|
## Credentials
|
||
|
|
|
||
|
|
Credentials are **never committed**. Configure them via .NET user
|
||
|
|
secrets (recommended) or a `appsettings.Local.json` file (ignored by
|
||
|
|
`.gitignore`).
|
||
|
|
|
||
|
|
### User secrets (recommended)
|
||
|
|
|
||
|
|
```powershell
|
||
|
|
cd src/SurveillanceClient.Cli
|
||
|
|
dotnet user-secrets set "Device:Host" "192.168.100.92"
|
||
|
|
dotnet user-secrets set "Device:Port" "9000"
|
||
|
|
dotnet user-secrets set "Device:Username" "admin"
|
||
|
|
dotnet user-secrets set "Device:Password" "your-password-here"
|
||
|
|
```
|
||
|
|
|
||
|
|
### appsettings.Local.json (alternative)
|
||
|
|
|
||
|
|
Create `src/SurveillanceClient.Cli/appsettings.Local.json`:
|
||
|
|
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"Device": {
|
||
|
|
"Host": "192.168.100.92",
|
||
|
|
"Port": 9000,
|
||
|
|
"Username": "admin",
|
||
|
|
"Password": "your-password-here"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
## Build / Run
|
||
|
|
|
||
|
|
```powershell
|
||
|
|
cd SurveillanceClient
|
||
|
|
dotnet build
|
||
|
|
dotnet run --project src/SurveillanceClient.Cli
|
||
|
|
```
|