Intel qsv что это

Обновлено: 07.07.2024

Intel Quick Sync Video - это торговая марка Intel , выпускающая специализированное аппаратное ядро для кодирования и декодирования видео . Quick Sync был введен с Sandy Bridge микроархитектуры процессора на 9 января 2011 года и был найден на кристалле с процессорами Intel с тех пор.

Название «Быстрая синхронизация» относится к варианту использования быстрого перекодирования («преобразования») видео, например, с DVD или Blu-ray Disc в формат, подходящий, например, для смартфона . Это становится критически важным для профессионального видео рабочего места, в котором исходный материал мог быть снят в любом количестве видеоформатов, все из которых должны быть приведены в общий формат (обычно H.264 ) для нарезки.

В отличие от кодирования видео на центральном процессоре или графическом процессоре общего назначения , Quick Sync представляет собой выделенное аппаратное ядро на кристалле процессора . Это позволяет производить гораздо более энергоэффективную обработку видео.

СОДЕРЖАНИЕ

Доступность

Процессоры Pentium на базе Haswell включают Quick Sync Video, а процессоры Celeron - нет. До Haswell только Core i3 / 5/7 поддерживали быструю синхронизацию.

Производительность и качество

Как и большинство настольных кодировщиков с аппаратным ускорением, Quick Sync получил высокую оценку за свою скорость. Восьмое ежегодное сравнение видеокодеков MPEG-4 AVC / H.264 показало, что Quick Sync сравним с предустановкой x264 superfast с точки зрения скорости, степени сжатия и качества ( SSIM ); тесты проводились на процессоре Intel Core i7 3770 ( Ivy Bridge ). Однако QuickSync нельзя было настроить так, чтобы тратить больше времени на достижение более высокого качества, тогда как x264 значительно улучшился, когда было разрешено использовать больше времени с использованием рекомендуемых настроек.

Оценка, проведенная AnandTech в 2012 году, показала, что QuickSync на Intel Ivy Bridge обеспечивает такое же качество изображения по сравнению с кодировщиком NVENC на GTX 680 от Nvidia, но намного лучше работает при разрешениях ниже 1080p.

Разработка

Quick Sync была впервые представлена ​​на Intel Developer Forum 2010 (13 сентября), но, согласно Tom's Hardware , концепция Quick Sync была задумана за пять лет до этого. Более старая микроархитектура Clarkdale имела поддержку аппаратного декодирования видео, но не поддерживала аппаратное кодирование; он был известен как Intel Clear Video .

Поддержка операционной системы

Ядро Quick Sync Video SIP должно поддерживаться драйвером устройства . Драйвер устройства предоставляет один или несколько интерфейсов , например VDPAU , Video Acceleration API (VA API) или DXVA для декодирования видео, а также OpenMAX IL или VA API для кодирования видео. Затем один из этих интерфейсов используется программным обеспечением конечного пользователя, например медиаплеером VLC или GStreamer , для доступа к оборудованию Quick Sync Video и его использования.

Linux

Доступна поддержка Quick Sync с помощью Intel Media SDK в Linux , а с ноября 2013 года она поддерживается Wowza Streaming Engine (ранее известный как Wowza Media Server) для транскодирования медиапотоков с помощью надстройки транскодера. Quick Sync также поддерживается VA API, например, как для кодирования, так и для декодирования с помощью ffmpeg.

Microsoft предлагает поддержку быстрой синхронизации в Windows (в Windows Vista и более поздних версиях) на основе программного обеспечения драйверов от Intel и поддержки как через DirectX, так и через WMF ( Windows Media Foundation ). На этой базовой поддержке технологии в Windows основан широкий спектр приложений.

macOS

Apple добавила поддержку быстрой синхронизации в OS X Mountain Lion для AirPlay , FaceTime , iTunes , Safari , QuickTime X , iMovie , Final Cut Pro X , Motion и Compressor . Стороннее программное обеспечение включает Adobe Premiere Pro , Adobe Media Encoder, DaVinci Resolve и другие.

Аппаратное декодирование и кодирование

Широко доступна поддержка аппаратно ускоренного декодирования Quick Sync видео H.264, MPEG-2 и VC-1. Один из распространенных способов получить доступ к технологии в Microsoft Windows - использовать бесплатный фильтр ffdshow . Некоторые другие бесплатные программы, такие как медиаплеер VLC (начиная с версии 2.1.0 «Rincewind»), также поддерживают быструю синхронизацию. Сегодня многие коммерческие приложения также выигрывают от этой технологии, в том числе CyberLink PowerDVD , CyberLink PowerDirector и MacroMotion Bogart "gold" edition.

Согласно документации ffdshow , Quick Sync имеет очень низкую загрузку ЦП, будучи примерно в два раза быстрее, чем libavcodec .

Широко доступна поддержка аппаратного кодирования мультимедиа, адаптированная для Quick Sync. Примеры такого программного обеспечения с поддержкой Quick Sync во время процессов кодирования: Emby Media Server , Plex Media Server , Badaboom Media Converter, CyberLink MediaShow, CyberLink MediaEspresso, ArcSoft MediaConverter, MAGIX Video Pro X, Pinnacle Studio (с версии 18), Roxio Toast , Roxio Creator , XSplit Broadcaster , XSplit Gamecaster (все коммерческие) и такие проекты, как HandBrake , Open Broadcaster Software или приложения для работы с видеоконтентом, входящим в Adobe CC2018.

В следующей таблице показана поддержка кодирования / декодирования фиксированных функций для различных платформ Intel. Поддержка гибридного и / или частичного декодирования / кодирования не описывается.

(только кодирование 4: 2: 0)

Некоторые компоненты младшего и высшего класса (включая многопроцессорные Xeon и некоторые процессоры Extreme Edition, которые, как предполагается, будут использоваться с выделенным графическим процессором) не содержат аппаратного ядра для поддержки быстрой синхронизации.


В русском написании аббревиатура Intel QSV выглядит как «ИКСВ», что привносит еще больше неизвестности — «икс», да еще и «в»? Поэтому (и не только поэтому) название лучше просто перевести.
Полный перевод — «Быстрая Синхронизация Видео». Что такое «видео» — вы, наверное, знаете сами. «Синхронизация» — это возможность конвертирования видео из исходных «десктопных», т.е. высокого разрешения форматов, в форматы, поддерживаемые мобильными устройствами и видеохостингами. Хотя, это далеко не единственное возможное использование QSV.
Прилагательное «быстрая» здесь отражает то, что по всем независимым тестам транскодирования видео QSV значительно, в разы, выигрывает не только у программного кодирования на CPU, но и у hi-end GPU!

Intel Quick Sync Video — это маркетинговый термин, обозначающий аппаратное декодирование и кодирование видеоконтента в форматах H.264/MPEG-4 AVC, VC-1 и MPEG-2 (пока только декодирование), реализованное во встроенных GPU процессоров Intel — от ультрабуков до серверов, начиная со второго поколения микроархитектуры Core (Sandy Bridge).

То есть, можно перекодировать видео с DVD или Blu-Ray.

image

Во встроенных GPU Intel помимо исполнительных устройств общего назначения (Execution Units или просто EU), имеется специальный аппаратный модуль, Multi-Format Codec Engine (MFX), реализующий декодирование и кодирование видео:

Подобное фиксированное аппаратное решение не только ускоряет обработку видео, но и разгружает CPU, а также снижает энергопотребление системы.
При этом, декодирование целиком осуществлено в упомянутом аппаратном модуле,
а кодирование происходит в два этапа: один на исполнительных устройствах GPU, второй — аппаратно.


На приведенном слайде из презентации на Intel Developer Forum видно, какие стадии кодирования где делаются. Еще раз подчеркну, что все происходит на GPU, т.е. в железе, а «Гибридное HW/SW решение» обозначает только факт использования программируемых EU блоков GPU.

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

В процессорах Ivy Bridge, то есть, во второй версии Quick Sync, аппаратные модули Sandy Bridge были доработаны — повышена скорость и качество кодирования, добавлена поддержка сверхвысоких разрешений вплоть до 4K Видео. Система даже способна декодировать несколько Quad HD video потоков одновременно.

Найти бы еще соответствующий монитор.

Тестов работы с подобным QuadHD разрешением не нашлось, зато обычных тестов, показывающих скорость работы Quick Sync больше, чем достаточно для статистики.
Например, прошлогодний опыт vilianov Счастлив с Quick Sync.
А вот относительно недавняя информация — Anandtech обозревает Intel Ivy Bridge (Core i7 3770K с HD Graphics 4000, Quick Sync второй версии) и сравнивает скорость перекодирования Blu-Ray исходника на iPad:

image


Измерение идет в кадрах в секунду, а производительность QSV Ivy Bridge сравнивается не только со внешними GPU, но и с Core i7 2000K (Sandy Bridge с первым поколением QuickSync — Intel HD Graphics 3000 на борту), а также Handbrake – программным решением с открытым кодом, не использующим QuickSync.

image

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

При этом, анекдот "печатаю со скоростью 1000 знаков в минуту, но такая фигня получается" здесь неуместен — качество кодирования, хотя и немного уступает чисто софтовому, но всегда выигрывает, или, в худшем случае, идет вровень с любым другим GPU кодированием. Пруфлинков с обсуждением качества можно привести много (вот хороший пример на русском), отметим только что качество почти всегда оценивается субъективно, «на глаз», и, кроме того, оно существенно зависит от конкретной программы кодирования.

Доступ к аппаратной видеообработке QSV осуществляется через драйвер Intel HD graphics, интерфейс к нему непубличен, прежде всего, потому, что он непостоянен — зависим от конкретного железа и версии драйвера. Хотя, отдельные немногочисленные компании-разработчики, при необходимости, по специальному соглашению с Intel, получают доступ к заветному API.

Все остальные компании, желающие использовать преимущества Quick Sync Video, могут сделать это (и делают, конечно) с помощью специального SDK — Intel Media SDK, который предоставляет фиксированный интерфейс для работы с видео. При этом, автоматически, «за кулисами», MSDK использует все возможности аппаратного ускорения Intel для каждой данной системы: Quick Sync при его наличии, иначе – оптимизированные для конкретного CPU программные библиотеки.

В общем, штука отличная. Да еще и бесплатная.

Поэтому в списке компаний, использующих MSDK, можно найти такие известные компании, как MainConcept, Nero, Corel, CyberLink…

Но, не все приложения одинаково полезны, т.е. производительны (сами понимаете, из одних и тех же кирпичей можно построить разные дома). Вот интересное и полезное сравнение производительности от того же vilianov — "Быстрее есть куда"

Итак, если вы хотите, чтобы столь же быстро видео перекодировалось и у вас, то для этого требуется:

1. Наличие в процессоре интегрированного GPU с поддержкой Quick Sync.
Как уже было сказано, CPU должен быть не старше, чем второе поколение микроархитектуры Core (Sandy Bridge).
Кроме того, его встроенная графика должна быть также второго поколения — начиная с Intel HD Graphics 2000. Это важно, так как начальные модели Sandy Bridge, продаваемые под маркой Pentium, имеют «безномерную» Intel HD Graphics, которая не поддерживает Quick Sync.
На сегодняшний день поддержка Quick Sync для мобильных и десктопных компьютеров присутстует в Intel HD Graphics 2000, 2500, 3000 и 4000, а для серверов – в моделях P3000 и P4000.

2. Поддержка GPU чипсетом (материнской платой) .
Чтобы GPU мог передавать данные на южный мост материнской платы – то есть, в конечном итоге, к порту дисплея (DisplayPort), чипсет должен поддерживать Flexible Display Interface (FDI) –«мостик» между GPU и дисплеем. Актуальный список моделей чипсетов и CPU с поддержкой FDI есть в соответствующей статье на wikipedia
Кстати, это требование не имеет специфического отношения к поддержке Quick Sync Video, а является просто необходимым условием работы Intel HD Graphics в системе.

  • Для ноутбуков – использовать возможность переключения графики системы со внешней на внутреннюю (switchable graphics)
  • Для настольных компьютеров — подключить второй монитор на порт интегрированной графики, разрешив его использование в BIOS и сделав его первичным.
  • Использовать решение графической виртуализации LucidLogix Virtu

3. Поддержка видеодрайвером.
На сегодняшний день QSV поддерживается драйверами Windows 7, Windows 8 и Mac OS Mountain Lion.
Также возможно поставить соответствующие драйвера Windows 7 на Windows Server 2008 (при установленной компоненте Desktop Experience).
Свежие драйвера для Intel HD Graphics (кстати, не только для упомянутых выше систем) можно найти здесь.

Чтобы убедиться в том, что у вас актуальный драйвер, правильно понимающий ваше железо, проверьте наличие в системе библиотеки вида libmfxhw*.dll. Если она нашлась, например, libmfxhw64-s1.dll в случае 64-битной системы с процессором Sandy Bridge, все ОК.

4. Поддержка софтом.
Актуальный список рекомендованных Intel коммерческих приложений для Windows, использующих Quick Sync посредством MSDK находится здесь.

Также существует и приложение с открытым кодом – Quick Sync Decoder, использующее Quick Sync декодирование H.264, MPEG2 и VC-1 видео через фильтр ffdshow.

В OS X Mountain Lion QSV поддерживают AirPlay Mirroring и QuickTime X.

Но, во-первых, приложений для обработки видео в природе имеется на порядок больше, чем в приведенном списке. И какие-то из них вполне могут использовать QSV, не сообщая об этом из скромности. А во-вторых, заявленная поддержка QSV и его реальное задействование вашей задачей – это две большие разницы. Во многих приложениях для активации QSV надо выставить галочку в совершенно неожиданном месте или поменять какую-то неочевидную настройку, которую, возможно, стоит поискать, если QSV почему-то не работает.
Все это приводит нас к задаче – проверить, было ли реально использовано аппаратное ускорение при обработке вашего видео.


  1. Скачиваем и устанавливаем Intel Media SDK
  2. В папке “<install-folder>\tools\mediasdk_tracer\” находим и запускаем профилировщик MSDK — tracer.exe
  3. Начинаем логирование кнопкой Start, запускаем обработку видео в вашем подопытном приложении, через несколько секунд останавливаем логирование нажатием Stop.
  4. В логфайле, указанном в поле Output File, ищем строки
    • MFXInit.impl=HARDWARE или MFXInit.impl=AUTO
    • MFXInit.status=MFX_ERR_NONE
    Если они нашлись – все в порядке, QSV используется. Иначе – нет, либо вы ошиблись, и приложение не использует MSDK.
  1. Скачиваем и устанавливаем Intel Graphics Performance Analyzer (GPA)
  2. Запускаем GPA Monitor, далее щелчком правой кнопки мыши по иконке GPA Monitor в системном трее вызываем контекстное меню и выбираем в нем Media Performance:

    Открывшееся окно показывает загрузку исполнительных устройств (EU) и аппаратного обработчика видео (MFX) Intel GPU.
  3. Запускаем обработку видео в вашем приложении, и в реальном времени смотрим на таблицы использования компонент Intel GPU. Или – не смотрим, а сохраняем эти данные в логе нажатием Capture. Если в таблицах или логфайле мелькают строки «декодирование» (DECODING) и «кодирование» (ENCODE), как показано ниже, значит, QSV используется.

Как все сложно … а проще нельзя? Можно. Во всех ультрабуках Quick Sync Video работает изначально по определению, а используя бесплатный Intel MSDK вы можете легко самостоятельно написать приложение, задействующее QSV по умолчанию.

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


Когда я пытался с этим разобраться (довольно давно), ситуация была такая же. Думал, они уже в апстрим добавились, а вот оно как.


Не заметил в PDF'ке ничего про патчинг ядра. Там предлагают VA-API драйвер другой подцеплять вместо i965. Это userspace драйвера, не ядро.


1. To unpack and install the user mode components, run this script as root: install_ sdk_UMD_CentOS.sh 2. Apply patches to the i915 driver as well as to the rest of the kernel. Rebuild and package as RPMs with build_kernel_rpm_CentOS.sh. Note: this step is run as a regular user, not as root.


ну и дальше предлагается с новым ядром перезагрузиться


Да, тогда это совсем не весело.


Кстати, чем открытый VA-API драйвер не подошёл? Он тоже может кодировать, а через GStreamer есть приличный интерфейс.


Я пробовал. Всё отлично. Единственное, в ffmpeg не было кодеков, когда я это делал, пришлось самому запиливать. Мб сейчас что-то изменилось, я не в курсе.


в ffmpeg не было кодеков, когда я это делал, пришлось самому запиливать.

чтоб эти кодеки работали, предполагается патчинг ядра, о чём и тред


чтоб эти кодеки работали, предполагается патчинг ядра, о чём и тред

Нет, не предполагается. QS работает на ванильных ядрах (у нас - ядра из RHEL). Intel распространяет какой-то свой i915, но по факту всё работает и без него, если текущее ядро поддерживает твой чип.

hateyoufeel ★★★★★ ( 06.12.16 17:45:52 )
Последнее исправление: hateyoufeel 06.12.16 17:47:53 (всего исправлений: 2)

нужно патчить ядро проприетарными интеловскими башескриптами

патчи лежат в том же архиве, не может быть проприетарным обычный башскрипт, наркоман проклятый!

продавай\сдавай в аренду в составе аппаратного комплекса

но для распространения софта с поддержкой данной фичи это не очень подходит

поцоны из ffmpeg и не знают, надо им написать срочно

представляю как у тебя бомбанет, когда узнаешь, что mediasdk 2015r6 поддерживает haswell но не поддерживает skylake, а mediasdk 2017 уже не держит haswell, зато поддерживает skylake

у intel есть форум, там нужно ныть разрабам в уши


надо потестить, обнаружил, что упоминаемые

у меня таки есть


патчи лежат в том же архиве, не может быть проприетарным обычный башскрипт, наркоман проклятый!

поцоны из ffmpeg и не знают, надо им написать срочно

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

QuickSync теребишь через GPL библиотеки libva/libdrm/mfx_dispatch в каком месте бинарник вдруг станет несвободным?


у меня уже бомбит от того, что для скачивания регистрация требуется


а почему в пдфке для компиляния ффмпега с *_qsv кодеками пишут --enable-nonfree указать?


Так и ffpmeg\libav тоже умеют в ва-апи


Так и ffpmeg\libav тоже умеют в ва-апи

Я как-то пропустил этот момент. Думал, что только декодировать умеют.

сам спросишь в ffmpeg рассылке?

это фигня. Пока интеловцы из Нижнего Новгорода и Крылатского всё ещё пытались собирать дебиановские пакеты, у них имена пакетов были несостыкованы.


в ощщем, смотрю я на эту табличку

вариантов много, а выбирать нечего :)


superuser ★★★ ( 29.04.17 01:13:27 )
Последнее исправление: superuser 29.04.17 01:18:26 (всего исправлений: 1)

на дворе 7.3, то есть нужно ставить старую centos и сносить rpm/yum/dnf из системы

2017 выкинули поддержку haswell, в 2016 skylake не завезли

ну и да этот разрыв шаблона, когда на ark.intel про процессор написано quicksync, но в линуксе он работать не будет, Media SDK for linux свой список поддерживаемого

hizel ★★★★★ ( 29.04.17 09:21:02 )
Последнее исправление: hizel 29.04.17 09:24:21 (всего исправлений: 1)

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


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


Думаю, что тех инструкций хватит чтобы собрать под любой дистрибутив linux.

2017 выкинули поддержку haswell, в 2016 skylake не завезли

откуда такая информация?

хватит чтобы собрать под любой дистрибутив linux

найдется герой который пропатчит перепатченное ядро 4.4 любого дистрибутива и справится с dependency hell из-за патченых libva, libdrm, i915


Пропатчил ванильную версию 4.4.64 - всего 3 ошибки. Думаю заняться.


Похоже там всё просто: патчи эти все только для i915, libva нужно собрать именно от intel (он у них свой) и libdrm пересобрать той версии, который находится в Intel Media Server Studio.
Вот только исходники iHD_drv_video.so не дают похоже. А так вроде всё гуд.
Ну и немного мозгов надо иметь, чтобы не запускать ихний установщик, а опакетить для своего дистрибутива только нужное. А то они там rf & cp применяют :)

superuser ★★★ ( 29.04.17 21:52:25 )
Последнее исправление: superuser 29.04.17 22:01:23 (всего исправлений: 2)


superuser ★★★ ( 04.05.17 02:55:35 )
Последнее исправление: superuser 04.05.17 03:01:50 (всего исправлений: 2)

Я правильно понимаю, через неделю ты что-то собрал и внезапно оказалось у тебя, таки, не skylake\brodwell?

Пишет Liu, Yan разраб:

I have confirmed the MSS 2017R3 will not support Kabylake. The reason is the Media Server Studio is a server product, it is not necessary to support the Kabelake—a desktop processor.

Открытие intel-ом исходников символизирует закапывание Intel Media Server Studio для linux. В intel-vaapi-driver завезли и kaby lake и hevc там подпиливают, можешь у них на гитхабе оценить, что нужно для поддержки KBL.


Да у меня kabylake. После покупки обнаружил, что не кодирует с хардварным ускорением.

а зачем тогда нужен MSS если всё уже есть в intel-vaapi-driver?

ты сначала в vaapi потыкай, а потом решай кого закапывать. оцени разницу ffmpeg -hide_banner -h encoder=h264_vaapi и encoder=h264_qsv

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

QuickSync против NVENC: сравнение кодирования на GPU

Для начала определимся с графикой, которую будем сравнивать. Рассмотрим только стабильные решения для работы в режиме 24/7 — в телевещании иначе нельзя. Со стороны Intel возьмем процессор последнего поколения Intel Xeon E-2246G (семейство Coffee Lake) со встроенной графикой Intel UHD Graphics P630. Со стороны NVIDIA выберем Quadro RTX 4000 — серверный аналог потребительской видеокарты GeForce RTX 2070 Super. В отличие от последней, она не имеет официальных ограничений в одновременной обработке больше трех потоков. Это ограничение можно снять, установив неофициальный патч, но мы все же рассмотрим только проверенные и официальные решения. Более ранние версии видеокарт мы отмели сразу: они проигрывают при работе с кодеком HEVC, так как не имеют возможности кодирования B-кадров.

Теперь подберем платформы с выбранными графическими решениями (см. таблицу 1).

Chart_1.jpg

Максимальное количество транскодируемых каналов

Для начала проведем нагрузочный тест на максимально возможное количество транскодируемых каналов (режим fastest) на одном сервере. В этом сравнении решение NVIDIA оказалось в два раза производительнее разработки Intel при транскодировании средствами кодека AVC и практически не уступило в кодировании средствами HEVC (см. таблицу 2).

Chart_2.jpg

Цена за канал с учетом затрат на сервер

Теперь мы знаем максимально возможное количество каналов разрешения Full HD (FHD, 1920×1080 точек) на один сервер со встроенной графикой Intel и видеокартой NVIDIA, а значит, сможем вычислить цену одного канала FHD.

Chart_3.jpg

Получается, что для AVC в цене разницы нет (см. таблицу 3). В случае c HEVC решение NVIDIA гораздо дороже по цене за канал на платформу, если рассчитывать максимальное количество каналов (то есть использовать самые быстрые алгоритмы кодирования, жертвуя качеством).

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

Качество выходного потока по сравнению с исходным

Рассмотрим качество сжатия видео, ведь нет никакого смысла в количестве каналов, если их невозможно смотреть. Ниже представлен график сравнения качества по метрике PSNR (Peak Signal-to-Noise Ratio — пиковое отношение сигнала к шуму, — прим. ред.): Intel AVC с исходным потоком (синяя линия) и NVIDIA AVC с исходным потоком (красная линия).

Diag_1.jpg

На графике видно, что качество получаемых потоков близко по значению PSNR.

Теперь давайте сравним с помощью метрики VMAF (Video Multimethod Assessment Fusion — субъективная мультиметодная оценка видео, разработана при участии Netflix, — прим. ред.).

Diag_2.jpg

В следующем графике сравним Intel HEVC с исходным потоком (синяя линия) и NVIDIA HEVC с исходным потоком (красная линия).

Diag_3.jpg

Из графика видно, что наше сравнение было не совсем корректным, так как максимальное количество кодируемых каналов NVIDIA равно 14, и их качество почти на 2 дБ выше, чем у 13 каналов на Intel. Поэтому мы провели дополнительные измерения, и при максимально возможном качестве на NVIDIA и на Intel в режиме GAcc (GPU Accelerated — когда кодирование происходит не только средствами графического ускорителя, но и центрального процессора) получили следующий результат. Intel HEVC GAcc с исходным потоком (синяя линия) по сравнению с NVIDIA HEVC с исходным потоком (красная линия):

Diag_4.jpg

Качество кодирования практически совпало, но производительность обеих систем упала в разы. Теперь NVIDIA кодировала всего четыре канала FHD HEVC, а Intel — всего 2. Пересчитаем цену одного канала исходя из новых данных: 114,2 тыс. рублей/2 = 57,1 тыс. рублей за один транскодируемый HEVC-канал на Intel; 228,5 тыс. рублей/4 = 57,1 тыс. рублей за один транскодируемый HEVC-канал на Nvidia. Таким образом, мы получили то же соотношение по цене за канал, что и в ситуации с кодеком AVC.

Энергопотребление при равной нагрузке

Рассмотрим еще один важный момент при обслуживании рабочей системы — потребляемая мощность платформы. Из наших тестов при максимальной нагрузке платформ транскодированием мы получили следующие значения: потребление платформы с NVIDIA около 200 Вт, потребление платформы с Intel около 75 Вт. Поскольку на платформе Intel каналов в два раза меньше, умножим значение на 2 — итого около 150 Вт. Получается, что при той же работе платформа NVIDIA потребляет на 50 Вт больше.

Занимаемое место в серверной стойке

При больших объемах транскодируемых каналов часто возникает вопрос размещения серверов. Для решения Intel предусмотрены специальные платформы-лезвия, где в одном сервере формфактора 3 U (юнита) умещается от 8 до 14 лезвий (полноценных серверов измененного формфактора). В одной 3U-платформе можно транскодировать до 168 каналов FHD с кодеком AVC. Если же использовать не сервер-лезвие, а обычный стоечный сервер, то на такое количество каналов понадобится высота 14 U.

Решение NVIDIA в этом плане немного сложнее: сами видеокарты занимают дополнительное место в платформе. Можно размещать по одной видеокарте в 1U-сервер, тогда занимаемое место на тоже количество каналов будет составлять 7 U. Можно на одной платформе разместить несколько видеокарт, что позволяет сэкономить на цене платформы, но выиграть место вряд ли получится: чтобы разместить 2-3 графических ускорителя, потребуется платформа 3 U, а то и 4 U.

Решение специфических задач

Помимо транскодирования видео, существуют такие задачи, как декодирование видео для визуального мониторинга и кодирование с карты захвата SDI/NDI. В таких случаях решение Intel подходит лучше: эти задачи зачастую не объемные, а значит, и использовать все ресурсы NVIDIA не получится. Даже если нужно кодировать SDI, скорее всего, это будет несколько каналов — сложно найти проект, где требуется кодировать до 24 сигналов. Кроме того, в 1U-платформу довольно сложно уместить SDI-карту захвата с интерфейсом PCI и видеокарту с той же шиной — нужно выбирать либо платформу с другой высотой, либо с достаточным местом для двух карт, что встречается довольно редко.

Есть и техническое ограничение. Процесс декодирования менее затратный, чем транскодирование, и в теории на решении NVIDIA можно визуально мониторить больше 24 каналов FHD AVC. На самом деле количество каналов ограничено 8, так как невозможно передать больший объем декодированного (несжатого) видео через шину PCI. В случае же с решением Intel такой проблемы нет, так как графика встроена в процессор.

Справедливости ради отметим, что решение NVIDIA более привлекательно для транскодирования контента сверхвысокого (UHD) разрешения, поскольку на одной видеокарте можно развернуть многопрофильное транскодирование. Встроенный графический ускоритель Intel не может транскодировать UHD-контент в несколько профилей на одном графическом ядре, и приходится включать систему распределения потока между серверами — такое решение называется распределенным транскодированием.

Для выбора важно, как реализовано использование инструментов, предлагаемых компаниями Intel и NVIDIA, какие дополнительные функции сможет выполнять программно-аппаратный комплекс

Выводы

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

Автор: Вадим Блинов, менеджер продукта CodecWorks, компания Elecard

Подпишитесь на канал «Телеcпутника» в Telegram: перейдите по инвайт-ссылке или в поисковой строке мессенджера введите @telesputnik, затем выберите канал «ТелеСпутник» и нажмите кнопку +Join внизу экрана.

И подписывайтесь на канал «Телеспутника» в «Яндекс.Дзен» .

Читайте также: