|
|
|
@ -188,6 +188,7 @@ namespace IoT.Shared.DeviceServices.Onvif
|
|
|
|
|
device.AddorUpdateData("MainSnapshotUri", ipCamera.MainSnapshotUri, DeviceDataType.String, "主码流截图地址");
|
|
|
|
|
device.AddorUpdateData("SubStreamUri", ipCamera.SubStreamUri, DeviceDataType.String, "子码流地址");
|
|
|
|
|
device.AddorUpdateData("SubSnapshotUri", ipCamera.SubSnapshotUri, DeviceDataType.String, "子码流截图地址");
|
|
|
|
|
device.AddorUpdateData("Snapshot", Convert.ToBase64String(SubScreenShot(device.Number)), DeviceDataType.String, "截图");
|
|
|
|
|
deviceRepo.SaveChanges();
|
|
|
|
|
this.SendDevice(device);
|
|
|
|
|
}
|
|
|
|
@ -494,10 +495,26 @@ namespace IoT.Shared.DeviceServices.Onvif
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public byte[] ScreenShot(string id)
|
|
|
|
|
public byte[] MainScreenShot(string id)
|
|
|
|
|
{
|
|
|
|
|
var camera = this.GetCamera(id);
|
|
|
|
|
var url = camera.GetDataValue("SnapshotUri");
|
|
|
|
|
var url = camera.GetDataValue("MainSubSnapshotUri");
|
|
|
|
|
if (string.IsNullOrEmpty(url))
|
|
|
|
|
{
|
|
|
|
|
return new byte[] { };
|
|
|
|
|
}
|
|
|
|
|
var hc = this._httpClientFactory.CreateClient();
|
|
|
|
|
if (camera.GetDataValue("NeedAuth") == "否")
|
|
|
|
|
{
|
|
|
|
|
return hc.GetByteArrayAsync(url).Result;
|
|
|
|
|
}
|
|
|
|
|
return hc.GetByteDigest(url, camera.UserName, camera.Password);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public byte[] SubScreenShot(string id)
|
|
|
|
|
{
|
|
|
|
|
var camera = this.GetCamera(id);
|
|
|
|
|
var url = camera.GetDataValue("SubSnapshotUri");
|
|
|
|
|
if (string.IsNullOrEmpty(url))
|
|
|
|
|
{
|
|
|
|
|
return new byte[] { };
|
|
|
|
|