По сути – это инструмент, который позволяет применять внешнюю компоненту во многих самых различных отраслях.
Что может наша внешняя компонента?
Приведем примеры далеко не всех возможностей внешней компоненты:
· Контроль продавцов и покупателей, запись видео с камер и привязкой к документам 1С;
· Создание фотографий сотрудников в отделе кадров при приеме на работу из 1С;
· Создание скриншотов (снимков рабочего стола) из 1С;
· Помимо записи видео, наложение дополнительной текстовой информации на видео.
Важно понимать, что мы предоставляем лишь инструмент, с помощью которого можно все это реализовать. Так же, в комплект поставки включена демо-конфигурация, которая иллюстрирует работу с внешней компонентой.
a. Поддержка стандартных и HD-веб камер (Axis, Bowya, Bosch, Canon, Convision, Digicom, EasyN, D-Link, Panasonic, Sanyo, Silicon, Sony, Surecom, TP-Link и многие другие);
b. Профессиональные HD-карты видео-захвата, (например, BlackMagic Decklink);
c. GigE камеры (PointGrey cameras);
2) Поддержка устройств видео захвата:
a. PCI/PCIe аналоговые композитные карты видео захвата (например, OsPrey 210, OsPrey 440)
b. аналоговый композитный захват USB (например, Easycap);
c. Различные устройства видео захвата, в том числе в формате H264 или MPEG аппаратного кодирования (например, AverMedia Live Gamer Portable);
d. Экспресс-карты видео захвата (например, TimeLeak HD capture);
3) Поддержка различных IP-камер:
a. В режиме RTSP H264/AAC и MPEG4;
b. В режиме HTTP/MPEG, JPEG или ASF;
c. Камер с аутентификацией (логин/пароль);
d. Прямая потоковая передача по протоколу RTSP, или потоковая передача по RTSP, RTMP или HTTP с медиа сервера;
4) Создание фото с поддерживаемых устройств как с пред просмотром, так и без.
5) Запись видео/аудио и сжатие записанного видео/аудио на лету с использованием видео/аудиокодеков в форматы AVI, MP4, MOV, WMV/ASF, MKV, FLV, AVI, Ogg/Theora, WebM, как с пред просмотром, так и без.
6) Создание скриншотов и запись с рабочего стола фото и видео;
7) Размещение на изображениях и видео собственных оверлейных данных:
a. Логотипов;
b. Текста;
8) Обрезка изображений;
Поддерживаемые ОС: MS Windows XP/2000/2003/Vista/7/8/8.1/10.
Версия 1С: 8.2/8.3/8.4 обычные или управляемые формы.
В демо-версии имеются следующее ограничения по созданию фото и видео:
Нашей внешней компонентой поддерживаются все современные видеокамеры. Как правило, они идут с USB-входом, а также содержат комплект драйверов, которые позволяют захватывать фото и видео.
В режиме записи видео поддерживается запись звука. Для этого необходимо дополнительно к камере к системному блоку подсоединить микрофон и установить для него драйвера. Так же есть видеокамеры, которые сразу содержат микрофон.
Качество записи фото и видео зависит от видео камеры. При создании фото и видео с камеры, программно можно изменять характеристики записываемого фото и видео (разрешение фото и видео, используемые кодеки и свойства).
Ответ прост: почти все современные!
Конкретней: все ip-камеры, которые поддерживают работу Motion JPEG (MJPG) или JPG режиме, а также ip-камеры с поддержкой H264/MPEG4 режима после установки RTSP/RTMP фильтра, который идет в комплекте с решением.
Но тут важно понимать, что компонента работает не с IP-адресом камеры, а с потоком. Для разных ip-камер, строка подключения будет разная.
Например, для камер Axis:
A-Linking
/GetData.cgi
Airlink
/mjpeg.cgi
/cgi/mjpg/mjpeg.cgi
/cgi/jpg/image.cgi
Airlive
/video.mjpg
/mjpg/video.mjpg
Airwave
/cgi-bin/pusher.cgi
Arecont
/mjpeg?res=full&x0=0&y0=0&x1=100%&y1=100%&quality=12&doublescan=0&fps=1&ver=HTTP/1.1
/image?res=half&x0=0&y0=0&x1=1600&y1=1200&quality=15&doublescan=0
Aviosys
/GetData.cgi
Aviosys 9060-I
/cgi-bin/Stream?Video?Authorization=
Axis IP camera in MJPEG format
/axis-cgi/mjpg/video.cgi
/axis-cgi/mjpg/video.cgi?resolution=352x240 (the resolution specified must be available on the IP camera, look at the camera video settings panel)
Axis (IP video server, several cameras) in MJPEG format
/axis-cgi/mjpg/video.cgi?camera=1&resolution=320x240
/axis-cgi/mjpg/video.cgi?camera=2&resolution=320x240
/axis-cgi/mjpg/video.cgi?camera=3&resolution=320x240
/axis-cgi/mjpg/video.cgi?camera=4&resolution=320x240
/axis-cgi/mjpg/video.cgi?camera=quad&resolution=704x576 (4 x 4 layout of the 4 inputs)
Bowya (here)
/video.cgi
Bosch
/snap.jpg
Canon (VB-C50, VB-C60, etc...)
/-wvhttp-01-/
/-wvhttp-01-/GetOneShot
/-wvhttp-01-/GetOneShot?frame_count=no_limit
/-wvhttp-01-/GetStillImage
Convision
/fullsize.push?camera=1&sleep=15
Digicom
/mjpeg.cgi
D-Link (DSC2121)
/video/mjpg.cgi
D-Link
/video/mjpg.cgi
/video.cgi
/mjpeg.cgi
/cgi-bin/video.jpg
/IMAGE.jpg
/cgi-bin/video.vam
/_gCVimage.jpg
EasyN
/video.cgi
/videostream.cgi
/videostream.cgi?resolution=8
/videostream.cgi?resolution=8&rate=13
/videostream.cgi?user=username&pwd=password
Edimax
/jpg/image.jpg
/mjpg/video.mjpg
/snapshot.cgi
Ego PT-200
/cgi-bin/sf.cgi
Foscam
/videostream.cgi
/snapshot.cgi
Fulicom FC-CR1060
/cgi-bin/sf.cgi
Gadspot
/Jpeg/CamImg.jpg
/GetData.cgi?Status=0
Goscam
/cgi-bin/Stream?Video?Acc=USER?Pwd=PASSWORD?webcamPWD=RootCookies00000
(replace USER and PASSWORD by their respective values)
Kingnow PT200
/cgi-bin/sf.cgi
Hamlet
http://www.hamletcom.com/ProductDetails.aspx?ProductCode_EQ_HNIPC30W
/mjpeg.cgi
Intellinet
/jpg/image.jpg
or
/temp/image.jpg
(you may have to enable the direct HTTP image access in the setup of the camera)
Intellinet NCS18
/jpg/image.jpg
IP Cam waterproof Infrared IP Camera: http://ipcam.en.ecplaza.net/11.asp
/snapshot.cgi
IQeye
/now.jpg?snap=spush
JVC (e.g. VN-X35U/235U)
/api/video?encode=jpeg&framerate=15&boundary=on
Linksys
/img/snapshot.cgi?size=2
/img/video.mjpeg
/img/mjpeg.cgi
(MJPEG mode activated with SendIPCameraCommand ("/adm/file.cgi?h_videotype=mjpeg&todo=save")
mms://x.x.x.x/img/video.asf
(ASF mode activated with SendIPCameraCommand ("/adm/file.cgi?h_videotype=mpeg4&todo=save")
Linudix
/cgi-bin/nph-update_4ch.cgi?ch=1
Lumenera
/cgi-bin/nph-video
Marmitek
/cgi/mjpg/mjpeg.cgi
Predefined positions:
videograbber1.SendIPCameraCommand('http://[IPaddress]/cgi/admin/ptctrl.cgi?action=move&Cmd=Position1');
videograbber1.SendIPCameraCommand('http://[IPaddress]/cgi/admin/ptctrl.cgi?action=move&Cmd=Position2');
videograbber1.SendIPCameraCommand('http://[IPaddress]/cgi/admin/ptctrl.cgi?action=move&Cmd=home');
...
Pan/tilt control:
videograbber1.SendIPCameraCommand('http://[IPaddress]/cgi/admin/ptctrl.cgi?action=move&Cmd=up');
videograbber1.SendIPCameraCommand('http://[IPaddress]/cgi/admin/ptctrl.cgi?action=move&Cmd=right');
videograbber1.SendIPCameraCommand('http://[IPaddress]/cgi/admin/ptctrl.cgi?action=move&Cmd=down');
videograbber1.SendIPCameraCommand('http://[IPaddress]/cgi/admin/ptctrl.cgi?action=move&Cmd=left');
Mobotix
/record/current.jpg
/control/faststream.jpg?stream=full
/faststream.jpg?stream=full&fps=1.0 (1 fps)
/faststream.jpg?stream=full&fps=3.0 (1 fps)
/faststream.jpg?stream=full&fps=0 (max frame rate)
Moxa
//cgi-bin/video.jpg
Panasonic
/nphMotionJpeg?Resolution=640x480&Quality=Clarity
/cgi-bin/nphContinuousServerPush
/SnapshotJPEG?mode=Refresh
/cgi-bin/camera
Pixord
/Getimage.cgi
/Getimage?camera=1&fmt=full (full size)
/Getimage?camera=1&fmt=qsif (half size)
/Getimage?camera=1&fmt=sif (quarter size)
PLANET ICA-108
/jpg/image.jpg
Qnap
/cgi/mjpg/mjpeg.cgi
Samsung SNB
/video?submenu=mjpg
/video?submenu=jpg
Sanyo
/liveimg.cgi?serverpush=1 (MJPEG mode)
/liveimg.cgi (Jpeg mode)
Sharkx
/stream.jpg
Silicon
/snapshot.cgi
Skyway Security
/GetData.cgi?Status=0
/Jpeg/CamImg.jpg
Sony
/image
/image?speed=0
/oneshotimage.jpg
Shenzen Sunsky S-NC-0201: http://www.sun-usb.com/product/details/S-NC-0201.htm
/cgi-bin/sf.cgi
Surecom
/mjpeg.cgi
Swann IP-3G ConnectCam 1000
/cgi/jpg/image.cgi
Topcom
http://www.topcom.net/fiche.asp?p_EQ_wirelessipcam2000
/mjpeg.cgi
Toshiba
/__live.jpg?&&&
getstream.cgi?10&10&&&10&0&0&0&0
TP-Link
/jpg/image.jpg
/video.mjpg
(the "/video.mjpg" MJPEG streaming is available only after disabling the RTSP streaming and rebooting the camera)
Trendnet: http://trendnet.com/products/products.asp?cat=48
/goform/video (e.g. TV-IP201W)
/goform/video2 (e.g. TV-IP201W)
/cgi/mjpg/mjpg.cgi (e.g. TV-IP410)
/GetData.cgi
/image.jpg
Vilar
/cgi-bin/sf.cgi
Vivotek
/video.mjpg (IP71.., IP 73.., VS71.. cameras. Be sure to enable the MJPG mode in the video settings)
/cgi-bin/video.jpg
/cgi-bin/viewer/video.jpg
Y-Cam
/stream.jpg
Zavio
/jpg/image.jpg
- Получать аудио / видео источников в RTSP, RTMP, HTTP, UDP, MMSh форматов потоково,
- Получить webradios источников в RTSP / RealAudio или форматов потокового Shoutcast,
- Подключить асинхронно к URL, не блокируя основной поток (фильтр граф получает уведомление, когда соединение завершается),
- Декодировать потоки с низкой задержкой и выставить несжатое видео и / или аудио выходных контактов,
- Применять несколько текстовых наложений над декодированные кадры,
- Настроить яркость, тон, насыщенность,
- Запись в то же время видеопотоков в своем родном формате без перекодирования, непосредственно в файл (MP4, FLV, MOV, AVI, MKV или файл),
- Захват снимков в растр памяти или в файл,
- Кодировать аудио потоки в PCM, MP3 или AAC, в зависимости от имени файла записи (например, H264 / AAC для записи MP4),
- Во время записи, создавать новые файлы на лету без потери кадров и без паузы / остановки / перезагрузки график.
Фильтр содержит примеры возможности обратного вызова. Она включает в себя внутренне необходимые мультиплексоры (MP4, FLV, MOV, AVI и MKV MUX) и не перекодировать в H264, он сохраняет непосредственно родные образцы H264 в файл.
Если аудио запись включена аудио поток кодируется в PCM, MP3 или AAC, в зависимости от формата записывается (например, H264 / AAC для MP4).
В папке с дистрибутивом присутствует файл:
«RTSP, RTMP, HTTP DirectShow Source Filter\DatasteadRTSPFilterInstaller.exe»
Который является само-распаковывающимся архивом и содержит фильтр.
- На 32-битных ОС, устанавливаются и регистрируются x86 бинарные файлы.
- На 64-битных ОС, устанавливаются и регистрируются x86 и x64 бинарные файлы.
Чтобы автоматически установить фильтр из собственного установщика без вмешательства пользователя, запустите файл DatasteadRTSPFilterInstaller.exe и установите его.
Следует с осторожностью относится к активации внешней компоненты. Активация внешней компоненты «привязывается» к тому компьютеру, на котором она была запущена. Полученный код активации может быть активирован ровно столько раз, сколько было куплено лицензий.
Активация можно произвести несколькими способами.
Шаг 1. Получение ключа активации используя полученный код активации и идентификатор компьютера из окна активации.
Это можно сделать несколькими способами:
Вызывать программно форму фотографирования и в левом нижнем углу в открывшейся форме в подменю нажать «Регистрация». Вот как это выглядит:
Шаг 2. После нажатия откроется вот это окно:
Шаг 3. Обратите внимание указан ID компьютера. Он будет разным для каждого из компьютеров, где будет активация. После нажатия на ссылку «Выполнить активацию» откроется сайт, где необходимо активировать решение.
Шаг 4. После копирования необходимо вставить обратно в программу и нажать «Зарегистрировать».
Шаг 5. Перезапустите конфигурацию для того, чтобы закончить процесс активации.
Обратите внимание! В конфигурации должна присутствовать обработка событий (процедура ВнешнееСобытие) как в демо-версии у основной формы обработки «МediaBuild_Демонстрация». Каждый такой ключ сохраняется отдельно в регистр сведений с настройками и присваивается на том компьютере, где был активирован при загрузке настроек ВК. Для каждого компьютера, где происходит активация ключ разный!
В демо-конфигурации есть кнопка «Активация».
Посмотрите, как она работает в демо-версии и вызовите ее самостоятельно в своем решении.
После регистрации возможно открыть окно регистрации и проверить на кого зарегистрирована лицензия и ее параметры.
После нажатия гиперссылки:
Опишем все свойства и методы внешней компоненты.
Во время работы во внешней компоненте могут срабатывать определенные события, которые не зависят от 1С. Обработка таких событий осуществляется на стороне 1С в предопределенной процедуре формы или модуля приложения. В первом параметре процедуры передается параметр «Источник», он всегда равен: «MediaBuild» и говорит о том, что событие пришло от ВК. Вторым параметром идет тип события «Событие[Число]» (тип Строка обязателен), которые отвечает на вопрос, а что это за событие и от какой камеры оно пришло. И, наконец, третьим параметром идет параметр «Данные» (тип Строка не обязателен). Он хранит данные, которые может передать ВК.
Для того, чтобы можно было принимать события от ВК в открытой форме определите встроенное событие формы ВнешнееСобытие:
А вот описание процедуры:
&НаКлиенте
Процедура ВнешнееСобытие(Источник, СобытиеИКамера, Данные)
// Обработка событие от внешней компоненты MediaBuild
Если Источник = "MediaBuild" Тогда
Событие = Лев(СобытиеИКамера, Найти(СобытиеИКамера, "[") - 1); // Что за событие
НомерКамерыСобытия = Число(Сред(СобытиеИКамера, Найти(СобытиеИКамера, "[") + 1,
Найти(СобытиеИКамера, "]") - Найти(СобытиеИКамера, "[") - 1)); // От какой камеры
Если Событие = "Activation" Тогда
// Программа активирована надо записать "Данные" и
// присвоить ВК
ИначеЕсли Событие = "Frame" Тогда
// Получен кадр из ВК созданный методом GetFrames
ИначеЕсли Событие = "Error" Тогда
// Сообщение об ошибке
ИначеЕсли Событие = "DiskFull" Тогда
// Тут можно остановить запись и присвоить новый ПутьКХранилищу для записи видео
ИначеЕсли Событие = "…" Тогда
…
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Опишем все события, которые возникают.
Это событие возникает после активации в ВК и в параметре Данные возвращается ключ активации, который необходимо записать в ИБ и присваивать ВК в будущем. Ключ активации генерируется для каждого компьютера, работающего с ВК отдельно. Активация происходит онлайн.
Возникает если запустили процедуру ПолучитьКадры (GetFrames) и нажали на кнопку в открывшейся форме «Получить». В данных возвращается имя файла, куда был сохранен полученный кадр. Рекомендуется после обработки кадра удалять его.
Возникает, при ошибке в ВК. В данных передается строка с ошибкой.
Возникает, когда диск заполняется во время записи. Необходимо программно тут же либо остановить запись, либо присвоить переменной ПутьКХранилищу (StoragePath) новый путь и выполнить НачатьЗаписьВНовыйФайл (RecordToNewFileNow), это позволит остановить запись в старом месте и продолжить запись в новом.
Камера окончила запись файла, начатого методом НачатьЗапись (StartRecording). В параметре Данные возвращает имя файла куда шла запись.
Возникает во время программной установки паузы.
Событие возникает при включенном свойстве ДетекторДвиженияВключен и указывает на то, что камера НЕ зафиксировала движение.
Событие возникает, когда устройство захвата отключено во время предварительного просмотра или записи.
Возникает, если не было обнаружено видео устройств.
Возникает при начале просмотра.
Почти все свойства доступны для чтения и записи, для свойств, которые поддерживают только чтение об этом указано отдельно.
Верхняя координата вывода оверлейного изображения. Число. По умолчанию 10.
Хранит имя файла, куда делается запись, если ведется логирование (журналирование) всех событий внешней компоненты (ВестиЛог = Истина).
Пауза в миллисекундах используется при создании фото и применяется для создания фото без визуальной формы. Необходима для того, чтобы стабилизировалась картинка на веб-камере. После того, как мы инициализируем web-камеру она может не точно передавать картинку (картинка может быть слишком светлая и т.п.). Задержка и стабилизация позволяет картинке принять нормальный вид. Число. По умолчанию 1500 мс. (1,5 секунды).
Окна с предварительным просмотром фото и видео выводить поверх всех окон. Булево. По умолчанию Ложь.
Используется для включения записи по таймеру. Число. Принимает следующие значения:
0 – отключено
1 – запись нового файла генерируется каждый ИнтервалТаймераЗаписи (RecordingTimerInterval) секунд
2 – запись прекращается после ИнтервалТаймераЗаписи (RecordingTimerInterval) секунд
3 – начать запись в режиме предварительного просмотра после ИнтервалТаймераЗаписи (RecordingTimerInterval) секунд.
Интервал времени для таймера записи. Число. Определяет интервал времени между каждым действием свойства ТаймерЗаписи (RecordingTimer) (генерирует новый файл или останавливает запись).
Создает новый файл каждый раз, когда запись приостановлена. Булево. По умолчанию Ложь. Имя нового файла записи генерируется автоматически. Новый файл будет создан, когда запись приостановлена путем вызова паузы записи. Таким образом, файл уже создан и открыт при вызове ПродолжитьЗапись (ResumeRecording), поэтому никакие кадры не теряются в это время. Если запись останавливается перед вызовом ПродолжитьЗапись (ResumeRecording), новый пустой файл (который только что был создан, когда Пауза записи была вызвана) удаляется.
Указывает на то, необходимо ли вставлять поверх видео произвольный текст. Булево. По умолчанию Ложь.
Указывает текст, который будет вставлен в видео. Текст может быть изменен в процессе создания видео. Строка.
Также текст может содержать формулы (без кавычек).
"%sys_time[dd.mm.yy hh:nn:ss]%" : текущая системная дата
"%frame_count%" : количество кадров (фреймов)
"%time_full%" : время в текущем фрейме в формате hh:mm:ss:cc
"%time_sec%" : time of the current frame, in seconds with 2 decimals
"%time_100ns%" : time of the current frame, in 100 nano-seconds units
Наименование шрифта для оверлейного текста. Строка. По умолчанию используется шрифт «Verdana».
Размер шрифта оверлейного текста. Число. По умолчанию 14.
Цвет оверлейного текста. Строка. Формат записи шрифта: #RRGGBB (где RR обозначение красной составляющей цвета в шестнадцатеричном виде, GG – зеленого, BB – синего). Примеры цветов:
#FF0000 – красный;
#00FF00 – зеленый;
#0000FF – синий;
#FFE97F – желтый;
#000000 – черный;
#FFFFFF – белый;
И т.д.
Левое положение оверлейного текста. Число. По умолчанию 0. Оверлейный текст по умолчанию выводится в левом верхнем углу видео.
Верхнее положение оверлейного текста. Число. По умолчанию 0. Оверлейный текст по умолчанию выводится в левом верхнем углу видео.
Выводить или нет оверлейное изображение (логотип). Булево. По умолчанию Ложь. Оверлейное изображение можно использовать для вывода логотипов или водяных знаков.
Левая координата вывода оверлейного изображения. Число. По умолчанию 10.
Указывает вести лог событий компонентой или нет. Может понадобиться если по какой-то причине внешняя компонента не работает. Тип Булево. По умолчанию Ложь.
Ширина вывода оверлейного изображения от верхней координаты. Число. По умолчанию 100.
Высота вывода оверлейного изображения от верхней координаты. Число. По умолчанию 100.
Прозрачно ли оверлейное изображение. Булево. По умолчанию Ложь.
Если оверлейное изображения прозрачно, то устанавливает степень прозрачности. Число от 0 до 255. 0 - не прозрачно 255 - максимально прозрачно.
Оверлейное изображение будет растянуто по ширине и высоте всего изображения/видео. Булево. По умолчанию Ложь. Используйте совместно со свойством ОверлейноеИзображениеПрозрачность и ОверлейноеИзображениеЗначениеПрозрачности.
Номер экрана монитора для записи при выполнении записи экрана. Число. По умолчанию 0.
Указывает монитор для записи при использовании записи экрана и рабочего стола распространяется на несколько мониторов.
Просто укажите номер монитора (0 для 1-го монитора, 1 для 2-го монитора, и т.д.) ...
Если установить значение в -1, то это будет записывать весь расширенный рабочий стол на всех мониторах.
Включает/отключает обрезку фото и видео кадров. Булево. По умолчанию Ложь.
При включенной обрезке фото и видео кадров отвечает за верхнюю координату точки обрезки. Все что выше не попадает в результат. Число. По умолчанию 0.
При включенной обрезке фото и видео кадров отвечает за левую координату точки обрезки. Все что левее не попадает в результат. Число. По умолчанию 0.
При включенной обрезке фото и видео кадров отвечает за ширину обрезки, начиная от точки ОбрезкаЛево (CroppingLeft). Все что левее не попадает в результат. Число.
При включенной обрезке фото и видео кадров отвечает за высоту обрезки, начиная от точки ОбрезкаВерх (CroppingTop). Все что ниже не попадает в результат. Число.
Включает или отключает детектор движения в текущей камере ВК. Булево. По умолчанию Ложь.
Устанавливает или возвращает структуру сетки детектора движения, выраженное в виде простой строки. Сетка представляет собой матрицу вида:
0 0 0 0 0 4 4 4 4 1
5 5 5 5 5 5 5 5 5 1
4 4 4 4 4 4 4 4 4 1
5 5 5 5 5 5 5 5 5 1
6 6 6 6 6 6 6 6 6 1
6 6 6 6 6 6 6 6 6 1
6 6 6 6 6 6 6 6 6 1
3 3 3 3 3 3 3 3 3 1
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
Для примера выше строка, которая передается в ВК:
"0000044441 5555555551 4444444441 5555555551 6666666661 66666666661 6666666661 3333333331 0000000000 0000000000"
Изображение разбивается этой сеткой на равные прямоугольники, а число отвечает за чувствительность прямоугольника, это число должно быть целым и находиться в диапазоне от 0 (без обнаружения движения) до 9 (максимальной чувствительности к движению). Чем число выше, тем выше чувствительность. Например, если размер видеокадра составляет 320х240, и вы указываете размер сетки из 32x24, каждая ячейка будет иметь размер 10x10. Соответственно, каждая из ячеек будет обрабатываться отдельно и проверяться есть ли в ней движение.
Примеры сеток:
2x2
0 6
6 6
Кадры будут разбиваться на 4 равных участка, причем в левом верхнем кадре детектор движения не будет срабатывать. Для примера выше строка, которая передается в ВК:
"06 66"
Устанавливает максимально допустимое количество движений, обнаруженных в секунду. Число.
При выборе ТипаУстройства «IPCAMERA» позволяет задать адрес IP-камеры http/rtsp/rtmp. Строка с полным адресом.
Примеры адресов:
http://cam001.ethz.ch/jpg/image.jpg
http://webcam2.schobess.info:8012/mjpg/video.mjpg
http://178.34.230.28/liveimg.cgi
rtsp://admin:123456@192.168.0.24/live/main
Функция выполняет запуск окна активации внешней компоненты. Возвращает КлючАктивации (ActivationKey), который необходимо устанавливать для того, чтобы снять ограничения.
Внимание! Необходимо выполнять активацию на том компьютере, на котором будет в будущем будет работать ВК. Ключ активации привязываются к компьютеру, на котором запускается ВК.
Номер текущей камеры. Число. По умолчанию 0. После инициализации ВК одна камера создается автоматически и с ней можно сразу работать. Если необходимо работать одновременно с несколькими камерами, то необходимо вызывать функцию ДобавитьКамеру (AddCamera), а далее можно переключаться между камерами и управлять свойствами или вызывать методы.
Тип текущего устройства. Внешняя компонента будет пытаться работать с указанным типом устройства. Строка. Принимает и возвращает следующее типы (строкой):
1) VIDEODEVICE – все устройства, которые обнаружатся в Windows (web-камеры, сканеры и т.д.). Синонимы: VIDEO, WEBCAMERA, WEB.
2) IPCAMERA – работа с IP-камерами, IP-веб камеры, IP-видео серверы, или RTSP-потоком данных. Синонимы: IP.
3) SCREEN – видео источником является экран монитора. Можно сделать фото (скриншот) и записать видео того, что происходит на мониторе пользователя. Синонимы: SCREEN, SCREENRECORDING, SCREENREC.
Одно из основных свойств, которое указывает с каким типом изображений/видео будет работать внешняя компонента. Регистр значения не имеет.
При выборе ТипаУстройства «VIDEODEVICE» устанавливает (получает) видео устройство, с которого будут получены фото и видео. Выбирается из списка, полученного методом ВидеоУстройства (VideoDevices) и является порядковым номером видео устройства. Число.
Работает аналогично свойству ВидеоУстройство (VideoDevice) за тем исключением, что это не порядковый номер, а строка описывающая устройство. Строка.
Выбирает текущее устройство для захвата звука. Число. Выбирается из списка, полученного методом АудиоУстройства (AudioDevices) и является порядковым номером видео устройства.
Работает аналогично свойству АудиоУстройство (AudioDevice) за тем исключением, что это не порядковый номер, а строка описывающая устройство. Строка.
Устанавливает (получает) видео размер изображения и видео. Выбирается из списка, полученного методом ВидеоРазмеры (VideoSizes) и является порядковым номером размера изображения и видео. Число.
Работает аналогично свойству ВидеоРазмер (VideoSize) за тем исключением, что это не порядковый номер, а строка описывающая размер получаемого фото и видео. Строка.
Устанавливает (получает) видео компрессор (кодек), который будет сжимать видео. Выбирается из списка, полученного методом ВидеоКомпрессоры (VideoCompressors) и является порядковым номером компрессора видео. Число.
Работает аналогично свойству ВидеоКомпрессор (VideoCompressor) за тем исключением, что это не порядковый номер, а строка описывающая компрессор для видео. Строка.
Устанавливает (получает) аудио компрессор (кодек), который будет сжимать аудио при записи видео. Выбирается из списка, полученного методом АудиоКомпрессоры (AudioCompressors) и является порядковым номером компрессора аудио. Число.
Работает аналогично свойству АудиоКомпрессор (AudioCompressor) за тем исключением, что это не порядковый номер, а строка описывающая компрессор для аудио. Строка.
Тип источника аудио. Число. Может принимать значения 0 или 1.
0 – использует аудио выход видео устройства захвата, если таковые имеются, в противном случае используется текущее устройство для записи звука.
1 – использовать внешнее устройство записи звука.
Формат изображения, которое будет возвращено внешней компонентой в файл или через двоичные данные. Строка. Может принимать значения:
1) BMP
2) PNG
3) JPEG
4) GIF
По умолчанию «PNG».
Ключ активации. В паре со свойством ИдентификаторКомпьютера (HardwareID) позволяет активировать внешнюю компоненту. Строка. Подробнее про активацию смотри в соответствующей главе.
0 – Публичная точка Windows media server;
1 – IP-камера;
2 – Потоковое видео.
По умолчанию равно 1.
Имя пользователя для аутентификации на IP-камере или для доступа к потоковому видео, если доступ к IP-камере защищен логином и паролем. Строка.
Пароль для аутентификации на IP-камере или для доступа к потоковому видео, если доступ к IP-камере защищен логином и паролем. Строка.
Записывать ли при записи видео звук. Булево. По умолчанию Ложь.
Если это свойство включено, звуковой поток визуализируется во время предварительного просмотра или записи. Булево. По умолчанию Ложь.
Громкость звука, текущего аудио устройства захвата. Число от 1 до 65536.
Использовать предварительный просмотр для создания фото или записи видео. Булево. По умолчанию Истина. Применяется совместно с методом ПолучитьКадр. Если без пред просмотра, то перед созданием фото делается Пауза между стартом и созданием фото на ПаузаМс миллисекунд для стабилизации картинки.
Свойство, которое, предназначено для хранения того имени файла, куда будет делаться запись изображений и видео, а также, производиться чтение и т.д. Для подробного использования см. Примеры. Строка.
При записи видео используется для установки или извлечения имени файла записи, созданного с помощью НачатьЗапись (StartRecording).
Если файл существует, он будет перезаписан при запуске.
Если ИмяФайла (FileName) оставлено пустым, при вызове НачатьЗапись (StartRecording) или выполнена функция RecordToNewFileNow имя файла генерируется автоматически в соответствии с ПутьКХранилищу (StoragePath), АвтоИмяФайла (AutoFileName), АвтоПрефиксФайла (AutoFilePrefix) и свойства РасширениеФайлаЗахвата (CaptureFileExt)
Указывает, что формат имен файлов генерируется автоматически. Число. По умолчанию равно 0. Описание значений:
0 – Имя файла на основе порядкового номера c префиксом АвтоПрефиксФайла (AutoFilePrefix), начиная с 000001. Например, если автопрефикс равен «file», то будут создаваться файлы вида: file000001.avi, file000002 и т.д.
1 – Имя файла основано на формате yymmdd_hhmmss_zzz даты и времени с префиксом AutoFilePrefix. Например, если префикс равен «file» file030616_090603_904.jpg и т.д.
2 – Эквивалентно предыдущему значение, но существующие файлы будут перезаписаны.
Приставка (префикс) имен файлов для генерирования имен файлов автоматически. Строка. По умолчанию равно: «file» без кавычек.
Указывает формат даты/времени для записи имени файла. Строка. Позволяет настроить формат даты/времени, когда имена файлов записи генерируются автоматически и АвтоИмяФайла (AutoFileName) равно 1. По умолчанию равно «yymmdd_hhmmss», что соответствует: если дата равна 01.04.2016 10:24:53, то файл созданный автоматически будет называется 160401_102453.
Задает число от 0 до количества цифр в имение файлов автоматически сгенерированных. Число. По умолчанию равно 6. Позволяет настроить формат файла, когда имена файлов записи генерируются автоматически и АвтоИмяФайла (AutoFileName) равно 0. Например, если АвтоПрефиксФайла = «file», АвтоИмяФайла = 0, а АвтоФорматМинимальноеЧислоЦифрФайла = 6, то файлы будут создаваться в следующем формате: file000001.avi, file000002.avi, file000003.avi
Расширение по умолчанию используется для создания видео, когда имя файла генерируется автоматически. Строка. По умолчанию «avi».
Оставьте это поле пустым, если вы хотите, чтобы сгенерировать идентификатор автоматически. В этом случае будет присвоено:
- «AVI» для стандартных AVI файлов,
- «MPG» для MPEG файлов.
Путь к хранилищу файлов для записи фото и видео, когда результат может быть не один. Если результат один, то используется ИмяФайла.
Отвечает за качество сохраняемого JPEG при работе с изображениями, если свойство ФорматИзображения указан как JPEG, Число от 1 до 100 (чем больше, тем выше качество). По умолчанию 85.
Возвращает количество аудио компрессоров (кодеков), установленных в системе для сжатия аудио. Число.
Для текущей сетки установленной свойством ДетекторДвиженияСетка (MotionDetectorGrid) сетки детектора движений определяет корректна ли данная сетка. Булево. Возвращает Истина, если сетка корректна.
Используется для получения последнего соотношения движения (количество измененных пикселей / общее количество пикселей) ячеек сетки включая их чувствительность. Число с плавающей точкой в диапазоне от 0,0 до 1,0 диапазон (например, 0,5776).
Это значение является результатом обнаружения движения последнего видеокадра.
Это значение также возвращается в движение обнаружено событие. Чем оно больше, тем сильнее изменено изображение от предыдущего, и наоборот, если оно равно 0, то движение в кадрах не зафиксировано.
Начинает просмотр онлайн-видео с текущего устройства без записи. Просмотр Булево. Возвращает Истина если просмотр был запущен. ВК внутри запускает на просмотр видео поток. Эту функцию можно использовать совместно с детектором движения.
Возвращает статус текущей камеры. Число. Параметров нет.
Описание значений:
0: ничего с текущей камерой не происходит.
1: идет пред просмотр видео.
2: идет запись.
3: проигрывается видео в режиме плеера.
Во время записи и вызова функции закрывается текущий файл записи, и создает новый файл записи согласно свойству ИмяФайла (FileName). Возвращает Булево. Истина, если успешно создан новый файл, ложь в противном случае. Параметров функции – 1. Описание:
ИмяНовогоФайла. Строка. Имя файла куда начать запись снова.
- Если ИмяФайла (FileName) пусто, новое имя файла генерируется автоматически в соответствии с ПутьКХранилищу (StoragePath), АвтоИмяФайла (AutoFileName) и АвтоПрефиксФайла (AutoFilePrefix).
- Если запись ИмяФайла (FileName) указывает имя файла, это имя файла будет использоваться для создания нового файла.
Возвращает размер файла в килобайтах, записываемого в текущий момент. Число.
Можно запускать после того, как была вызвана функция НачатьЗапись.
Продолжаем запись после паузы, вызванной функцией ПаузаЗаписи (PauseRecording) при записи видео. Возвращает Истина, если действие было выполнено успешно.
Включаем паузу при записи видео. Возвращает Истина, если действие было выполнено успешно.
Начать запись видео. Возвращает Истина, если запись началась.
Получает скриншот, который был сделан с помощью кнопки PntScr и возвращает ДвоичныеДанные, если картинки в памяти нет, то возвращает Неопределено.
Получает скриншот и возвращает ДвоичныеДанные.
Получения фото с выбранного устройства с предпросмотром или без него. Если предпросмотр включен, то в результате вызова полностью блокируется интерфейс 1С и предлагается сделать одиночное фото с выбранного видео устройства. Если необходимо не блокировать интерфейс 1С используйте процедуру ПолучитьКадры.
Возвращает строку с аудио компрессорами, где каждый кодек начинается с новой строки. Строка. Пример строки с видео кодеками:
PCM
IMA ADPCM
Microsoft ADPCM
LAME Audio Encoder
Функция АудиоКомпрессоры вернет эту строку, а функция КоличествоАудиоКомпрессоров вернет для данного списка результат равный 4.
Возвращает версию внешней компоненты. Строка.
Возвращает строку с видео компрессорами, где каждый кодек начинается с новой строки. Строка. Пример строки с видео кодеками:
Xvid MPEG-4 Codec
MJPEG Compressor
Кодек Intel IYUV
Microsoft RLE
Microsoft Video 1
Возвращает количество видео компрессоров (кодеков), установленных в системе для сжатия видео. Число.
Возвращает строку с размерами видео, поддерживаемых выбранным видеоустройством, где каждый новый размер начинается с новой строки. Строка. Пример:
160x120
320x240
640x480
800x600
Функция ВидеоРазмеры вернет эту строку, а функция КоличествоВидеоРазмеров вернет для данного списка результат равный 4.
Возвращает количество размеров видео, поддерживаемых выбранным видеоустройством. Число.
Возвращает строку с наименованиями устройств, найденными в системе, где каждое новое устройство с новой строки. Строка. Получить конкретное устройство можно так:
СтрПолучитьСтроку(АудиоУстройства, 1);
Где 1 номер устройства, нумерация с 1.
Возвращает количество аудио устройств, подключенных к компьютеру (веб-камер, микрофонов и т.д.). Число.
Удаляет камеру из списка камер. Параметр один с типом число - номер удаляемой камеры, нумерация с нуля. Если удаление произошло успешно, то возвращается Истина, иначе Ложь.
Добавить одну камеру в список камер. Параметров нет. Возвращает число – номер текущей добавленной камеры. Так при вызове этой функции происходит установка свойства ТекущаяКамера (CurrentCamera) на добавленную камеру. Поэтому после добавления камеры, с ней сразу можно работать.
Возвращает строку с наименованиями устройств, найденными в системе, где каждое новое устройство с новой строки. Строка. Получить конкретное устройство можно так:
Где 1 номер устройства, нумерация с 1.
Возвращает количество видео устройств, подключенных к компьютеру (веб-камер и т.д.). Число.
Функция, которая указывает кому принадлежит лицензия на экземпляр внешней компоненты. Строка.
Функция, возвращающая идентификатор компьютера для активации. Уникальный ключ оборудования, который будет разным для разных компьютеров. Данный идентификатор используется для активации внешней компоненты и привязывается к конкретному компьютеру. Увидеть свой идентификатор можно вызвав любую визуальную форму внешней компоненты и в нижнем левом углу щелкнуть «Регистрация».
Функция, которая возвращает Истина/Ложь в зависимости от того используется ли внешняя компонента в демо-режиме или нет.
Аналог функции ПолучитьКадр, за тем исключением, что при создании фото внешняя компонента сохраняет данные в свойство ИмяФайла и в 1С срабатывает внешнее событие, где Источник = "MediaBuild", Событие = "GetFrame", а в реквизите Данные передается имя временного файла, куда сохранено изображение из внешней компоненты. При этом после создания фото форма не закрывается, так же созданные файлы не удаляются. Форма получения кадра, вызванная этой процедурой, не блокирует интерфейс 1С, что иногда более удобно для работы – можно переключаться между 1С и окном создания кадров.
Остановить запись видео, запись которого было начато функцией НачатьЗапись.
Остановить просмотр с текущего устройства. Метод останавливает просмотр, который был начат функцией НачатьПросмотр.
Процедура устанавливает оверлейное изображение (логотип) из файла. Имя файла передается первым и единственным параметром.
Процедура копирует настройки в текущую камеру из другой камеры. Параметр один – индекс камеры с которой надо скопировать настройки. Пример:
ИндексКамеры1 = MediaBuildКлиент.ВнешняяКомпонента().ДобавитьКамеру();
// Устанавливаем настройки камеры 1
// ...
ИндексКамеры2 = MediaBuildКлиент.ВнешняяКомпонента().ДобавитьКамеру();
// ТекущаяКамера = ИндексКамеры2
MediaBuildКлиент.ВнешняяКомпонента().УстановитьНастройкиИзИсточника(ИндексКамеры1);
В этом примере все настройка второй камеры будут скопированы из первой добавленной.
// При открытии формы подключим ВК для работы с камерой Если НЕ ПодключитьВнешнююКомпоненту("ОбщийМакет.MediaBuild", "Компонента", ТипВнешнейКомпоненты.Native) Тогда //Если не удалось подключить ВК, предложим установить её УстановитьВнешнююКомпоненту("ОбщийМакет.MediaBuild"); ПодключитьВнешнююКомпоненту("ОбщийМакет.MediaBuild", "MB", ТипВнешнейКомпоненты.Native); КонецЕсли; Попытка MediaBuild = Новый("AddIn.MB.MediaExtention "); Исключение Сообщить("Не могу создать объект из компоненты"); Сообщить(ОписаниеОшибки()); Возврат; КонецПопытки;
&НаСервере Процедура ОтобразитьСкриншотИзДвоичныхДанных(ДвоичныеДанные) ХЗ = Новый ХранилищеЗначения(ДвоичныеДанные); АдресСШ = ПоместитьВоВременноеХранилище(ХЗ.Получить()); КонецПроцедуры ... #Если НЕ ВебКлиент Тогда // от 1 до 100 при условии, что скриншот делаем в JPEG MediaBuild.КачествоСжатияСкриншота = КачествоСкриншота; ДвоичныеДанные = MediaBuild.ПолучитьСкриншот(); // << возвращает ДвоичныеДанные ОтобразитьСкриншотИзДвоичныхДанных(ДвоичныеДанные); #Иначе Предупреждение("В Web-клиенте создание скриншота не работает!"); #КонецЕсли
Если у Вас появились дополнительные пожелания или замечания по работе внешней компоненты просим Вас обратиться к нам, мы всегда будем рады Вам помочь и обсудим все, что Вы предложите. Для партнеров действуют специальные скидки!
ООО "Софтонит" ©
Сайт: https://softonit.ru
E-mail: crm@softonit.ru
Телефон: +7 (861) 203-39-44