ActiveX компонента для отображения картинки с IP камер Hikvision


ActiveX компонента для отображения потокового видео с IP камер Hikvision

АctiveX компонента, предназначена для отображения потокового видео с ip камер Hikvision на форме 1С с использованием SDK Hikvision. Дополнительным функционалом является возможность наложения OSD текста поверх изображения с камеры программно (свойства компоненты osd и enableWeightOSD). (enableWeightOSD  — отражение первоначального предназначения компоненты — вывод веса с весового терминала на видео). Совместимость 1С 8.0 — 8.3. неуправляемые, управляемые формы (отображение в форме в поле HTML или при использовании внешних компонент-контейнеров типа //infostart.ru/public/292918/). 

Перед установкой необходимо скачать SDK с официального сайта Hikvision (требуется регистрация) http://www.hikvision.ru/download, установить на компьютер. 

Компонента написана на платформе .NET, поэтому для работы требуется установленный Netframework. У кого его еще нету — скачать можно отсюда https://www.microsoft.com/ru-RU/download/details.aspx?id=48130

Регистрация компоненты: cmd с правами администратора, regasm HCNetSDK.NET.dll /codebase 

Соответственно, должны быть корректно указаны все пути к компоненте и к утилите regasm.

Например, так: C:WindowsMicrosoft.NETFrameworkv4.0.30319
egasm.exe C:extComp1cHCNetSDK.NET.dll /codebase

Пример кода с использованием контейнера ActiveX для управляемых форм (спасибо Максим *** //infostart.ru/profile/1560/ за контейнер)

&НаКлиенте
Перем Контейнер, ЭлементУправления;

&НаКлиенте
Процедура ПриОткрытии(Отказ)

Если Не ПодключитьВнешнююКомпоненту("AddIn.ControlContainer") Тогда
Сообщить("Компонента ActixeX-контейнер не загружена");
Возврат;
КонецЕсли;

Попытка
Контейнер = Новый("AddIn.ControlContainer");
Исключение
Сообщить("Неудачная попытка создания ActixeX-контейнера : " + ОписаниеОшибки());
КонецПопытки;

ПодключитьОбработчикОжидания("ОбработчикОжиданияОткрытияФормы", 0.2, Истина);

КонецПроцедуры

&НаКлиенте
Процедура ОбработчикОжиданияОткрытияФормы()

ОтключитьОбработчикОжидания("ОбработчикОжиданияОткрытияФормы");

ЭлементУправления = Контейнер3.УстановитьActiveX("HCNetSDK.HCNetSDKAxCtrl", 1);
ЭлементУправления.hostname = "10.7.26.188";
ЭлементУправления.username = "admin";
ЭлементУправления.password = "12345";//"GfhjkmYfRfvthe1!";//
ЭлементУправления.port = 8000;
ЭлементУправления.dllInit = Истина;
ЭлементУправления.connect = Истина;
ЭлементУправления.showVideoStream = Истина;

КонецПроцедуры

Для обычных форм все проще. После установки SDK и регистрации компоненты, она должна быть доступна в списке визуальных AсtiveX компонент. Как добавить на форму можно прочитать на просторах интернета и в учебниках по 1С. Видеопоток с камеры должен отображаться в режиме предприятия и в режиме конфигуратора, при правильно заданных параметрах подключения камеры.

5 Comments

  1. user663179_Alex--Er

    Возможно ли сохранение картинки с изображением с камеры на диск используя данную компоненту?

    Reply
  2. andy_zhav

    Да, возможно. Метод СохранитьФайл(ИмяФайла) или saveFile(fileName). Указываете полное имя файла вместе с путем

    Reply
  3. Podletc

    Андрей, как получить файли??

    Reply
  4. nefeld

    Что нужно скачать с официального сайта Hikvision и как установить SDK?

    Reply
  5. user1028204

    Андрей, день добрый!

    Есть некоторые проблемы с Вашей ActiveX компонентой: она корректно регистрируется в ОС, но изображения не получаем, хотя и сообщений об ошибках тоже нет. Также видно со стороны камеры, что подключений к ней нет.

    Я подозреваю несколько возможных причин:

    1) Библиотеки из SDK нормально не регистрируются в ОС. Поэтому пришлось просто поместить dll Вашей компоненты (перед ее регистрацией) в каталог с SDK.

    2) Используем мы ActiveX не в 1С. (Полагаем, что корректная ActiveX компонента должна работать в любой среде).

    Что скажете?

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *