Logo Logo ru
  • iRidi Pro
    Основные компоненты
    • Приложение i3 Pro
    • iRidi Pro Server
    • iRidi Studio
    • iRidium studio v. 1.3.8 (устаревшая версия)
    Java Script в iRidi
    • Руководство
    • Справочник
    • Примеры
    • JS драйвера
    другие
    • Личный Кабинет
    • iRidium Cloud
    • iRidium Transfer
    • Push-уведомления
    • Лучшая практика
    Лицензирование
    • Лицензирование и передача проекта
    • Оффлайн-лицензирование
    • Активация iRidi Pro Server
  • Продукты
    i3 lite
    • Приложение i3 lite
    • Регистрация и лицензирование
    • Сервер
    • Модули
    KNX Home Server
    • Приложение i3 KNX
    • KNX Home Server
    BUS77 HOME SERVER
    • Приложения Bus77 Home и Bus77 Lite
    • Bus77 Home Server
    Решения
    • BYOD - решение для гостиниц
    • Портал жителя - решение для МКД
    iRidi SCADA
    • iRidi SCADA
  • Bus77
    НАСТРОЙКА BUS77
    • Основы Bus77
    • Приложения Bus77 Home и Bus77 Lite
    • Работа с драйвером Bus77 в iRidi Studio
    • Настройка шины Bus77 в iRidi Studio
    ПРОТОКОЛ BUS77
    • Характеристики CAN (Bus77)
    • Описание протокола
    • Исходники на GitHub
    ОБОРУДОВАНИЕ BUS77
    • Каталог Bus77 Pro
    • Каталог Bus77 Lite
  • Поддерживаемое оборудование
    Драйверы
    • Список драйверов
    • ProAV драйвера
    • AV & Custom Systems
    • JS драйвера
    • Сторонние драйвера и фриланс
    Протоколы и интерфейсы
    • Голосовое управление
    • 1-Wire
    • BACnet IP
    • Bus77
    • KNX
    • KNX IP BAOS
    • Weinzierl kBerry
    • Microsoft Exchange
    • Modbus
    • MQTT
    • NFC
    • ODBC
    • Onvif
    • SIP
    • SNMP
    • Wake On Lan
    • Z-Wave
    • ZigBee
    Производители
    • AMX
    • AVCiT
    • Beckhoff ADS
    • Biamp Tesira
    • Bluesound
    • Casambi
    • BSS Harman
    • Clipsal
    • ControlArt 7Port
    • Crestron
    • DigiBird
    • Domintell
    • Duotecno
    • EIDE
    • EPSNET
    • Global Cache
    • HDL Buspro
    • Helvar
    • IEAST
    • INELS BUS
    • INELS Wireless
    • Intesis
    • Kleger
    • Kramer VIA
    • Kramer 3000
    • Larnitech
    • Legrand Netatmo
    • LG TV
    • Lutron
    • Lutron Homeworks QS
    • MyHome
    • Nest
    • Novastar
    • Panasоnic PTZ
    • Philips Dynalite
    • PJLink
    • Satel
    • SamsungTV
    • Sonos
    • Somfy
    • SpinetiX
    • Televic Conference
    • TIS
    • Tion
    • URRI
    • Velbus
    • Velocio
    • Vinteo
    • WyreStorm
    • WiiM
    • Xicato
    • Yamaha
    • ZONT
    • Z-Wave.me
    Протестированное оборудование
    • Панель HDL S57
    • Панель HDL S10
    • SIP-домофон
    • Akuvox
    • Arlight
    • Divus
    • QBic TD-1050 PRO
    • QBic TD-1060 Slim
    • QBic TD-1070
    • Sigur
    • Uni-Ubi
    • Velocio
  • Оборудование iRidi

    Серверы
    • HS Сервер
    • ProAV Control Processor Basic
    • ProAV Control Processor Advanced
    • Спецификация контроллеров UMC
    • Настройка контроллера UMC C2
    • Настройка контроллера UMC C3
    • Настройка контроллера HDL IntelliCenter 2 (UMC C4)
    Модули расширения
    • I-PX-RS1
    • I-PX-RS4
    • I-PX-IR3
    KNX
    • KNX Home Server
    • KNX IP Interface
    Панели управления
    • iRidium Panel 7
    • Touch Panel P3
    • Touch Panel P6
    • Touch Panel P8
    • Touch Panel P10
    • Tabletop Touch Panel 10
    • AV Remote Control
    ОБОРУДОВАНИЕ BUS77
    • Каталог Bus77 Pro
    • Каталог Bus77 Lite
    • Differences
Сайт iRidium mobile
Содержание
    Инструменты‌
    • Сведения о странице
    • Постоянная ссылка
    • Версия для печати
    • Спецстраницы
    • Связанные правки
    • Ссылки сюда
    Login / Create Account
    Материал из for iRidium developers
    Перейти к: навигация, поиск
    Эта страница является переводом страницы Video API. Перевод выполнен на 100%.

    Other languages:
    English • ‎русский
  • Справочник
  • Видео, камеры, изображения
  • Содержание

    • 1 API iRidium.Видео, камеры, изображения
    • 2 Методы
      • 2.1 IR.CreateImageFromBuffer
      • 2.2 IR.CreateImage
      • 2.3 IR.GetImage
      • 2.4 IR.DeleteImage
      • 2.5 IR.Camera

    API iRidium.Видео, камеры, изображения

    Методы для создания и использования ссылок на изображения или видео-потоки, а также способы работы с собственными камерами панели управления

    Методы

    IR.CreateImageFromBuffer

    Create an image from base64 string.

    Syntax

    IR.CreateImageFromBuffer(name, {base64});

    input value description
    name "unique name" type: string
    a unique name of the image
    base64 "iVBORw0KG..." type: string
    a data string in the base64 format
    output
    Object [object ImagePrototype] type: Object
    graphic item (image)


    Sample

    var base64 = "iVBORw0KGgoAAAANSUhEUgAAAGcAAAA+CAYAAAA2wAXAAACXBIWXMAAAsTAAALEwEAmpwJggg=="
    var id = IR.CreateImageFromBuffer("unique name", base64);
    IR.GetPage("Page 1").GetItem("Item 1").GetState(0).Image = IR.GetImage(id);





    IR.CreateImage

    создать динамическое изображение с указанным набором параметров. Если указать не все параметры изображения, пропущенные параметры будут приняты по умолчанию или сохранят предыдущее значение. Изображение создается без привязки к графическому элементу, его можно использовать на разных страницах, обращаясь по имени. Имя созданного изображения, в отличие от остальных свойств, изменить нельзя

    Синтаксис

    IR.CreateImage(name, {image_properties});

    на входе значение описание
    name "Camera 1" type: string
    имя динамического изображения (камеры)
    image_properties Property: value type: object
    набор свойств динамического изображения
    • URI: ссылка на изображение
    • Refresh: для картинок (снепшотов), частота обнвления изображения. Для видео-потока 0
    • Demuxer: автоматический или ручной выбор типа потока FFMPEG - для случаев, когда поток не определяется автоматически. Пустое поле - автоматический выбор, mxg - для камеры Mobotix
    • Probe Size: 50000 (Кб) - размер буфера данных в Кб, который приложение загрузит перед началом воспроизведения видео. По умолчанию, если оставить 0, составляет 5 Мб. Можно уменьшить для камер с малым разрешением или для медленного соединения, но, не рекомендуются значения менее 20000 Кб
    • Param: строка для указания типа транспорта RTSP. Укажите tcp, если видео с камеры не воспроизводится через интернет или выдает артефакты воспроизведения
    • Audio: воспроизводить аудио-поток. Работает с камерами Mobotix (mxg)
    • ScaleWidth, ScaleHeight: разрешение изображения. Если не указывать, будет отображаться в оригинальном разрешении
    на выходе
    Object [object ImagePrototype] type: Object
    экземпляр графического объекта (изображения)


    Пример

    IR.AddListener(IR.EVENT_START,0, function()
    {
       // Create image
       IR.CreateImage("Camera 1", {URI: "http://login:pass@host:port/file", 
                                  Refresh: 0, 
                                  Demuxer: '', 
                                  ProbeSize: 0, 
                                  Param: '', 
                                  Audio: false, 
                                  ScaleWidth: 640, 
                                  ScaleHeight: 480
                                  });
     
       // Get image
       var l_oImage = IR.GetImage("Camera 1");    
       IR.Log(l_oImage)        // [object ImagePrototype]
     
       // Get image properties
       IR.Log(l_oImage.URI)    // http://login:pass@host:port/file
     
       // Setup image (set image properties)
       l_oImage.Refresh = 0;
       l_oImage.Demuxer = '';
       l_oImage.ProbeSize = 0;
       l_oImage.Param = '';
       l_oImage.Audio = false;
       l_oImage.ScaleWidth = 1024;
       l_oImage.ScaleHeight = 768;
     
       // Link image to Item
       IR.GetItem("Page 1").GetItem("Item 1").GetState(0).Image = IR.GetImage("Camera 1");
       IR.GetItem("Page 1").GetItem("Item 2").GetState(0).Image = l_oImage;
    });

    если камера создана в Project Gallery, а не через скрипт, ее можно присвоить графическому элементу так:

    IR.GetItem("Page 1").GetItem("Item 1").GetState(0).Image = "Сamera from Gallery (name)"

    тип видео-потока нельзя изменить "на лету", воздействуя на свойства камеры. Это значит, что если вы создали HTTP камеру (через редактор или скрипт), и ее настройки Demuxer и ProbeSize пусты, то их нельзя будет изменить позже. Изначально создавайте камеру с заполнением всех параметров, которые планируете менять, или создавайте камеру каждый раз заново.


    IR.GetImage

    получить изображение как объект. Позволяет обратиться к динамическому изображению, созданному из скриптов или в iRidium Studio, обычным способом

    Синтаксис

    IR.GetImage(name);

    на входе значение описание
    name "Camera 1" type: string
    имя динамического изображения (камеры)
    на выходе
    Object [object ImagePrototype] type: Object
    экземпляр графического объекта (изображения)


    Пример

    IR.AddListener(IR.EVENT_START,0,function()
    {
    IR.CreateImage("Norway", {URI: "http://217.17.220.110:80/mjpg/video.mjpg", 
                               Refresh: 0, 
                               Demuxer: '', 
                               ProbeSize: 0, 
                               Param: '', 
                               Audio: false, 
                               ScaleWidth: 640, 
                               ScaleHeight: 480
                               });
     
    IR.CreateImage("Screen", {URI: "http://cf2.imgobject.com/t/p/original/l74Tss1TW5a9r6rDbkBYaPbNzcp.jpg", 
                               Refresh: 60000, 
                               Demuxer: '', 
                               ProbeSize: 0, 
                               Param: '', 
                               Audio: false, 
                               ScaleWidth: 800, 
                               ScaleHeight: 600
                               });
     
    var l_oImage = IR.GetImage("Norway"); 
     
    IR.GetItem("Page 1").GetItem("Item 1").GetState(0).Image = l_oImage;
    IR.GetItem("Page 1").GetItem("Item 2").GetState(0).Image = IR.GetImage("Screen");			
    });

    если камера создана в Project Gallery, а не через скрипт, ее можно присвоить графическому элементу так:

    IR.GetItem("Page 1").GetItem("Item 1").GetState(0).Image = "Сamera from Gallery (name)"



    IR.DeleteImage

    It deletes a dynamic image created earlier with the help of IR.CreateImage method. If it is required to change a camera dynamically, this method can be used to delete a created oject and avoid increasing the load in the app due to broadcasting two streams. Use this method before every camera change.

    Syntax

    IR.GetImage(name);

    input value description
    name "Camera 1" type: string
    name of dynamic image (camera)
    output
    Object [object ImagePrototype] type: Object
    graphic item (image)


    Sample

    IR.AddListener(IR.EVENT_ITEM_RELEASE,IR.GetPage("Page 1").GetItem("Item 2"),function()
    {
       IR.DeleteImage("Camera 1"); //delete old camera from the object
     
       var l_oImage = IR.CreateImage("Camera 2", {URI: "rtsp://192.168.1.112/live/ch00_0", 
                                     Refresh: 0, 
                                     Demuxer: '', 
                                     ProbeSize: 0, 
                                     Param: '', 
                                     Audio: false, 
                                     ScaleWidth: 640, 
                                     ScaleHeight: 480
                                     });
     
     
          IR.Log("ID new camera = " + l_oImage.ID)        // [object ImagePrototype]
     
          IR.GetPage("Page 1").GetItem("Item 1").GetState(0).Image = l_oImage;
     
    })





    IR.Camera

    получить видео с фронтальной или основной камеры iOS, Android, Windows устройства и отобразить его на графическом элементе в интерфейсе. Для использования, камеру нужно инициализировать с помощью метода IR.Camera с параметрами, и привязать к графическому элементу в проекте

    Синтаксис

    IR.Camera(action, <type>, <resolution>)

    на входе значение описание
    action IR.CAMERA_RECORD type: object
    действия с видео-потоком:
    • IR.CAMERA_RECORD - получить видео (нужен type и resolution)
    • IR.CAMERA_STOP - остановить видео (без параметров)
    • IR.CAMERA_TOGGLE - переключить с фронтальной на основную и обратно (type и resolution не нужен)
    • IR.CAMERA_ROTATE - повернуть картинку на угол, который указан в поле type
    • IR.CAMERA_FLIP_VERTICAL - отразить картинку по вертикали (true/false в поле type)
    • IR.CAMERA_FLIP_HORIZONTAL - отразить картинку по горизонтали (true/false в поле type)
    type IR.CAMERA_FRONT type: object
    для IR.CAMERA_RECORD:
    • IR.CAMERA_BACK - видео с основной камеры
    • IR.CAMERA_FRONT - видео с фронтальной камеры

    для IR.CAMERA_ROTATE - угол поворота в градусах
    для IR.CAMERA_FLIP_VERTICAL и IR.CAMERA_FLIP_HORIZONTAL - true/false, в зависимости от необходимости инверсии

    resolution IR.CAMERA_RESOLUTION_LOW type: object
    указываем для IR.CAMERA_RECORD:
    • IR.CAMERA_RESOLUTION_LOW - низкое разрешение
    • IR.CAMERA_RESOLUTION_MEDIUM - среднее разрешение
    • IR.CAMERA_RESOLUTION_HIGH - высокое разрешение
    на выходе

    -


    Пример

    // link camera to GUI item
    IR.GetPopup("Page 1").GetItem("Item 1").GetState(0).Image = "ir_camera://";
     
    // start record
    IR.Camera(IR.CAMERA_RECORD, IR.CAMERA_FRONT, IR.CAMERA_RESOLUTION_MEDIUM);
     
    // stop record
    IR.Camera(IR.CAMERA_STOP);
     
    // toggle camera
    IR.Camera(IR.CAMERA_TOGGLE);
     
    // rotate to angle
    IR.Camera(IR.CAMERA_ROTATE, 270);
     
    // flip horizontal
    IR.Camera(IR.CAMERA_FLIP_HORIZONTAL, true);
     
    // flip vertical
    IR.Camera(IR.CAMERA_FLIP_VERTICAL, true);

    чтобы вывести видео с собственной камеры устройства на графический элемент, запишите "ir_camera://" в свойство .Image графического элемента, как показано в примере выше
    если вы используете протокол SIP для передачи и получения SIP видео, входящий видео поток запишите как "sip_image://" в свойство .Image графического элемента. Подробно в инструкции SIP.


    Источник — «https://dev.iridi.com/index.php?title=Video_API/ru&oldid=124273»
    О нас
    Компания
    Команда
    История
    Философия
    Награды
    Партнерство
    Наши партнеры
    Партнерские программы
    Подать заявку на партнерство
    Продукты
    iRidium pro
    iRidium lite
    iRidium gate
    iRidium server
    Загрузки
    iRidium pro
    iRidium lite
    Другие версии
    Маркетинговые материалы
    Поддержка
    Онлайн курсы/Видео
    Рекомендуемое оборудование
    Другие версии
    iRidium pro
    Документация
    FAQ
    Форум
    iRidium lite
    Документация
    Форум
    Проекты
    Типовые проекты
    Умные здания
    Умные дома
    Специальные решения
    Найти дилера
    Новости
    Youtube
    Twitter
    VK
    Logo
    contact@iridi.com
    +7 (499) 322-73-29

    Политика конфиденциальности