COM компонента "CameraViewerCOM" для видеонаблюдения IP камер

25.07.25

Разработка - Разработка внешних компонент

COM компонента, способная показывать в 1С потоковое видео с IP камер (написано на C# на базе библиотеки OpenCvSharp4).

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
COM компонента «CameraViewerCOM» для видеонаблюдения IP камер
.epf 36,89Mb ver:1.0.1
3 4 200 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

В рамках пробного проекта по видеонаблюдению была создана COM компонента «CameraViewerCOM» для просмотра IP видеокамер (в среде VS, C# на базе библиотеки «OpenCVSharp4»). Первоначально допускалось подключение этой компоненты к 1С в управляемом режиме, но при реализации этой задачи столкнулись огромными проблемами. Оказалось, что очистки памяти по создаваемым картинкам в управляемых формах 1С не происходит совсем (из-за чего память при потоковом видео съедается моментально). Благополучнее ситуация происходит в не управляемом режиме. Тут удалось реализовать работу просмотра данных с ЧЕТЫРЕХ IP камер без потерь в оперативной памяти.

Компонента «CameraViewerCOM» многократно проверялась (без подключения к 1С) на утечку памяти. Показала себя стабильной на больших временных отрезках. Использование DLL в приложении, написанном на C# дало хорошие результаты при отображении потокового видео более чем с 10 IP камер одновременно.

Итогом данного пробного проекта стало понимание, что технологии, которые допустимо использовать в приложениях, написанных на C#, с трудом интегрируются в 1С. Причем тесты, проведенные в 1С показали, что очень многое зависит от версии платформы. Так на платформе 8.3.16.1063 (как нам казалось на протяжении 4 лет благополучной) утечка оперативной памяти происходит с катастрофической скоростью, а на платформе 8.3.25.1394 такая проблема не наблюдается.

Обработка «Демонстрашка COM компоненты "Camera viewer"», которую я выкладываю с DLL компонентой, это результат многократных оптимизаций под работу с 1С. Архив DLL загружен в макет обработки. Для того, чтобы COM компонента заработала, необходимо «распаковать» ее в выбранный каталог и зарегистрировать под правами администратора (на ПК запустив «RegCom.bat» файл). Код обработки открыт, но архив c DLL не содержит исходников.

СОМ библиотека писалась под NET Framework 4.8 для Windows 64 10-11. Доступные методы DLL «CameraViewerCOM» (объект создаем COM_Объект = Новый COMОбъект("CameraViewerCOM.CVClass");):

  1. Процедура COM_Объект.CreateVC(Строка rtspCam) – аргументом передается строка вида «IP:Port»|«RTSP команда подключения к камере, в форме rtsp://<login>:<password>@<IP>:<Port>/<дополнительные ключи запуска>»|«Описание места камеры (по желанию)». 2 разделителя «|» должны присутствовать. Первую группу «IP:Port» можно заменить на «Камера N». Последнюю модно опустить. Команда должна быть указана верно. В итоге у вас может получиться «Камера 1| rtsp://<login>:<password>@<IP>:<Port>|». Правильность команды можно проверить на «VLC media player» (бесплатный).
  2. Процедура COM_Объект.RunTmr() - запуск таймера событий приходящих с кадрами с IP видеокамер.
  3. Процедура COM_Объект.StopTmr() - остановка таймера событий приходящих с кадрами с IP видеокамер.
  4. Функция COM_Объект.GetTmrInterval() – возвращает интервал таймера событий (начальное значение 100 мс).
  5. Процедура COM_Объект.SetTmrInterval(Число TmrInt) – устанавливает интервал таймера событий.
  6. Функция COM_Объект.StatusTmr() – получаем статус таймера событий включен (истина) / отключен (ложь).
  7. Функция COM_Объект.CountCamera() – возвращает число камер в списке подключенных.
  8. Функция COM_Объект.GetBitmapStr(Строка IpPortCmr) – получить картинку камеры с наименованием IpPortCmr (поле «IP:Port») в виде строки BASE64.
  9. Функция COM_Объект.SaveToJpg(Строка IpPortCmr, Строка Path) – записать картинку камеры наименованием IpPortCmr (поле «IP:Port») в JPG файл Path.
  10. Процедура COM_Объект.DisposeVC(Строка IpPortCmr) - освобождает ресурсы по камере с наименованием IpPortCmr (поле «IP:Port»).
  11. Процедура COM_Объект.AllDisposeVC() - освобождает ресурсы по всем камерам подключенным методом «CreateVC».
  12. Функция COM_Объект.GetBitmap(Строка IpPortCmr) – получить картинку камеры с наименованием IpPortCmr (поле «IP:Port») в формате Bitmap.

Основное тестирование обработки «Демонстрашка COM компоненты "Camera viewer"» на 64 разрядной платформе 1С:8.3.25.1394 OS Windows 64 10. Допустимо закрытие обработки и открытие ее снова. Процесс видео наблюдения продолжится. Добавление своего кода в событие вызываемое компонентой «CameraViewerCOM», может вызвать утечку памяти. Т.к. событие вызывается многократно и не соблюдение правил очистки памяти, может вызвать ее переполнение.

Обработка «Демонстрашка COM компоненты "Camera viewer"» позволяет просматривать потоковое видео с 4 IP камер (до 9 если мощный компьютер) на не управляемой форме 1С:Предприятие (толстый клиент). Есть возможность останавливать видеопоток, делать скрин с самой камеры в JPG. Реализовано управление частотой обновления картинки в 1С.

Вступайте в нашу телеграмм-группу Инфостарт

Обработка COM компонента Видео IP камера.

См. также

Разработка внешних компонент POS терминал Рабочее место Розничная торговля Программист Пользователь 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Реклама, PR и маркетинг Управленческий учет Платные (руб)

Медиадисплей покупателя может отображать текущую покупку на кассовом месте, показывать видеорекламу, баннеры, во время простоя разворачивать рекламу на весь экран. Экран можно использовать в качестве графического меню-борда в кафе и видеовывески. В качестве устройства отображения можно использовать Android-планшеты, смарт-телевизоры с Android, мониторы или проекторы под управлением Windows или Linux-компьютера. Linux-версия успешно запускается на одноплатных компьютерах Raspberri Pi и Orange Pi. Настраивается ЛЮБОЙ ДИЗАЙН экрана при помощи встроенного графического редактора! Решение можно масштабировать от одного экрана до тысяч экранов с централизованным управлением.

18300 руб.

30.05.2017    56355    10    71    

47

Разработка внешних компонент Программист 1С:Предприятие 8 1C:Бухгалтерия Платные (руб)

Позволяет автоматизировать работу с картинками. С помощью компоненты можно измерять размер изображений, поворачивать их, наносить водяные знаки, конвертировать из одного формата в другой. Будет очень полезна для интернет-магазинов и всех, кому постоянно требуется работать с различными графическими форматами. Выполнена по технологии NativeAPI. Работает с форматами: jpg (jpeg), png, bmp, gif, tif

5094 руб.

02.09.2010    81194    75    280    

193

Разработка внешних компонент Программист 1С:Предприятие 8 1C:Бухгалтерия 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 Платные (руб)

Внешняя компонента позволяет работать c TWAIN-совместимым оборудованием (сканерами, камерами) . Полностью совместима со стандартной TWAIN-компонентой из БСП и может применяться как ее замена без изменения вызовов, при этом может работать с 64-разрядной платформой, а так же имеет расширенную функциональность, например, сохранение результата непосредственно в PDF без использования сторонних утилит. Прекрасно работает на сервере, тонком клиенте и веб-клиенте (проверена работа в браузерах Google Chrome, Mozilla Firefox и Microsoft Internet Explorer).

5084 руб.

12.05.2020    32780    144    100    

100

Разработка внешних компонент Системный администратор Программист Стажер Бесплатно (free)

Библиотека для работы с базами SQLite из 1С на основе внешней компоненты. Для Linux и Windows, бесплатно и с открытым исходным кодом!

14.01.2025    5986    bayselonarrend    17    

54

Разработка внешних компонент Программист 1С:Предприятие 8 Россия Бесплатно (free)

В статье описывается приложение-конструктор внешних компонент (native API). Конструктор упрощает процесс разработки за счет удобного добавления всех нужных функций и процедур в графическом режиме, с указанием их параметров и типов параметров. На выходе приложение генерирует готовый код на С++ и Rust и позволяет сразу приступить к реализации, без настройки API компоненты вручную.

04.12.2024    10553    kovalevdmv    29    

83

Разработка внешних компонент Механизмы платформы 1С Программист Стажер 1С:Предприятие 8 Бесплатно (free)

Некоторые практические аспекты создания внешних компонент на языке С++ для платформы 1С 8.3++.

26.01.2024    11225    starik-2005    40    

49
Для отправки сообщения требуется регистрация/авторизация