|
|
|
@ -171,6 +171,8 @@ namespace IoT.Shared.DeviceServices.Onvif
|
|
|
|
|
}
|
|
|
|
|
ipCamera.ParseProfiles();
|
|
|
|
|
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
if (needAuth)
|
|
|
|
|
{
|
|
|
|
|
ipCamera.MainStreamUriXml = this._onvifDeviceManagement.GetStreamUri(ipCamera.DeviceUrl, ipCamera.MediaUrl, device.UserName, device.Password, ipCamera.Profiles.First().Token);
|
|
|
|
@ -198,25 +200,6 @@ namespace IoT.Shared.DeviceServices.Onvif
|
|
|
|
|
device.AddorUpdateData(device.CreateData("MainSnapshotUri", ipCamera.MainSnapshotUri, DeviceDataType.String, "主码流截图地址"));
|
|
|
|
|
device.AddorUpdateData(device.CreateData("SubStreamUri", ipCamera.SubStreamUri, DeviceDataType.String, "子码流地址"));
|
|
|
|
|
device.AddorUpdateData(device.CreateData("SubSnapshotUri", ipCamera.SubSnapshotUri, DeviceDataType.String, "子码流截图地址"));
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
var jpgBytes = ScreenShot(device);
|
|
|
|
|
using (var stream = new MemoryStream(jpgBytes))
|
|
|
|
|
{
|
|
|
|
|
using (var bigImage = Image.FromStream(stream))
|
|
|
|
|
{
|
|
|
|
|
var width = 640;
|
|
|
|
|
var height = 480;
|
|
|
|
|
using (var bitmap = new Bitmap(width, height))
|
|
|
|
|
{
|
|
|
|
|
using (Graphics g = Graphics.FromImage((Image)bitmap))
|
|
|
|
|
{
|
|
|
|
|
g.DrawImage(bigImage, 0, 0, width, height);
|
|
|
|
|
device.AddorUpdateData(device.CreateData("Snapshot", Convert.ToBase64String(bitmap.ToJpeg(80)), DeviceDataType.String, "截图"));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|