Просто, мощно, навсегда. Элекард CodecWorks 990 — программный лайв транскодер для AVC и HEVC

в 11:28, , рубрики: avc, CodecWorks 990, ffmpeg, h264, H265, HEVC, Intel Media SDK 2.0, Intel Media Server Studio, libavcodec, QSV, Quick Sync Video, Skylake, Алгоритмы, Блог компании Intel, высокая производительность, кодеки, обработка изображений, транскодер, цифровое ТВ, Элекард

Просто, мощно, навсегда. Элекард CodecWorks 990 — программный лайв транскодер для AVC и HEVC - 1

В прошлой статье мы рассмотрели, как работает аппаратное ускорение кодирования и декодирования видео Quick Sync Video (QSV) в процессорах 6-го поколения Skylake. Маленький участок SoC специально выделили для размещения специализированных интегральных схем, которые занимаются только обработкой видео. Воспроизведение видео с аппаратной поддержкой стало гораздо меньше отнимать ресурсов у других задач в ОС, меньше нагревать CPU и потреблять меньше электроэнергии. Благодаря QSV, например, ноутбук MacBook Air воспроизводит более 10 часов видео на одном заряде аккумулятора.

В то же время, аппаратное ускорение кодирования стало доступным для любых сторонних приложений. С последними поколениями процессоров Intel Core появилась аппаратная поддержка транскодирования в AVC/H.264 и HEVC/H.265 (а также VP8 и VP9) — это может привести к настоящей революции на рынке цифрового ТВ и видеотрансляций в интернете. Обычные пользователи вправе рассчитывать на повышение качества картинки видеотрансляций, уменьшение цен и увеличение количества доступных каналов цифрового ТВ.

Каким образом использовать аппаратное ускорение в своей программе — зависит от поставленной задачи. Intel публикует в открытом доступе API для разработки приложений под Windows Media SDK 2.0. Есть ещё кросс-платформенный API для разработки enterprise-приложений Intel Media Server Studio. Подробнее о работе с этими API см. в материалах корпоративного блога Intel на Хабре.

Какие программы используют аппаратное ускорение QSV

Доступ к аппаратному транскодеру QSV через SDK от Intel реализован во многих приложениях:

  • программные кодеры;
  • медиаконвертеры;
  • видео- и фоторедакторы;
  • софт для веб-камер;
  • инстант-мессенджеры;
  • медиаплееры.

Кроме того, QSV поддерживается свободной библиотекой для кодирования и декодирования libavcodec, которая является частью пакета FFmpeg. Это очень популярная библиотека с открытым исходным кодом. Таким образом, аппаратное ускорение от Intel есть во всех программах с FFmpeg.

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

SDK от Intel (Media Server Studio 2017 или Media SDK) предназначен, в том числе, для разработки приложений, решающих задачи кодирования видео в проектах различного типа, включая видеоконференции, работу с видео высокого разрешения до 4К, высокопроизводительное кодирование, Интернет-ТВ и подобные.

До появления аппаратной поддержки работы с видео со стороны Intel для кодирования применялись (и применяются по сей день) решения одного из трёх типов:

  • программное обеспечение, использующее для ускорения работы с видео выделенные графические карты (например, NVidia или AMD);
  • программное обеспечение, использующее только ресурсы центрального процессора;
  • аппаратные кодеры на чипах, так называемые System-On-Chip.

Благодаря решению Intel, кодировать видео теперь можно и на обычных бюджетных домашних компьютерах или серверах с процессорами Intel, используя готовое или разработав своё приложение с помощью SDK.

Стоит сразу отметить, что готовые приложения не требуют участия программистов и уже готовы для применения в реальных задачах; содержат, например, наиболее популярные профили транскодирования для Интернет-ТВ и работать с ними инженеру-непрограммисту в целом гораздо проще, чем с SDK.

Таким образом, чтобы запустить собственную систему транскодирования, нам нужны две вещи:

  1. программный транскодер;
  2. компьютер на процессоре Intel с поддержкой QSV — Intel Core 5-го поколения для AVC/H.264 или Intel Core 6-го поколения для HEVC/H.265. Или аналогичные серверные процессоры Xeon E3 4-го или 5-го поколений.

Программный транскодер с аппаратной поддержкой Intel

Производительность в программных транскодерах с аппаратной поддержкой QSV позволяет собрать коммерческое решение на недорогом сервере с одним процессором. Например, транскодер Элекард CodecWorks 990 заявляет такие характеристики производительности на каждый CPU:

  • HEVC-транскодирование в реальном времени на выходе 1 потока 4K 60p, 6 потоков FullHD (1080p) или 10 потоков HD720
  • AVC-транскодирование в реальном времени на выходе 10 потоков FullHD (1080p) или 16 потоков HD720

Количество видеопотоков ограничено только производительностью оборудования (то есть программно не ограничено). В зависимости от потребностей, можно собрать аппаратное решение на нужное количество процессоров, из нескольких отдельных серверов или нескольких картриджей в одном серверном корпусе. CodecWorks 990 позволяет настраивать и контролировать работу всех кодеров в одной сети через единое графическое приложение. Можно использовать «ручные» настройки транскодирования или выбрать из набора предустановленных схем. Поддерживается, в том числе, мульти-битрейт и мульти-скрин кодирование с дальнейшим вещанием по протоколу HLS или MPEG-DASH (скоро), что актуально в задачах Интернет-ТВ.

Технические характеристики

Вход Выход
Интерфейс Ethernet IP Ethernet IP
Формат видеопотока MPEG-2 TS UDP/RTP MPEG-2 TS UDP/RTP, HLS
Видеокодеки AVC/H.264, MPEG-2, до 4K HEVC/H.265, AVC/H.264, до 4K
Аудиокодеки AAC/HE-AAC v1, MPEG-1 Layer I/II AAC/HE-AAC v1, MPEG-1 Layer I/II, AC3 Pass-through
Препроцессинг Деинтерлейсинг, масштабирование, изменение соотношения сторон
Управление Через приложение GUI, мониторинг использования CPU/GPU и отказов
Поддержка ОС 64-битные Windows 7, 8, 8.1, 10, CPU Intel Broadwell/Skylake с поддержкой Quick Sync Video

Работа CodecWorks 990. Настойка, детальный обзор возможностей

Настройка всех кодирующих узлов CodecWorks 990 осуществляется через отдельное Windows-приложение, менеджер. Можно настраивать все сервера в локальной сети, добавив их в список менеджера по IP-адресам:

Просто, мощно, навсегда. Элекард CodecWorks 990 — программный лайв транскодер для AVC и HEVC - 2

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

Создание нового профиля транскодирования для консоли осуществляется в пошаговом диалоговом окне, состоящем из 4-х этапов:

Просто, мощно, навсегда. Элекард CodecWorks 990 — программный лайв транскодер для AVC и HEVC - 3

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

Просто, мощно, навсегда. Элекард CodecWorks 990 — программный лайв транскодер для AVC и HEVC - 4

Помимо настройки профилей через диалоговые окна и в случае, когда требуется выйти за пределы простых вариантов транскодирования, есть возможность вручную создать полную цепочку работы с медиа и задать детальные параметры каждого блока. Здесь присутствует аналогия с тем, как собирается граф в приложении GraphEditor от Microsoft, являющийся частью библиотеки DirectShow, на которой и построено приложение CodecWorks 990.

Просто, мощно, навсегда. Элекард CodecWorks 990 — программный лайв транскодер для AVC и HEVC - 5

В расширенном редакторе можно добавлять любые блоки (из списка зарегистрированных в системе DirectShow фильтров), соединять их, и настраивать полный список параметров каждого блока. Пример настроек видео энкодера:

Просто, мощно, навсегда. Элекард CodecWorks 990 — программный лайв транскодер для AVC и HEVC - 6

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

Как уже было сказано выше, расширенный редактор кодирующих схем позволяет использовать любые DirectShow фильтры в системе, например, карты захвата ASI/SDI/HDMI, использовать сторонние декодеры для неподдерживаемых приложением форматов и прочее.

Демо-версию CodecWorks 990 можно скачать на веб-сайте продукта.

Аппаратное обеспечение — от мини-ПК до облака

Благодаря поддержке в процессорах Intel, аппаратное ускорение транскодирования видео работает на разнообразном оборудовании: от персональных компьютеров и мини-ПК до больших серверов.

Например, процессоры Intel Core с поддержкой QSV установлены в миниатюрных компьютерах Intel NUC. На сегодняшний день это одна из самых маленьких в мире платформ для аппаратного транскодирования, настоящий мобильный кодер. Например, последняя модель Intel NUC — модель Intel NUC Kit NUC6i7KYK с процессором 6-го поколения Intel Core i7-6770HQ и графикой Iris Pro Graphics 580. Размеры коробочки: 211×116×28 мм. И этот компьютер может кодировать один поток 60 кадров в секунду кодеком HEVC с разрешением 4К!

Просто, мощно, навсегда. Элекард CodecWorks 990 — программный лайв транскодер для AVC и HEVC - 7

Intel NUC Kit NUC6i7KYK с четырёхъядерным процессором 6-го поколения Intel Core i7-6770HQ

Для транскодирования подходят и обычные настольные ПК с процессорами Intel Core. Если требуется аппаратное ускорение кодирования HEVC/H.265 или VP9, то придётся устанавливать CPU последнего 6-го поколения (Skylake). Для аппаратного кодирования AVC/H.264 подойдут и более старые процессоры Broadwell. Например, можно использовать предыдущую модель Intel NUC Mini PC 5i7RYH стоимостью от $449.

Просто, мощно, навсегда. Элекард CodecWorks 990 — программный лайв транскодер для AVC и HEVC - 8

Intel NUC Mini PC 5i7RYH с процессором 5-го поколения Intel Core i7-5557U

Разница в цене между разными поколениями процессоров и платформ, на которых они установлены (ПК, мини-ПК, сервер, модульный сервер), довольно высока, так что в наше кризисное время бюджет кодеров следует тщательно рассчитывать, в зависимости от технических требований к проекту.

Для транскодирования видео в небольших проектах авторы CodecWorks 990 рекомендуют использовать один или несколько серверов традиционного форм-фактора Supermicro SuperServer 5019S-M2 (1 юнит, 1 CPU). Это бюджетное решение для обработки нескольких десятков потоков. Модульный сервер Kontron Symkloud оптимален для больших проектов OTT/IPTV — 18 процессоров в сервере высотой 2 стандартных юнита (2U). Наконец, для одновременного транскодирования сотен видеопотоков подходит специализированный сервер HPE Moonshot (4,3U, до 45 CPU).

Просто, мощно, навсегда. Элекард CodecWorks 990 — программный лайв транскодер для AVC и HEVC - 9

Сервер HPE Moonshot

В таблице показано, сколько видеопотоков может обрабатывать каждый из этих серверов в разных сценариях, с программным транскодером CodecWorks 990.

Что даёт быстрое кодирование AVC и HEVC?

С развитием Интернета и алгоритмов компрессии видео, таких как HEVC/H.265, транскодирование видео становится всё более востребованной задачей. Цифровое видео теперь везде: телевизор и прямые трансляции в Интернете, в том числе по мобильным сетям, видеоконференц-связь, системы видеонаблюдения, телевизионное вещание в HD и 4K. Пожалуй, наибольший рост ожидается в сфере цифрового телевидения через Интернет. Именно здесь ожидаются самые заметные изменения в связи с переходом на кодек HEVC/H.265, который сегодня, в реальных задачах, показывает на 20-35% лучшую степень компрессии видео в сравнении с AVC/H.264 при том же качестве. Стоит также добавить, что из-за алгоритмической сложности кодека, программные и аппаратные реализации HEVC/H.265 продолжают активно улучшаться.

Быстрое транскодирование в HEVC/H.265 с аппаратной поддержкой в процессорах Intel появилось в 2015 году (Skylake). Фактически, видео, сжатое этим кодеком, только начинает своё массовое распространение.

Теоретически, при одинаковом качестве видео HEVC Main Profile выдаёт на 35,4% меньший битрейт, чем H.264/MPEG-4 AVC High Profile. Выигрыш по сравнению с MPEG-4 Advanced Simple Profile — 63,7% (данные IEEE). Это означает сокращение трафика более чем в два раза. В свою очередь, AVC HP выигрывает у MPEG-4 ASP около 44,5% при том же качестве.

Более эффективное сжатие означает, что провайдеры цифрового ТВ могут обслуживать большее количество абонентов на прежнем канале, транслировать каждому абоненту большее количество каналов, транслировать каналы в большем разрешении картинки и качестве. Телевидение высокой чёткости с разрешением 1920×1280 станет обычным делом, а скоро и телевидение 4K UHDTV перестанет быть экзотикой.

Просто, мощно, навсегда. Элекард CodecWorks 990 — программный лайв транскодер для AVC и HEVC - 10
Сравнение разрешающей способности 4K, 2K и HDTV

Для доставки сигнала 4K UHDTV по интернету стандартом определен видео кодек HEVC/H.265, так как он позволяет добиться наибольшего выигрыша в сжатии при большем разрешении картинки. В России только в 2014 году появились первые телеканалы, которые вещают в разрешении 4K UHDTV, сжимая видео кодеком HEVC. Впрочем, телевизоры такого разрешения пока имеются у малого количества абонентов, да и стандартные российские квартиры не слишком подходят для комфортного просмотра телевидения на большом экране UHDTV с расстояния в несколько метров.

Реализация подобных проектов и услуг операторами требует соответствующего оборудования. Рабочий принцип здесь — чем больше выбор, тем лучше для операторов и, в конечном итоге, для абонентов, пользователей услуг. Через SDK Intel открывает возможности для разработчиков писать свои программные кодеры и транскодеры, соревноваться в удобстве использования и дополнительных функциях. Больше выбора — выше качество. У заказчика есть выбор: написать приложение «под себя» с использованием SDK; взять готовое приложение, как CodecWorks 990, подобрать аппаратное обеспечение и провести инженерную работу по установке и настройке; или же купить полностью готовый к использованию аппаратный кодер. Выбор основывается на стоимости различных вариантов, технической подготовленности заказчика и разработчика, бизнес-задаче.

Абоненты же могут быть уверены в одном — в ближайшее время их ожидает ещё больше видео с лучшим качеством за меньшие деньги, и Intel оказывает серьёзное влияние на этот тренд.

Автор: Intel

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js