Настройка 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 - кодек для аудио потоков

Установка и настройка кодек пака

  • Предварительно удалите уже установленные в систему кодеки
  • Открываем Shark007's Codecs Homepage и скачиваем последнюю версию 5.1.4, даже если у вас Vista x64, вы всё равно смело можете качать 32-битную версию
  • Устанавливаем кодек пак в режиме Полной установки
  • Открываем "Пуск\Все программы\VistaCodecs\32bit Tools\H264 settings" и поочерёдно запускаем следующие ярлыки: "use ffdshow with multithreading", "set H264 to use DXVA when possible", "enable DXVA codec"

  • запускаем отсюда же ярлык "configure DXVA codec" и в закладке "codecs" проверяем указанные на скриншоте пункты H.264/AVC (DXVA), H.264/AVC (FFmpeg), VC1 (DXVA), VC1 (FFmpeg)

  • запускаем "Пуск\Все программы\VistaCodecs\32bit Tools\Video decoder configuration" и проверяем чтобы в разделе "Codecs" напротив H.264/AVC и VC-1 было "disable"

  • запускаем "Пуск\Все программы\VistaCodecs\32bit Tools\Audio decoder configuration" и в разделе "Mixer/Output" выставляем следующие аудио параметры в случае вывода звука через S/PDIF

После этих установок любой плеер не использующий собственных встроенных кодеков, а работающий с установленными в системе, будет использвать DXVA акселерацию при проигрывании HD форматов H.264 и VC1.

 

Настройка MediaPortal'а для использования DXVA

Настоящим противником для Windows Media Center является бесплатная разработка MediaPortal. Он умеет воспроизводить аудио и видео, отображать картинки, проверять погоду, показывать цифровое и аналоговое ТВ, а так же многое другое с помощью огромного количество подключаемых расширений. Скачать его можно с официального сайта. Постарайтесь брать не релизную версию Latest Release, а последний билд Precompiled Snapshot, так как релиз немного устаревший на этот момент. Довольно стабильная версия на сегодняшний день 21813.

Перед установкой MediaPortal необходимо установить Vista Code Package, затем устанавливаем MediaPortal и запускаем MediaPortal Configuration - "Пуск\Все программы\Team MediaPortal\MediaPortal\MediaPortal Configuration":

  • открываем пункт Videos/Video Player и выставляем следующие настройки для кодеков:

MPEG-2 video decoder: MPC MPEG-2 Video Decoder (Gabest)

H.264 video decoder: MPC Video decoder

MPEG/AC3 audio decoder: ffdshow Audio Decoder

AAC audio decoder: ffdshow Audio Decoder

 

  • в пункте DVD/DVD Codecs выставляем такие настройки:

DVD video decode: MPC - MPEG-2 Video Decoder (Gabest)

DVD audio decode: ffdshow Audio Decoder

  • в закладке DirectShow Filter Control / MPC - MPEG-2 Video Decoder проверям отмечены ли следующие пункты

Enable planar YUV media types

Always display forced subtitles

  • в закладке DirectShow Filter Control/Video Renderer Settings необходимо выбрать Enhanced Video Renderer

  • в случае использования S/PDIF выхода выставляем такие настройки в закладке DirectShow Filter Control/MPA Decoder:

После вышеперечисленных настроек MediaPortal будет проигрывать HD файлы в форматах H.264 и VC1 с использованием DXVA.