ДекодерВ общем случае декодер — это некоторое звено, которое преобразует информацию из внешнего вида в вид, применяемый внутри узла.
В программном обеспечении: модуль программы или самостоятельное приложение, которое преобразует файл или информационный поток из внешнего вида в вид, который поддерживает другое программное обеспечение. Например, библиотека in_mp3.dll в программе Winamp, которая является декодером формата MP3.
В телевизионной технике:
- устройство, преобразующее полный видеосигнал в RGB-сигнал (т. е. комплексный сигнал, состоящий из трёх, отдельно по каждому базовому цвету);
- устройство, декодирующее (расшифровывающее) информацию с платного
телевизионного канала, по которому она передаётся в зашифрованном виде
с целью недопущения её просмотра посторонними абонентами
В цифровой микросхемотехнике: микросхема, преобразующая форматы, системы счисления, виды представления данных (например, десятичный код в код семисегментного индикатора).
Для воспроизведения подавляющего большинства современных видеозаписей нужен декодер MPEG–4 ASP: DivX 5/6,
XviD или ffDShow. По идее, чем новее декодер, тем он лучше: более
функционален, поддерживает больше форматов и в нём исправлено больше
ошибок. Каждый из этих декодеров способен воспроизводить видео со
сжатием MPEG–4 ASP:
Примечания:
- Форматы сжатия MS MPEG–4 и DivX 3 не вполне совместимы со
стандартом сжатия видео ISO MPEG–4, потому некоторые декодеры
(например, аппаратные) не способны корректно воспроизводить записи с
таким сжатием.
- Декодер DivX способен воспроизводить те
записи, сжатые кодером XviD, которые соответствуют стандарту ISO
MPEG–4 ASP. Ранние версии кодера XviD создавали видеозаписи
несовместимые со стандартом. Начиная с версии 1.0 видео XviD полностью
соответствует ISO MPEG–4 ASP.
- Декодер DivX версий 5.2 и
старше способен воспроизводить записи XviD с несколькими
двунаправленными кадрами подряд (multiple b-frames) и с глобальной
компенсацией движения с тремя точками привязки (GMC with 3 warp points).
- Декодер DivX воспроизводит записи со сжатием MS MPEG–4 v.3 после смены подписи кодека (FourCC) на ‘DIV3’.
Если в системе установлено несколько декодеров для воспроизведения
одного формата, то лишь один из них будет использоваться при
воспроизведении видео определённого формата. Определить, какой же из
декодеров используется, можно посмотрев список задействованных при
воспроизведении DirectShow фильтров: его отображают DivXG400 и VobSub (при любом используемом проигрывателе), а также многие проигрыватели даже без помощи DivXG400 или VobSub: LightAlloy, ZoomPlayer, Media Player Classic, Windows Media Player 6.4 и т.д.
Некоторые настройки «приоритета» выбора определённого декодера можно
изменить при помощи программ по установке/настройке кодеков: например,
в XviD: decode DivX, или в DivX: Support generic MPEG–4.
Однако, не все кодеки предоставляют такие возможности. Система Windows
также не предлагает инструментария для настройки приоритетов выбора
различных DirectShow фильтров, кодеков и декодеров. Потому имеет смысл
устанавливать в систему только один универсальный декодер MPEG–4 видео:
это позволит избежать путаницы (например: вы меняете настройки одного
декодера, но на практике для воспроизведения видео используется совсем
другой).
Декодеры MPEG–4 содержат такую функцию, как post-processing
(постпроцессинг): обработка изображения специальным образом, при
котором скрываются артефакты (искажения) сжатия видео. Есть несколько
стандартных алгоритмов post-processing: deblocking
(устранение блочной структуры изображения) и deringing (уменьшение шума
рядом с контрастными границами). Некоторые декодеры предлагают 6 этапов
увеличения эффективности постпроцессинга: deblocking по горизонтали для
яркостной составляющей, то же для цветности, deblocking по вертикали
для яркости и цветности, deringing для яркости и цветности. Чем
больше этапов (уровней) post-processing выполняется, тем больше
вычислительных ресурсов необходимо для воспроизведения видеозаписей.
Некоторые декодеры имеют функцию автоматического регулирования уровня
post-processing: если вычислительных ресурсов вашего процессора не
хватает для воспроизведения видео с выбранным уровнем качества, то
декодер снижает качество post-processing — иначе декодеру пришлось бы
пропускать кадры видеоряда.
MPEG–4 AVC (H.264)
Всё популярнее становится формат сжатия видео
MPEG–4 AVC (advanced video coding, он же называется H.264), который
позволяет кодерам обеспечить существенно бóльший уровень качества при
той же степени сжатия, чем традиционный MPEG–4 ASP см. напр. сравнение кодеков на сайте Doom9.
Учтите, что при воспроизведении этот метод сжатия требует примерно
вдвое больше вычислительных ресурсов. На сегодня существует целый ряд
декодеров AVC видео: Core AVC Decoder, ffDShow, Nero Digital, Moonlight, 3ivX, VSS, MainConcept. Учтите, что часто видеозаписи со сжатием AVC хранятся в контейнере MP4 и используют метод сжатия звука AAC (подробнее см. ниже в соответствующих разделах статьи)
Формат MPEG–4 AVC (H.264) является одним из стандартных форматов сжатия видео по стандарту HD–DVD (наряду с Windows Media Video / WMV).
DivX
Самый распространённый декодер — это декодер от DivX Networks. Последняя версия — 6.6 (с поддержкой формата DivX Media), оптимизированная под многопроцессорные/многоядерные системы.
Имеет функции автоматического регулирования уровня post-processing и
добавления шума (эффект киноплёнки, film effect). В комплекте также
содержится проигрыватель DivX Player
плюс интерфейс всех компонентов переведен на 4 языка: английский,
немецкий, французский и японский; потому размер для скачивания довольно
велик: 20 Мбайт. DivX Player поддерживает аппаратное ускорение постпроцессинга на видеокартах ATI Radeon 9500 и лучше. Формат сжатия используется прежний (DivX 5), а новый формат контейнера DivX Media обратно совместим с обычным AVI. Cубтитры,
встроенные в файлы формата DivX Media, имеют достаточно низкое качество
(небольшое разрешение, равное разрешению видеозаписи, плюс небольшое
количество цветов, что мешает реализовать качественное сглаживание
букв).
Оптимальные настройки декодеров DivX 5 и DivX 6
Аutomatic post-processing — Partial или Full (для DivX 6: Post processing level: Automatic Deblocking или Fully Automatic)
Второй вариант допускает дополнительную обработку изображения при
декодировании видео — такая обработка может несколько снижать чёткость
видео. Настраивайте по вкусу. Для медленных компьютеров можно вовсе
отключить постпроцессинг: Disable Post-Processing.
Film effect — добавляет «шум киноплёнки» при декодировании, это
должно прибавить «теплоты» киноплёнки в цифровое видео (ещё один миф из
серии «тёплое виниловое звучание»). С другой стороны, наличие шума в
картинке позволяет скрыть дефекты чрезмерного сжатия видео.
Настраивайте так, как вам больше нравится.
Smooth playback (для DivX 6: Reduce CPU spikes) — ВЫКЛ, иначе некоторые записи будут дёргаться (например, сжатые XviD).
YUV extended (для DivX 6: Output YUV 4:2:0)
— ВКЛ. Декодирование видео работает быстрее, но в таком случае
невозможно корректировать яркость, контрастность и цветность
посредством декодера. Как правило, эти настройки удобнее менять в
настройках видео адаптера (см. ниже).
Overlay extended (для DivX 6: Use advanced hardware overlay)
— ВКЛ. При включённом параметре для отображения видео будут обязательно
использоваться аппаратные возможности видеокарты (оверлей). Это нужно,
в частности, для воспроизведения видеозаписи, когда окно
программы-проигрывателя не видно на экране: при наличии ТВ–выхода вы
можете одновременно работать за компьютером и смотреть видеозаписи на
экране телевизора. Но если вы параллельно запустите на воспроизведение
ещё одну видеозапись, то её масштабирование будет производится
программно: почти наверняка это приведёт к рывкам и рассинхронизации
звука и видео.
Overlay extended — ВЫКЛ. Если параметр выключен, то аппаратное
ускорение видео будет назначаться автоматически операционной системой
той видеозаписи, которая видна на экране поверх других. Если вы
захотите посмотреть видео через ТВ–выход вашей видеокарты, то как
только окно проигрывателя будет минимизировано или перекрыто другим
окном, картинка на телевизоре «замрёт». Проблему помогут обойти
некоторые драйвера видеокарт: ATI — Overlay — Theatre mode, или
некоторые проигрыватели: LightAlloy — Видео — Принудительно включать
оверлей.
Double buffering — ВЫКЛ, при включении на некоторых видеокартах видео может дёргаться.
Disable Logo (для DivX 6: Show DivX logo watermark)
— по вкусу, выключает отображение логотипа DivX в первые секунды
воспроизведения видео. Появление логотипа DivX на экране позволяет
легко идентифицировать, используется ли декодер DivX для
воспроизведения.
Support Generic MPEG-4 — ВКЛ, поддержка не-DivX форматов, например XviD.
XviD
Этот кодек — результат работы OpenSource проекта XviD.
Его размер всего около 640 Кбайт. Считается, что этот декодер реализует
самый качественный post-processing изображения. Уровень post-processing
регулируется только вручную, есть возможность добавить шум (эффект
киноплёнки). Последняя версия — 1.1.2, разрабатывается версия 1.2 с поддержкой нескольких процессоров (или многоядерного процессора).
Оптимальные настройки декодера XviD
В настройках XviD самое важное — это постпроцессинг. Этот декодер не
умеет автоматически снижать качество постпроцессинга в случае полной
загрузки процессора. Потому, если видео начнёт «тормозить» и дёргаться,
пропускаются кадры — нужно уменьшить уровень постпроцессинга: мощности
вашего процессора недостаточно для декодирования этой видеозаписи с
выбранным качеством. Для этого в разделе Postprocessing отключите
использование одного или всех алгоритмов обработки изображения. В
разделе FourCC Support вы можете включить поддержку декодирования
видео, сжатого DivX 4, DivX 5/6 и стандартного MPEG 4 видео.
ffDShow
Самый производительный декодер: он минимально нагружает процессор
при воспроизведении видео, хотя выигрыш с появлением последних версий
DivX стал невелик. Также этот декодер самый универсальный: он позволяет
декодировать материал, сжатый DivX версии 3, 4, 5 и 6, XviD, MPEG–1,
Microsoft MPEG–4 (v. 1, 2, 3), AVC/H.264 (Внимание! декодер формата AVC содержит встроенный постпроцессинг, закладка постобработки ffDShow для записей в формате AVC попросту игнорируется),
DV, MJPEG, HuffYUV, Cinepack, Indeo — всех и не перечислишь. (К слову:
ffDShow содержит параметры, которые позволяют декодировать записи со
сжатием XviD в режиме совместимости со старыми версиями кодера.)
Последние версии также комплектуются собственным декодером звука (mp2,
mp3, AC3, DTS, AAC, WMA 1 и 2), качество возможности которого которого, правда, оставляет желать много лучшего: сравните с настройками AC3Filter
(но надо отдать ему должное: декодер mp3 работает быстрее, чем
стандартный декодер Windows). ffDShow содержит огромное количество
фильтров для обработки изображения: deinterlace, яркость/контрастность,
добавление или устранение шума, размытие, увеличение резкости,
коррекция перспективы и так далее. Также есть встроенная поддержка
отображения субтитров. Чтобы описать все возможности этого
замечательного во всех отношениях декодера, нужно будет написать
отдельную большую статью. Этот декодер первым реализовал технологию
автоматической регулировки уровня post-processing. Также в новых
версиях интерфейс переведён на несколько языков, в том числе и на
русский.
ffDShow основан на библиотеке аудио и видео кодирования libavcodec.
Как многие проекты с открытыми исходными кодами, эта библиотека
постоянно развивается и совершенствуется. Новости развития ffDShow анонсируются на сайте проекта и в соответствующем разделе форума сайта Doom9. С некоторой регулярностью проект выпускает альфа-версии: последняя альфа–версия
— от 12 октября 2004 года. Эти варианты тщательнее тестируются и более
стабильны в работе, однако всё же качественной работы вам никто не
гарантирует. Если у вас не работает какая-либо версия декодера,
попробуйте заменить её на другую. Практика показывает, что новые версии
ffDShow достаточно стабильны и их вполне можно использовать вместо
других декодеров, тем более что ffDShow намного более гибок и
универсален. На сайте проекта x264 вы сможете найти последнюю версию ffDShow, в которой не были обнаружены ошибки.
Сегодня существует множество программ для
воспроизведения видео в формате MPEG–2, например с видео DVD. Многие
такие программы также поддерживают воспроизведение видео в формате
цифрового спутникового и кабельного телевидения: MPEG–2 Transport
Stream.
Наиболее известны проигрыватели PowerDVD (последняя версия: 7.3, цена: $50 за версию Standard, $60 за версию Max и $70 за версию Deluxe, для владельцев предыдущих версий программы предусмотрены скидки, доступна 30–дневная пробная версия) и WinDVD Player (последняя версия: 8, цена: $40 за версию Gold и $60 за версию Deluxe, для владельцев предыдущих версий программы предусмотрены скидки, доступна 14–дневная пробная версия).
WinDVD имеет ряд функциональных ограничений: например, невозможно
воспроизвести копию DVD диска с жёсткого диска компьютера, если файлы
не записаны в каталог VIDEO_TS. Очень часто одним из этих
проигрывателей комплектуются DVD–приводы или другие компьютерные
комплектующие (материнские платы и т. п.)
Обе программы поддерживают практически все известные
на сегодня форматы сжатия видео и звука, а также содержат огромное
количество дополнительных возможностей для обработки воспроизводимого
видео и звука, призванных сделать просмотр более комфортным и приятным.
Каждая из программ имеет вариант интерфейса на русском языке. Обе
программы позволяют использовать DXVA для аппаратного ускорения
декодирования MPEG–2 и MPEG-4 AVC (правда, в таком режиме дополнительная обработка видео не работает).
WinDVD содержит целый ряд интересных функциональных новшеств: TrimensionDNM
(проигрыватель путём интерполяции на основании записанных на DVD 25
кадров в секунду строит промежуточные кадры и показывает запись с 60
или 75 кадрами в секунду: это даёт исключительную плавность
изображения) или Time Stretching
(позволяет сжимать время воспроизведения видеозаписи, например вы
можете двухчасовый фильм посмотреть за 1,5 часа, или смотреть фильмы,
записанные в PAL, с «родными» для кино 24 кадрами в секунду — Pal TruSpeed Playback).
Менее распространены, но весьма ценимы знатоками, программы двух других производителей: Elecard DVD Player (последняя версия: 2.1, цена: $25, плюс $40 за плагин с поддержкой формата MPEG-4 AVC, доступна 30–дневная пробная версия), Elecard MPEG Player (последняя версия: 4.5, цена: $30, плюс $40 за плагин с поддержкой формата MPEG-4 AVC, доступна 21–дневная пробная версия, можно загрузить и установить отдельно Elecard MPEG2 Video Decoder) и Sonic CinePlayer (последняя версия: 3.2, цена: $30 за версию Basic и $50 за версию Surround, доступна 30–дневная пробная версия, за $15 можно купить отдельно CinePlayer DVD Decoder Pack).
Elecard DVD Player
поддерживает воспроизведение видео DVD и их копий, правда не
поддерживается декодирование звука в формате AC3 и дешифрование
содержимого DVD (CSS, content scrambling system). Elecard MPEG Player
поддерживает воспроизведение видео в форматах MPEG–1, MPEG–2, MPEG–4
SP/ASP и H.264/AVC в разрешениях вплоть до HD (1920x1080 пикселей),
позволяет использовать DXVA для аппаратного ускорения декодирования
MPEG–2, поддерживает форматы сжатия звука MPEG–1/2/2.5 (в том числе
mp3), LPCM и AAC.
Sonic CinePlayer (последняя версия: 3.2) существует в двух вариантах: CinePlayer Surround и CinePlayer Basic
(без поддержки многоканального звука в формате Dolby AC3).
Проигрыватель позволяет воспроизводить видео в формате MPEG–1/2, есть
возможность использовать DXVA для аппаратного ускорения декодирования
видео. Производители утверждают, что их декодер воспроизводит видео DVD
быстрее и качественнее конкурентов.
MPEG2–декодеры из состава программ DVD проигрывателей могут использовать любые другие DirectShow проигрыватели. Многие
проигрыватели даже позволяют пользоваться дополнительными функциями
видео DVD: меню, переключение звуковых дорожек и субтитров, навигация
по «главам» (chapters) диска — Zoom Player, Windows Media Player 7+, Core Media Player Pro, LightAlloy.
Также существует целый ряд
декодеров, которые распространяются без программ–проигрывателей:
во–первых это декодеры с поддержкой DXVA (аппаратного ускорения
декодирования MPEG–1/2) nVidia PureVideo Decoder (бесплатно доступна 30–дневная пробная версия Decoder 1.02.150, также можно купить версию Bronze за $20, Gold за $30 или Platinum за $50) и ATI DVD Decoder из комплекта ATI Multimedia Center (последняя версия: ATI MMC 9.16, бесплатно для владельцев видеокарт ATI Radeon 9000 и старше, также можно купить ATI Radeon CD c MMC 8.x за $13). В драйвера ATI Catalyst начиная с версии 6.0 включена поддержка аппаратного ускорения воспроизведения DVD и H.264, включая аппаратное ускорение deinterlace и IVTC pulldown. Существует бесплатный декодер с открытыми исходными кодами GPL MPEG–1/2 Decoder (последняя версия:
0.1.2, размер: всего 160 кБ): учтите, он не поддерживает дешифрование
содержимого видео DVD (CSS, content scrambling system) и DXVA. Эти
декодеры также могут быть использованы в любых других
DirectShow–совместимых проигрывателях.
Отдельного упоминания заслуживает бесплатный проигрыватель, содержащий декодеры для MPEG–1/2: Media Player Classic (подробнее — см. ниже).
Этот проигрыватель способен воспроизводить DVD без каких-либо
дополнительных модулей: все необходимые компоненты встроены в саму
программу. Размер этой программы в архиве — меньше 2 МБ!
QuickTime и Real video
Для просмотра видео в форматах RealVideo (*.rm, *.rv, *.ram) и QuickTime (*.mov, *.qt) можно установить «родную» программу: RealPlayer (бесплатно доступна 14–дневная пробная версия) или QuickTime Player соответственно (обычная версия бесплатна, версия Pro обойдётся в $30). При этом в систему будут установлены необходимые кодеки.
Видеоролики в формате QuickTime часто сжаты с использованием новых
кодеков, потому нужно устанавливать последнюю версию QuickTime Player:
сейчас это 7.1.6.
Однако, смотреть такие видеозаписи лучше с помощью проигрывателя, имеющего более удобный интерфейс: например Media Player Classic. В Сети можно найти компактные альтернативные декодеры для данных форматов, которые так и называются — Real Alternative / QuickTime Alternative.
После их установки вы сможете воспроизводить видеозаписи в этих
форматах при помощи любого DirectShow-совместимого проигрывателя.
Microsoft в последнее время продвигает формат сжатия видеозаписей
собственной разработки — Windows Media Video (WMV), для воспроизведения
таких записей нужно установить или специальный комплект декодеров, или проигрыватель Windows Media Player версии 8 (включён в стандартную установку Windows XP) или новее. Как правило, записи в формате Windows Media Video используют формат контейнера от Microsoft: Windows Media.
На основе формата WMV (Windows Media Video) был
разработан стандарт VC–1, который является одним из стандартных
форматов сжатия видео по стандарту HD–DVD (наряду с MPEG–4 AVC/H.264).
Для воспроизведения видеозаписей, сжатых с использованием
какого-либо другого формата, необходим соответствующий декодер,
например: On2 VP6/VP7, MJPEG, HuffYUV и т.п.
Декодер MPEG–1 видео входит в поставку любой версии системы Microsoft Windows.
Сегодня очень популярны комплекты декодеров (codec
packs, кодек–паки), которые некие «хакеры» собирают воедино.
По задумке, пользователь единожды устанавливает себе такой пакет, после
чего у него будут воспроизводиться видеозаписи с любым форматом сжатия
видео и звука. Практика показывает, что такие комплекты часто приводят
к сбоям в работе компьютера: «хакеры» не учитывают тонкости
взаимодействия множества кодеков при разных условиях (одна из
распространённых проблем: звук или видео воспроизводятся вдвое быстрее,
чем нужно). Из–за того, что постоянно выходят новые версии кодеров,
необходимо обновлять и версии декодеров: идея «установить кодеки раз и
навсегда» оказалась неосуществимой.
Единственное преимущество кодек–пака: возможность
установить сразу несколько декодеров одновременно. Не рекомендую
ставить все кодеки, которые включены в состав пакета: устанавливайте
только минимальный необходимый набор. Чтобы иметь возможность
воспроизводить подавляющее большинство видеозаписей, нужно установить
всего несколько декодеров: все они упомянуты в этой статье.
Использование такого пакета не гарантирует отсутствие проблем при
воспроизведении видеозаписей: некоторые кодеки конфликтуют друг с
другом на некоторых компьютерах. В случае возникновения каких–либо
проблем, лучше аккуратно разобраться в проблеме и установить, удалить
или настроить один необходимый кодек; чем бездумно ставить набор из 20
кодеков «на все случаи жизни»: это чревато возникновением целого ряда
проблем в будущем.
Самый популярный пакет декодеров — это K–Lite Codec Pack, существующий в нескольких вариантах различного размера: Basic (2,5 М, минимально необходимый набор, умещается на одной дискете), Standard (6 М, набор декодеров для воспроизведения различных форматов, содержит Media Player Classic), Full (13 М, набор кодеков для воспроизведения и кодирования, содержит K–Lite Standard) и Mega (17 М, включает в себя K–Lite Full, плюс RealAlternative, QuickTime Alternative и BS Player). Новые версии пакета выходят очень часто, вслед за обновлением какого–нибудь из кодеков, включённых в комплект. Последняя версия — 3.2.0.
Однако учтите, что этот пакет собирается по принципу «всего и
побольше»: иногда кодеки, входящие в его состав, так или иначе неверно
работают и вызывают различные проблемы. Настоятельно рекомендую ставить
не всё подряд из состава этого пакета, а лишь необходимые кодеки.
Также неплох своей минимальной достаточностью пакет CCCP — Combined Community Codec Pack. В него входят лишь самые необходимые декодеры и самые популярные проигрыватели (Media Player Classic и Zoom Player), однако их достаточно для воспроизведения подавляющего большинства видеозаписей.
|