В этой статье рассмотрим способ прописывания кодеков и некоторые средства их настройки.

Кодеки бывают двух видов:

1. DirectShow. Этим способом могут прописываться аудио и видео кодеки, а также различные обработчики видео, звука и расщепители потоков (splitter'ы)

2. VFW и ACM.  VFW (Video For Windows) - более простой тип видеокодеков. У них нет приоритетов, каждому формату может быть сопоставлен только один кодек. Прописываются они по следующему принципу:

По адресу HKLM\Software\Microsoft\Windows NT\CurrentVersion\Drivers32 создаётся параметр с именем "vidc.****", где **** - четырёхбуквенный код формата (fourcc код). В значении этого параметра указывается путь к файлу кодека (если файл лежит в папке %PATH%, то только имя файла без пути).

ACM-кодеки - это аудиокодеки, файлы с расширением ACM. Прописываются почти также, как и VFW-кодеки: по тому же адресу создается параметр с названием msacm.acmcodec, где вместо acmcodec пишем код аудиоформата. В коде аудиоформата вовсе не обязательно будет 4 буквы, чаще всего эти коды длиннее. У ACM кодеков есть приоритеты, настраиваемые в свойствах аудиокодеков (Диспетчер устройств -> Звуковые, видео и игровые устройства -> Аудио кодеки -> Свойства)

DirectShow кодеки - файлы с расширением .ax или .dll, почти всегда саморегистрирующиеся. Чтобы прописать кодек в реестре, нужно выполнить команду "regsvr32.exe имя_файла_кодека" в командной строке или окне "Выполнить" в меню "Пуск". Чтобы убрать кодек из реестра, нужно аналогичным способом выполнить команду "regsvr32.exe /u имя_файла_кодека". При выполнении этих команд появится сообщение об успешном завершении или об ошибке. У DirectShow кодеков есть приоритеты, для изменения которых следует воспользоваться специальной программой, например, этой.

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

Есть много кодеков, предназначенных для декодирования одних и тех же форматов. Один из них будет работать с данным форматом лучше, другой хуже. Причины некорректной работы кодека могут быть разные: от его устарелости и отсутствия в нём поддержки аппаратного ускорения до различных ошибок в самом кодеке. Прежде чем удалять какой-то кодек, нужно сначала отключить его, снизив приоритет до минимального. И только если после этого воспроизведение видео данного формата заработает и другие форматы воспроизводиться не перестанут, кодек можно удалить из реестра.