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

25.07.25

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

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

Файлы

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

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

Подписка 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 камера.

См. также

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

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

3600 руб.

12.05.2020    30218    140    100    

96

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

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

3600 руб.

02.09.2010    78930    74    280    

192

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

Внешняя компонента позволяет печатать PDF файлы непосредственно из 1С, не используя при этом сторонних программ. Прекрасно работает на сервере, тонком клиенте и веб-клиенте. Основана на проекте PDFium из состава проекта Chromium/Chrome

3000 руб.

17.09.2018    37958    116    128    

119

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

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

14.01.2025    3604    bayselonarrend    14    

52

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

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

04.12.2024    7041    kovalevdmv    27    

81

Разработка внешних компонент Программист 1С v8.3 1C:Бухгалтерия 1С:Управление торговлей 11 Платные (руб)

Внешняя компонента для конвертации PDF файлов в картинки без использования дополнительных программ. Работает на сервере и в тонком клиенте.

2400 руб.

25.06.2024    1681    3    5    

3

Разработка внешних компонент Программист 1С v8.3 Бесплатно (free)

А давайте запилим 8.3.26 до релиза, или оповещение с сервера...

19.02.2024    7621    starik-2005    38    

59

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

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

26.01.2024    8749    starik-2005    40    

48
Оставьте свое сообщение