Перейти к основному содержимому

NDI

Протокол NDI (Network Device Interface) — это сетевой протокол, разработанный компанией NewTek для передачи высококачественного видео и аудио в реальном времени через IP-сети. Он широко используется в сфере видеопроизводства и вещания благодаря своей гибкости, низкой задержке и высокой производительности.

Техническая сущность протокола NDI

NDI предоставляет возможность передавать видео с высоким разрешением и с высоким битрейтом через стандартные Ethernet-сети без необходимости использования дорогостоящего специализированного оборудования.

  1. Кодирование и компрессия:
    • NDI использует собственный кодек для сжатия видео, обеспечивающий баланс между качеством изображения и сжатием. Этот кодек оптимизирован для работы с высокими разрешениями (4K), и способен поддерживать видеопотоки с высокой частотой кадров (до 120 кадров в секунду). Алгоритмы сжатия включают адаптивную обработку данных, что позволяет минимизировать задержку (до 16 мс) при сохранении высокого уровня детализации и сжатия видео. Это позволяет добиться компромисса между качеством изображения и эффективным использованием пропускной способности сети.
  2. Сетевая архитектура:
    • NDI работает поверх стандартного сетевого стека TCP/IP, используя преимущественно TCP для передачи данных, обеспечивая надежность и порядок доставки потоков, а также UDP для некоторых задач, требующих минимальной задержки, таких как синхронизация потоков., что обеспечивает совместимость с большинством сетевых инфраструктур.
    • Протокол поддерживает как одноадресную (unicast), так и многоадресную (multicast) передачу данных, что позволяет оптимизировать использование сети в зависимости от конкретного сценария.
  3. Автоматическое обнаружение устройств:
    • Устройства, поддерживающие NDI, автоматически обнаруживаются в локальной сети с использованием технологий mDNS (Multicast DNS) и Bonjour
  4. Синхронизация:
    • NDI обеспечивает точную синхронизацию видео и аудио потоков, что критично для профессионального использования.

Версии NDI: Сравнительный анализ

Существует несколько версий NDI, каждая из которых оптимизирована для различных сценариев использования. Основные версии:

ВерсияКодекПропускная способностьОсновные особенности
NDISpeedHQ2100-250 Мбит/с, 4:2:2Высокое качество, низкая задержка.
**NDIHX**H.2649–30 Мбит/с, 4:2:0
**NDIHX2**H.2656-21 Мбит/с, 4:2:0
**NDIHX3**H.264, H.26526-110 Мбит/с, 4:2:0
20-84 Мбит/с, 4:2:0

Ключевые различия:

  • NDI|HX и NDI|HX2 используют более высокий уровень сжатия, что снижает требования к сети. Это полезно в ситуациях, где сеть ограничена по пропускной способности, например, в беспроводных или удаленных системах.
  • NDI|HX2 отличается улучшенной производительностью, обеспечивая более низкую задержку и улучшенное качество по сравнению с NDI|HX.
  • NDI|HX3 уменьшена задержка, несмотря на сжатие. Оборудование, заявляющее поддержку этой версии протокола, сертифицируется у NewTec

Применение NDI

Протокол NDI нашел применение в различных сферах, включая:

  1. Видеопроизводство и вещание:
    • Используется для интеграции камер, видеомикшеров, графических систем и других устройств в единое решение.
    • Позволяет отказаться от традиционных SDI-кабелей в пользу стандартной Ethernet-сети.
  2. Образование и конференции:
    • Видеолекции и трансляции могут легко интегрироваться с системами видеоконференций (например, Zoom, Microsoft Teams, Skype, Cisco Webex),  а также с программными видеомикшерами (VMix, OBS Studio).
    • Поддержка NDI в программных приложениях (например, OBS Studio) позволяет создавать студийные съемочные комплексы без создания отдельной сетевой инфраструктуры и с использованием обычных компьютеров.
  3. Виртуальные студии и AR/VR:
    • NDI позволяет передавать видео для обработки в реальном времени в виртуальных или дополненных средах.
  4. Игровая индустрия и киберспорт:
    • Используется для трансляции игрового процесса с минимальной задержкой.
    • Позволяет интегрировать графику и видеопотоки с высокой степенью надежности.

Спецификация NDI

  1. Поддерживаемые форматы видео:
    • SD, HD, 4K и выше.
    • Поддержка различных частот кадров (например, 30, 60, 120 fps).
  2. Пропускная способность:
    • Видео потоки NDI требуют порядка 125 Мбит/с для 1080p60 и около 250 Мбит/с для 4K60.
    • Протокол также поддерживает NDI|HX (High Efficiency Mode), использующий более высокую степень сжатия и снижающий требования к пропускной способности до 10–20 Мбит/с.
  3. Совместимость:
    • NDI поддерживается на различных платформах, включая Windows, macOS и Linux, а также на одноплатных компьютерах, таких как Orange Pi, Raspberry Pi и NVIDIA Jetson Nano, благодаря доступности SDK и совместимости с ARM-архитектурой..
    • Существуют программные и аппаратные решения с поддержкой NDI, такие как TriCaster, OBS Studio, VLC Media Player.
  4. API и SDK:
    • NewTek предоставляет бесплатный SDK, который позволяет интегрировать поддержку NDI в программные приложения.
    • С помощью API разработчики могут создавать собственные решения для обработки, передачи и записи видео.

Работа с NDI

Для NDI требуется локальная сеть, которая представляет собой сеть компьютеров, подключенных к сетевому оборудованию. NDI может использовать стандартное сетевое оборудование, чтобы позволить вам отправлять и получать видео из различных источников в вашей сети.

Для начала необходимо скачать инструменты NDI (NDI Tools), которые используются для отправки и получения видео по стандартной локальной сети. Инструменты NDI позволяют любому начать использовать IP-видео и легко обойти старые технологии, которые раньше требовали дорогостоящих карт видеозахвата и коммутаторов.

Все программное и аппаратное обеспечение, совместимое с NDI, становится частью более широкой экосистемы, где все источники видны и доступны другим компьютерам в сети.

NDI Tools

Studio Monitor

Это приложение может быстро отображать все доступные для обнаружения источники NDI в вашей локальной сети. Studio Monitor обладает длинным списком функций.

Вы можете просматривать любой источник NDI, и если источником является PTZ-камера, вы можете управлять PTZ-камерой с помощью экранного набора управления.

Студийный монитор, подключенный к PTZ-камере, покажет элементы управления PTZ-камерой.

Студийный монитор NDI также может управляться удаленно с помощью веб-сервера. IP-адрес этого веб-сервера можно найти в области настроек приложений. Как только вы введете этот IP-адрес в веб-браузер в той же локальной сети, вы сможете получить доступ к элементу управления Studio Monitor.

Screen Capture

NDI Screen Capture может захватывать экран компьютера, на котором он установлен, и делать его доступным в качестве источника видео NDI. NDI Screen Capture поддерживает захват нескольких мониторов, а также включает в себя возможность захвата веб-камеры. Как только на компьютере будет запущен NDI Screen Capture, вы получите уведомление со словами: “Ваш экран теперь доступен в качестве источника NDI”. Вы также увидите значок NDI Screen Capture в системной области. Отсюда вы можете открыть настройки приложения, которые включают частоту кадров, настройки захвата, источник звука, источник видео с веб-камеры, источник звука с веб-камеры и включить управление KVM. Большинство из этих функций не требуют пояснений, но управление KVM - это интересная функция, которую вы можете использовать для удаленного управления компьютером с помощью клавиатуры и мыши. После включения приложение NDI Studio Monitor позволит вам удаленно управлять любым компьютером с включенной функцией управления KVM NDI Screen Capture.

Screen Capture HX

NDI Screen Capture HX - это высокоэффективная версия NDI Screen Capture, которая обеспечивает новые уровни управления для оптимизации пропускной способности и аппаратного ускорения графического процессора (GPU). Когда приложение будет открыто, вы получите уведомление о том, что ваш экран становится доступным в сети в качестве источника NDI. NDI Screen Capture HX включает в себя четыре варианта уровней пропускной способности. Вы можете выбрать между ультра, высоким, средним и низким. NDI Screen Capture HX использует преимущества новой технологии сжатия видео с видеокарты, которая может поддерживать разрешение до 4K при удивительно низких требованиях к пропускной способности.

Access Manager

NDI Access Manager позволяет администраторам ограничивать доступ к видеоисточникам NDI в своей сети. Приложение позволяет пользователям управлять видимостью и доступностью источников NDI для определенных компьютеров в сети. NDI Access Manager может легко группировать источники NDI вместе, чтобы сделать их общедоступными или доступными для частного обнаружения.

Auto Direct

NDI Audio Direct - это инструмент, предназначенный для интеграции аудиоисточников NDI в программное обеспечение Digital Audio Workstation (DAW). Программные решения DAW используются для записи, редактирования и продюсирования аудио. Инструмент NDI Audio Direct использует два плагина, предназначенных для передачи звука в программные решения DAW и из них. NDI Audio Direct совместим с любым DAW, поддерживающим аудио-плагины VST3 или LV2.

VLC Plugin

VLC - это бесплатный видеоплеер с открытым исходным кодом. Широкое внедрение VLC пользователями привело к тому, что NDI поддержала систему с помощью бесплатного плагина. Плагин обеспечивает прямой доступ к источникам видео NDI с помощью совместимого программного обеспечения VLC без необходимости перекодирования.

HX Driver

Драйвер NDI|HX® требуется для подключения к определенным устройствам NDI| HX®, таким как PTZ-камеры или кодеры. Новым устройствам, поддерживающим NDIv4 или более позднюю версию, этот драйвер не потребуется.

Студия

Работа с кодером

NDI кодеры обычно используются для захвата изображения с компьютера (например, презентации докладчика на конференции), но также позволяют подключать классические SDI/HDMI видеокамеры по сети.

Необходимо ли подключить кодер с помощью HDMI-кабеля к компьютеру (камере, другому источнику HDMI сигнала).

Рисунок 1. Подключение кодера HDMI-NDI

Некоторые кодеры NDI имеют индикацию Tally. Индикатор загорается, когда поток с кодера выбран в видеомикшере в предпросмотр или в программу (соответственно зеленым и красным цветом). В RTSP кодерах таких возможностей не предусмотрено, т.к. протокол для этого не предназначен.

Управление PTZ камерой через NDI

  1. Установите NDI Tools (на студийных компьютерах уже есть). Откройте Studio Monitor.

  2. Откройте меню нажав на иконку в левом верхнем углу или щелкнув правой кнопкой мыши в любом месте экрана. Выберите вашу камеру.

    Рисунок 2.

  3. Снова откройте меню, перейдите в раздел Settings, далее перейдите в раздел PTZ Settings, где необходимо нажать Show PTZ Control.

    Рисунок 3.

  4. На экране должна появиться навигационная панель. Движение камеры происходит с помощью зажатой левой кнопки мыши и движения курсора внутри круга. Прямо справа от круга находится панелька для приближения и отдаления изображения.

    Рисунок 4.

Видео пример работы.

Работа в OBS

Получаем изображение с камеры

  1. Установите NDI Tools (на студийных компьютерах уже есть).

  2. Подключите кодер к камере как написано выше.

  3. В OBS создайте новую сцену или выберите уже существующую.

  4. Создайте новый источник NDI Source.

    Рисунок 5.

  5. Задайте имя источнику.

    Рисунок 6.

  6. Во вкладке Source name выберите свой кодер.

    Рисунок 7.

  7. Получите изображение.

    Рисунок 8.

Получаем изображение с компьютера

  1. Установите NDI Tools (на студийных компьютерах уже есть).

  2. Подключите кодер к компьютеру, с которого хотите получить изображение.

  3. На компьютере, с которого хотите получить изображение, включите screen capture.

  4. В OBS создайте новую сцену или выберите уже существующую.

  5. Создайте новый источник NDI Source.

    Рисунок 9.

  6. Задайте имя источнику.

    Рисунок 10.

  7. Во вкладке Source name выберите свой компьютер.

    Рисунок 11.

  8. Получите изображение.

    Рисунок 12.

Источники

  1. Cтатья из Wiki МИЭМ
  2. GigaChat

Полезные ссылки:

(все статьи на английском языке)

Вложения