Streambuilder — ПО для захвата, транскодирования и интернетвещания видеопотоков
Производственно-технологическая компания Инвентос создана в 2008 году и специализируется в области онлайн аудио- видео- технологий, а также мобильных и встраиваемых мультимедиа приложений для всех современных платформ, включая, но не ограничиваясь iOS (iPhone и iPad), Android (TM), Boxee, телевизоры Samsung, Sony.
В команде компании работают опытные специалисты, которые имеют многолетний опыт разработки популярных Интернет сервисов и приложений, как в сфере онлайн видео (Rutube.ru), так и других отраслях Интернет индустрии.
Одна из разработок — StreamBuilder. Это серверное программное решение для приема и транскодирования входящего видеопотока из разных источников в формат HTTP Live Streaming, созданный для интернет-вещания и подходящий для воспроизведения на большинстве устройств: SmartTV, iOS, Android, PC/Mac.
Особенности StreamBuilder:
- Реализация решения на С++ и использование технологии Intel Quick Sync Video позволяет добиться производительности, превышающей все известные нам аналоги. При максимальных настройках возможно получить до 10 Full HD (1080p) или до 40 SD (576i) выходных потоков на 1 CPU Intel.
- StreamBuilder поддерживает самые популярные форматы для входящих потоков: SDI, RTMP, MPEG-TS и для выходящих потоков: HLS, RTMP.
- Возможность получить из одного входного потока несколько выходных битрейтов, в т.ч. с разным разрешением.
- Возможность разнести компоненты StreamBuilder на различные площадки, обеспечивая резервирование критичных компонентов, отказоустойчивость и легкое масштабирование всей системы.
- Позволяют обрезать видео, изменять его разрешение, накладывать изображение (в т.ч. анимированнное), нормализовать звук в исходном видеопотоке.
Поддерживается аппаратное ускорение на базе GPU IntelHD.
Поддерживаются следующие источники данных:
● HD SDI
● UDP Поддерживается большинство видео и аудио кодеков. На выходе формируется мультибитрейтный поток в формате HTTP Live Streaming (HLS) с использованием кодеков H264 и AAC.
Воспроизведения потока поддерживается на платформах:
● iOS (iPhone, iPad)
● Android (в браузере; начиная с версии 4.0 при помощи HTML5плеера)
● Windows, Mac, Linux (при помощи Flashплеера)
● Smart TV Samsung (с модельного ряда 2011 года)
В состав продукта входят отдельные компоненты:
● сервер обработки потоков (кодирование и транскодирование, применение фильтров и т.п.)
● сервер съема SDI сигнала и преобразование его во внутренний IPформат
● сервер для приема и передачи сигнала во внутреннем IPформате с функциями fallback/failover
● утилита записи потока на диск в виде HLS
● служебная утилита для получения метаинформации о потоках
Возможности и особенности
Основные возможности streambuilder:
● прием сигнала в формате SD и HD SDI
● прием потоков IP multicast в практически любом формате и кодеках
● использование возможностей GPU IntelHD для аппаратного ускорения кодирования
● формирование мультибитрейтного выходного потока в формате HTTP Live Streaming, пригодного для мультиплатформенного интернетвещания
● высокопроизводительная упаковка входного MPEG4 IP сигнала в формат HLS
● формирование битрейта “только звук” для вещания на iOS
Ключевые особенности:
● готовность работы с CDN: выходной поток HTTP Live Streaming формируется в виде отдельных файлов и сохраняется на диск
● распределенная архитектура, предназначенная для построения отказоустойчивой конфигурации ● возможность резервирования точек приема и кодирования сигнала
● программнонезависимые модули приема сигнала, кодирования, записи на диск
● возможность детальной настройки кодирования каждого из потоков
● встроенные модули для деинтерлейсинга, нормализации и усиления звука
Поддерживаемые форматы данных
Выходные форматы:
● HTTP Live Streaming ver. 3
● Видео: H264 High Profile, Baseline Profile
● Аудио: AAC
Входные форматы:
● SDI
● UDP ○ контейнер MPEGTS ○ Видео: H264, mpeg2, mpeg4, HEVC ○ Аудио: AAC, mpeg2
При приеме MPEGTS по UDP возможна поддержка и других кодеков, которые могут быть декодированы ffmpeg с незначительной потерей производительности.
Аппаратные требования
Общие требования CPU: x86 Intel CPU i7/Xeon RAM:
● рекомендуется 16Гб и выше
● из расчета 300Мб на каждый выходной поток HLS HDD:
● 500 Мб свободного места для установки ПО
● дополнительно место для логфайлов
● дополнительно место для хранения записанного HLS Аппаратное ускорение кодирования при помощи IntelHD GPU Использование аппаратного ускорения кодирования возможно только на платформах Intel с поддержкой IntelHD.
Процессор должен поддерживать технологию Intel Quick Sync Video:
● Intel HD Graphics 2500/4000 (3rd Generation Core, Xeon E312xx v2) — IvyBridge
● Intel HD Graphics 4200+, Intel Iris 5100, Intel Iris Pro 5200 (4th Generation Core, Xeon E312xx v3) — Haswell
Чипсет материнской платы должен быть C226, с поддержкой встроенной графики.
Работа функции протестирована с CPU Intel:
● Intel XEON E31245 v3
● Intel XEON E31285 v3
и системными платами:
● M/B SuperMicro X10SAT (RTL) LGA1150 SDI Для приема SDI потоков необходимо использовать карты HD SDI Blackmagic Design.
Работоспособность проверена с картами:
● Blackmagic Design Duo
● Blackmagic Design Quad
Рекомендуемая версия прошивки карт SDI: Desktop Video 10.0 for Linux 24 February 2014
Метрики производительности
При использовании аппаратного ускорения кодирования IntelHD:
● до 15 Full HD (1080p) транскодируемых выходных потоков, H264, High Profile или
● до 40 SD (480p) транскодируемых выходных потоков, H264, High Profile
● битрейт выходного потока: до 3Mbps (не оказывает существенного влияния)
Результаты получены на оборудовании:
● Intel XEON E31245 v3
● 16Gb RAM
● M/B SuperMicro X10SAT (RTL) LGA1150
Входной сигнал: UDP Multicast, H264, High Profile.
Программные требования ОС Без аппаратного ускорения кодирования:
● Ubuntu 10.04 LTS
● Ubuntu 12.04 LTS
● Debian 6
Только для аппаратного ускорения IntelHD:
● Ubuntu 12.04 LTS Kernel version 3.8.023 для Intel® Xeon® E31285 v3 / 4th Generation Intel Core ● Ubuntu 12.04 LTS Kernel version 3.2.041 для Intel Xeon E31285 v2 / 3rd Generation Intel Core
Работоспособность проверена с версиями драйверов карт SDI Blackmagic: 9.7.1a50, 9.7.8a3, 9.1a20, 9.8a2
StreamBuilder позволяет подключить фильтры для кроппинга, смены разрешения, добавления изображений (в том числе анимированных логотипов и титров), а также усиления и нормализации звука.
Платформа устанавливается на сервер с Linux. Если в сервере используется технология аппаратного ускорения Intel Quick Sync Video производительность решения составляет до 20 HD ( 720p) или 40 SD потоков на один сервер. Без аппаратного ускорения ориентировочная производительность составляет до 8 HD / 720p или 16 SD / 360p потоков.
Решение подойдет, например, операторам IPTV, которые хотят распространять свои телеканалы на устройства пользователя через интернет (услуга мультискрин), или «чистым» ОТТ-операторам. Возможно применение в сфере видеонаблюдения и корпоративного видео. Можно использовать как коробочное решение, так и заказать его интеграцию. Можно использовать как origin -сервер или в распределенной системе серверов.
Пользователям предлагается три редакции платформы: Standard (готовое решение с поддержкой), Pro (добавляется возможность аппаратного ускорения) и Enterprise (с интеграцией и добавлением DRM).
Подробнее на сайте Инвентос