DXVA

Настройка DXVA на бесплатных OPEN SOURCE кодеках, пример настройки MediaPortal

Для начала небольшое введение в механизм декодирования файлов. Обычный HD видеофайл может содержать в себе видеодорожку, одну или несколько звуковых дорожек, дорожки с субтитрами и служебную информацию об используемых форматах сжатия. Формат в котором хранятся все эти дорожки в файле называют КОНТЕЙНЕРОМ. Чтобы извлекать и разделять из контейнера потоки видео, аудио и субтитры используются специальные библиотеки СПЛИТТЕРЫ (демультиплексоры). После разделения каждый поток должен быть декодирован (распакован). За это отвечают библиотеки называемые КОДЕКАМИ. Кодек может как распаковывать, так и сжимать потоки аудио/видео, но не обязательно в нём могут присутствовать обе функции. Тоесть воспроизведение происходит в 2 этапа:

  • сплиттер получает потоки из контейнера файла, разделяет их и передаёт кодекам
  • кодек распаковывает аудио или видео поток

В прошлой статье мы упоминали плееры в основном коммерческого характера, каждый из которых имеет собственный сплиттер и кодек, поддерживающий аппаратную акселерацию воспроизведения видео DXVA. Сейчас уже есть бесплатное решение в виде известного Vista Codec Package (VCP) набора кодеков. Он содержит последние версии самых необходимых компонент для проигрывания HD контента:

  • Haali Media Splitter - один из самых быстрых универсальных сплиттеров
  • MPC Video decoder - видео кодек H.264/VC-1 с поддержкой DXVA
  • MPC DTS/AC3/DD+ Source - кодек для аудио потоков

DirectX Video Acceleration (DXVA) или настройка аппаратного ускорения для просмотра HD видео.

Воспроизведение любого видеофайла при корректно установленном кодеке **- не проблема. Но если вы используете маломощный или устаревший процессор, то просмотр файлов повышенного качества 720p или 1080р не для вас. Для проигрывания HD контента обычно рекомендуют 2-x ядерный процессор с частотой от 2.5GHz на ядро. Объяснить это довольно просто:

  • В обычных видеофайлах, использующих DivX или XviD кодеки, видеопоток составляет в среднем 1500-2000 Kb/s. Такой поток посилен старым одноядерным процессорам от 1GHz и всем бюджетным DVD декам последних лет, которые в свою очередь используют специальные медиа процессоры с гораздо меньшими частотами.
  • В случае HD контента видеопоток на базе VC-1 или H.264 может достигать 30Mb/s. И даже современные двухядерные процессоры могут не справляться с таким потоком. Видео будет идти рывками, а о пост-процессинге (например фильтр подавления шума) не может быть и речи.

Конечно можно поставить 4-х ядерный процессор и перестать задумываться о достаточной мощности. Но с одной стороны это лишнее повышенное тепловыделение всей системы, что очевидно противоречит концепции построения HTPC. С другой стороны есть решение, которое давно считается хорошим тоном в среде энтузиастов развития HTPC решений. И решение это DXVA.

RSS-материал