Вопрос интеграции видеопотока в реальном времени часто возникает при автоматизации рабочих мест сотрудников службы безопасности, отделов кадров (для фиксации собеседований) или на производственных линиях. В случае с классическими конфигурациями, такими как ЗУП 2.5, задача осложняется использованием обычных форм и ограниченными возможностями встроенного браузера. В данной статье мы подробно разберем, как вывести видео с IP-камеры Hikvision на рабочий стол 1С, используя разные подходы.
Большинство современных IP-камер отдают поток по протоколу RTSP. Стандартный Windows Media Player часто не справляется с этим протоколом без установки дополнительных фильтров. Наиболее стабильным решением является использование компоненты от VLC Media Player. Рассмотрим этот процесс по шагам.
Критически важное замечание по разрядности: Платформа 1С:Предприятие в большинстве случаев является 32-битным приложением (особенно старые версии 8.2 и 8.3 для обычных форм). Поэтому в системе обязательно должен быть установлен 32-битный VLC Player. Если вы установите 64-битную версию, 1С просто не «увидит» нужный ActiveX объект.
Разберем алгоритм настройки:
ПолеHTMLДокумента. Мы будем использовать его как контейнер для плеера.Проанализируем пример кода, который позволит встроить плеер непосредственно в форму 1С:
Процедура ПриОткрытии()
ТекстHTML =
"<html>
|<body style='margin:0; padding:0; overflow:hidden;'>
|<object classid='clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921'
| width='100%' height='100%' id='vlc' events='True'>
| <param name='MRL' value='rtsp://admin:password@192.168.1.244:554/Streaming/Channels/101' />
| <param name='ShowDisplay' value='True' />
| <param name='AutoLoop' value='True' />
| <param name='AutoPlay' value='True' />
| <embed type='application/x-vlc-plugin' name='vlc' target='rtsp://admin:password@192.168.1.244:554/Streaming/Channels/101' />
|</object>
|</body>
|</html>";
ЭлементыФормы.ПолеHTMLДокумента1.УстановитьТекст(ТекстHTML);
КонецПроцедуры
Разберем параметры, которые мы передаем. Ссылка вида rtsp://логин:пароль@IP-адрес:порт/Streaming/Channels/101 является стандартной для камер Hikvision. Параметр 101 означает первый канал (основной поток). Если видео тормозит или потребляет много трафика, попробуйте сменить на 102 (второй поток с меньшим разрешением).
Если работа с ActiveX кажется избыточной или возникают проблемы с регистрацией библиотек на клиентских машинах, можно воспользоваться методом MJPEG. Выясним причину, почему это удобно: в данном режиме видео передается как последовательность обычных картинок (JPEG), и 1С может отобразить такой поток как обычное изображение в ПолеHTMLДокумента без каких-либо кодеков.
Для реализации этого метода необходимо сначала подготовить камеру:
MJPEG. Сохраните настройки.Теперь в 1С нам достаточно вставить простейший HTML-код. Рассмотрим, как это выглядит на практике:
Процедура ОбновитьВидеоПоток()
// Используем прямую ссылку на MJPEG поток камеры
СсылкаНаПоток = "http://admin:password@192.168.1.244/ISAPI/Streaming/channels/102/httpPreview";
ТекстHTML = "<html><body style='margin:0;'>" +
"<img src='" + СсылкаНаПоток + "' width='100%' height='auto'>" +
"</body></html>";
ЭлементыФормы.ПолеHTMLДокумента1.УстановитьТекст(ТекстHTML);
КонецПроцедуры
Важный нюанс: Не все старые прошивки поддерживают Basic авторизацию в URL. Если картинка не появляется, проверьте в настройках безопасности камеры (System -> Security -> Authentication), что для RTSP и HTTP разрешен метод "digest/basic".
Если стоит задача использовать именно встроенный ActiveX Windows Media Player, необходимо подготовить среду исполнения. Стандартно WMP не поддерживает кодек H.264/H.265, который отдают IP-камеры по RTSP.
Выясним, что нужно сделать:
K-Lite Codec Pack версии Mega или Standard.LAV Splitter включен для обработки протокола RTSP.ActiveX: Windows Media Player.URL.Пример программного управления объектом WMP:
Процедура КнопкаЗапускНажатие(Элемент)
Плеер = ЭлементыФормы.ActiveX_WMP;
Плеер.URL = "rtsp://admin:password@192.168.1.244:554/Streaming/Channels/101";
Плеер.controls.play();
КонецПроцедуры
Однако, как показывает практика обсуждений на форумах, этот метод наименее стабилен, так как сильно зависит от установленных в системе фильтров отрисовки видео.
Рассмотрим подробнее ситуации, когда видео не воспроизводится, хотя ссылка верная:
:rtsp-tcp.ПолеHTMLДокумента в обычных формах использует движок установленного в системе Internet Explorer. Если вы пытаетесь использовать современные JS-плееры (типа Video.js), они могут не запуститься из-за устаревшего режима рендеринга. Используйте теги <meta http-equiv='X-UA-Compatible' content='IE=edge'> внутри вашего HTML-текста для активации современного режима.Выясним, какой метод выбрать. Если вам нужно высокое качество и звук — выбирайте VLC ActiveX. Если же задача просто видеть картинку (например, кто подошел к двери или к столу регистрации) и вы хотите избежать установки лишнего ПО на клиентские ПК — используйте MJPEG-поток через обычный тег <img>.
Совместное использование 1С и систем видеонаблюдения Hikvision открывает большие возможности для бизнеса, от контроля дисциплины до автоматического сопоставления событий в учетной системе с видеоархивом.