Какой кодек. Все что нужно знать о видео кодеках и контейнерах

21.04.2019 Флешки и HDD

*** Проблемы с просмотров различных видеофайлов в большинстве случаев связаны с установленным в системе кодеками или их набором (кодек-паком, например, K-Lite Codec Pack). Я подробно расскажу, что именно необходимо для воспроизведения видео вообще, какой набор программ достаточно инсталлировать для нормального просмотра файлов и что можно сделать в случае возникновения неполадок.

Видеофайл

*** Обычный видеофайл содержит в себе: видеодорожку, одну или несколько дорожек со звуком, одну или несколько дорожек с субтитрами, служебную информацию об используемых форматах сжатия (так называемый индекс-блок с адресами расположения конкретных участков записи, применяется во время "перемотки"), набор текстовых полей. Формат, в котором хранится эта информация в файле, именуется контейнером. Наиболее популярным на данный момент является контейнеры:

AVI (Audio and Video Interleaved)

MPEG1/2 (расширения файлов - mpg/mpe/vob)

Advanced Streaming Format (asf)

OGG Media (ogg)

Real Media (rm/rv/ram)

QuickTime (mov/qt)

DivX Media (divx) представляет собой расширенный, но обратносовместимый вариант контейнера AVI.

*** Для извлечения из контейнера потоков видео, аудио и субтитров и их разделения используются специальные библиотеки Windows - сплиттеры, или демультиплексоры. По умолчанию в Windows (начиная с Win2000) имеются сплиттеры для AVI, MPEG1/2 и ASF. Все остальные необходимо устанавливать отдельно, что будет подробно описано ниже.

Кодек

*** После разделения каждый из потоков файла должен быть декодирован (разжат). Для этого существуют соответствующие библиотеки, называемые кодеками. Термин "кодек" является сокращением от "кодер-декодер" и выполняет две задачи, которые такая библиотека может: сжатие видео в свой формат и его распаковка для воспроизведения. Но кодек не обязательно выполняет обе функции, существуют и такие, которые могут выполнять одну из функций. Заметим для строгости, что сжимающая часть кодека часто именуется не кодером, а энкодером.

*** Видеокодеки бывают нескольких типов (по низкоуровневой работе с изображением) - Video for Windows (VfW), DirectShow (DSH) и DirectX Media Object (DMO). Практически во всех плеерах при воспроизведении применяется DirectShow; а кодеки VfW используются некоторыми программами для сжатия видео, в частности очень популярной VirtualDub/VirtualDubMod. Кодеки типа DMO являются скорее подвидом DirectShow и отличаются тем, что часть их функций перекладывается на приложение, воспроизводящее видео, и по этой причине подобный тип не особо популярен.

*** Аудиокодеки также делятся на несколько видов - Audio Compression Manager (ACM), использующийся в паре с VfW, и аналогичные видео DirectShow и DirectX Media Object.

*** Специальные коды, употребляемые в файле - FourCC (видео) и TwinCC (аудио) - описывают формат сжатия картинки и звука, а также определяют, что нужно для их декодирования. Однако для воспроизведения видеоряда не обязательно должен применяться тот же кодек, что и для компрессии. Пример XviD воспроизводится DivX -ом даже лучше чем родным кодеком.

Форматы сжатия видео

*** Наиболее популярным является MPEG4, представленный в виде нескольких слегка различающихся кодеков. Сам стандарт состоит из 19 частей, каждая из которых описывает определенные возможности кодека, и еще 3 находятся в процессе разработки. Все имеющиеся сейчас кодеки MPEG4, за исключением принадлежащих к стандарту H.264, представляют собой реализацию MPEG4 Part 2. Кодеки стандарта H.264 являются реализацией MPEG4 Part 10. Наиболее известными кодеками формата MPEG4 являются DivX, XviD и Windows Media Video. Кроме обычных, существуют и так называемые HD-версии, которые отличаются большим поддерживаемым разрешением - до 1920х1080 точек.

*** Второй по популярности (но первый по качеству) - это формат MPEG2. В нем кодируется видео на дисках DVD-Video и ведется б0льшая часть спутникового вещания. По сравнению с MPEG4 для кодирования информации с тем же качеством формату MPEG2 необходим больший битрейт (т.е. нужно большее количество информации на единицу времени). Преимущество же MPEG2 состоит в том, что ему доступны более высокие битрейты (вплоть до 25 Mbps), а кроме того, видео в MPEG2 отстутструют некоторые минусы MPEG4 (вроде ступенчатости на плавном цветовом переходе или квадратиков при испорченных кадрах последовательности).

*** Формат MPEG1 на данный момент практически исчез из обихода, его можно встретить разве что в старых роликах или на Video-CD. Средства его декодирования уже давно встроены в систему.

*** Как было сказано выше, информация о том, каким именно кодеком упаковано видео в файле, представляется в виде FourCC-кода, состоящего из четырех символов. Каждый кодек имеет свой уникальный FourCC-код, однако в целях совместимости иногда при кодировании указывается "чужой" FourCC-код. Допустим, если видео планируется смотреть на стационарном плеере, то при сжатии его с помощью FFDshow стоит указать FourCC не FFDS, а DivX или XviD, иначе файл почти наверняка не воспроизведется

Форматы сжатия аудио

*** Бесспорным (пока) лидером здесь является MP3 (полное название - MPEG1 Layer 3). Основной его недостаток - поддержка всего двух каналов аудио. Такого ограничения нет у созданного на его основе формата AAC, а также у технологий AC3 (Dolby Digital) и DTS. Формат Windows Media Audio, затевавшийся как конкурент MP3 и дающий возможность добиться лучшего качества на низких битрейтах, к настоящему времени обзавелся поддержкой многоканального звука и выступает уже как конкурент AAC. Достаточно популярен и OGG Vobris, который позволяет получить качество, сравнимое с MP3, на более низких битрейтах, или более высокое - на равных. Информация о формате аудио хранится в TwinCC-коде, представляющем собой комбинацию из четырех цифр, к примеру 0055 для MP3.

От теории к практике

*** Начнем со сплиттеров: по умолчанию (здесь и далее речь идет о Windows XP) в системе установлены сплиттеры для avi, mpg, mpe, vob и asf. Сплиттеры для Real Media, QuickTime и DivX идут в комплекте с соответствующими проигрывателями от компаний-разработчиков. Для ogg, mkv/mka/mks и mp4 существует несколько различных сплиттеров, но наилучшим выбором является Haali Media Splitter, поддерживающий все эти контейнеры. В случае если по каким-то причинам он не подходит, необходимо устанавливать отдельные сплиттеры для каждого из контейнеров. Взять их можно, к примеру, с сайта.

*** С кодеками дела обстоят намного хуже. Из видеокодеков по умолчанию имеются декодер MPEG1, декодер и энкодер Windows Media Video, достаточно старая версия MPEG4 от Microsoft и еще несколько штук для устаревших и практически не используемых форматов. С аудио ситуация получше - наличествуют декодеры и энкодеры MP3 (с ограничением у энкодера до 56 Kbps), Windows Media Audio и пара почти списанных в утиль кодеков. Обычно проблема ограниченного количества кодеков решается с помощью кодек-пака, но мы предлагаем сделать по-другому - установить FFDshow. После его инсталляции будем иметь поддержку практически всех необходимых форматов, включая новейший H.264. Однако по умолчанию она распространяется только на DirectShow-приложения. Кодек формата VfW в систему устанавливается, но изначально он декодирует только собственные форматы FFDS/FVFW. Для использования же других в VfW-приложениях необходимо запустить "VFW codec configuration" и на вкладке "Decoder" в разделе "Кодеки" самостоятельно выбрать нужные форматы.

*** Кроме FFDshow, для видео иногда требуются декодеры RealMedia и QuickTime. Можно, конечно, установить родные программы от Real Networks и Apple, но они громоздки и весьма неудобны. Мы рекомендуем обратить внимание на альтернативные пакеты - Real Alternative и QuickTime Alternative, которые представляют собой извлеченные из оригинальных программ необходимые сплиттеры и кодеки, причем использовать их способен любой проигрыватель формата DirectShow. В комплекте с кодеками идет также Media Player Classic, наиболее удобный для просмотра видео в этих форматах (у ряда других плееров есть проблемы с воспроизведением звука).

*** Аудиодекодер FFDshow поддерживает все более-менее распространенные форматы аудио, и для просмотра фильмов ничего, кроме него, устанавливать уже не надо. Однако если вам понадобится сжимать звук в формат MP3, то необходимо (и даже рекомендуется) будет заменить стандартный энкодер MP3 от Microsoft на Lame MP3 Encoder, скачать который также можно с сайта.

Решение проблем

*** Если есть еще несколько фильмов, которые посмотреть не удается, то читайте далее. Если файл отказывается воспроизводиться, необходимо выяснить, какого именно системного компонента не хватает для нормальной работы. В первую очередь - определить тип контейнера у данного файла и убедиться, установлен ли в системе соответствующий сплиттер. Если да, то, скорее всего, загвоздка в отсутствии кодека. Узнать его FourCC-код поможет программа GSpot, ее, возможно, придется скачать дополнительно. Открываем в ней проблемный файл, и в правой верхней части окна видим FourCC-код, название кодека и его наличие/отсутствие в системе. К сожалению, GSpot работает только с контейнерами AVI и MPEG1/2, потому в случае новых ogg, mkv или mp4 придется действовать иначе: открываем файл в VirtualDubMod и в меню "File" выбираем пункт "File Information" - в строке "FourCC Codec" находится необходимая нам информация. Теперь стоит заглянуть в настройки FFDshow (ярлык "Video decoder configuration"), поскольку по умолчанию включена поддержка только самых основных форматов (из полусотни "знакомых" программе). Если нужного там не окажется, то узнать, какому кодеку соответствует полученный FourCC-код, можно в уже упомянутой программе GSpot, выбрав в меню "Tables" пункт "Video Codecs". Если и это не поможет, то просматриваем большой список FourCC-кодов, расположенный по адресу, там же есть и ссылки на страницы закачки описанных кодеков.

Кодек-паки

*** Перейдем к следующей проблеме, которая встречается намного чаще. Файл открывается, начинается воспроизведение, однако изображение отсутствует или выводится неправильно. Причиной этого обычно является использование неподходящего декодера или, что бывает намного реже, ошибка в декодере. И тут надо объяснить, почему не стоит применять кодек-паки - чаще всего виновниками подобных недоразумений оказываются именно они и дело тут и в изготовителе, и в конкретной компиляции. В качестве примера возьмем достаточно популярный K-Lite Codec Pack. Его полная версия (более 20Мб) представляет собой свалку всего, что попало под руку составителю и устанавливать его не рекомендуется в обычных случаях-разве если только если "ничего не помогло". Отметим самые яркие проявления подобного подхода: в K-Lite Codec Pack Full имеются три кодека для MPEG2 (не считая FFDshow), столько же сплиттеров для MPEG2, по три кодека для MP3, AAC и AC3, из кодеков MPEG4, кроме последних версий DivX, XviD и FFDshow, есть редко встречающийся 3ivX Pro и старые версии MS MPEG4 и DivX 3.11. После установки подобной "солянки" (а если вы еще и поторопились или просто не знаете назначения кодека) вероятность того, что для декодирования будет использован не самый подходящий кодек, многократно возрастает.

*** Бывают и достаточно сбалансированные кодек-паки, но им присущ еще один недостаток: как только обновляется один из компонентов кодек-пака, приходится закачивать заново весь сборник. Так что можно предложить как вариант - обновление нужных кодеков вручную.

Непрошенные кодеки

*** Читатель, последовавший моим советам, может задать вопрос: "А откуда возьмется неправильный декодер, если я его не инсталлировал?" Это происходит из-за того, что некоторые приложения считают своим долгом установить различные кодеки и сплиттеры, даже не спрашивая разрешения у пользователя. В первую очередь этим грешат программы для обработки видео в MPEG2/4, ПО для тюнеров, DVD-плееры и даже Nero Burning ROM - последний при установке добавляет в систему больше десятка своих кодеков и сплиттеров для форматов MPEG2/4 и QuickTime; при инсталляции InterVideo WinDVD 7 без спроса устанавливаются кодеки DivX 6. Имеют такое свойство и игры: к примеру, демо-версия Mayabin3 без спроса внедряет в систему кодек XviD и предлагает добавить еще ogg splitter неизвестно какой давности. К тому же штатной возможности удалить такой кодек игра не предоставляет, так что после ее деинсталляции чистить систему приходится вручную. Стоит отметить, что проблемы с воспроизведением видео возникают не из-за простой установки дополнительных продуктов, а из-за того, что подобные программы назначают своим кодекам большие приоритеты, то есть подменяют ими уже имеющиеся в системе. Бороться с "нелегалами" достаточно легко. Например, файлы кодеков можно просто удалить. Однако, некоторые из них бывают нужны для нормального функционирования инсталлировавших их программ, и потому лучше оставить новые кодеки в системе, но не давать их использовать никаким приложениям, кроме "родного". Сделать это можно с помощью уже упоминавшейся программы GSpot: открываем в ней файл, при воспроизведении которого задействуется неправильный кодек, и в разделе "Proposed Codec Solutions and Test" нажимаем кнопку 1 под надписью A/V. В текстовом поле справа появится информация о кодеках (точнее о цепочке кодеков и фильтров), которые будут использоваться для проигрывания данного файла. Узнав название "лишнего" кодека, идем в меню Options и выбираем пункт "Settings". Активируем "Expert Mode: Enable codec management functions on menus", что позволит управлять приоритетом кодеков прямо из программы. Закрываем окно настроек, выбираем в меню "System" команду "List Codecs and Other Filters". В появившемся списке находим необходимый кодек, щелкаем на нем правой кнопкой и останавливаемся на опции "Set Filter Merit..." контекстного меню. В появившемся окне перемещаем ползунок вниз до значения "0200000" (don"t use) (можно и ниже, но нежелательно). После данной операции этот кодек будет использоваться, только если программа явно к нему обратится.

*** Последняя группа недоразумений при воспроизведении видео связана с возможной несовместимостью декодеров/сплиттеров с видеоплеерами, ошибками самих декодеров и случаями повреждения видеофайлов. Первую ситуацию диагностировать просто: достаточно открыть файл в другом проигрывателе (или даже в GSpot), и если проблема исчезла, то ее источник - именно несовместимость плеера и кодека. Когда воспроизведение файла затруднено и в другом проигрывателе, скорее всего виновником этого является ошибка в кодеке, и стоит либо обновить его, либо, наоборот, вернуться к более старой версии, на которой подобных ошибок не наблюдалось. Если же файл поврежден, его можно попытаться исправить с помощью VirtualDubMod без дополнительных утилит по исправлению видеофайлов.

*** Данный способ годится только для файлов в контейнерах avi, mkv или ogg. В меню "File" выбираем команду "Open", ставим (!) внизу окна галочку возле пункта "Ask for extended options after this dialog", находим нужный файл и нажимаем "Открыть". В появившемся окне отмечаем птичкой пункт "Re-derive keyframe flags" и жмем OK. По завершении длительной операции перезаписи ключевых флагов, выбираем в меню "Video" в пункте "Scan video streams for errors" подпункт "Scan". После окончания этой процедуры идем в меню "File", "Save As", указываем новое имя для исправленного файла и внизу окна в пункте "Video Mode" выбираем "Direct Stream Copy". В результате получаем рабочий файл с частями видео, которые не были повреждены и были восстановлены

Кодек (англ.codec - сокр. от coder/decoder (кодировщик/декодировщик) или compressor/decompressor) — файл-формула, которая определяет, каким образом можно «упаковать» видео\аудиоконтент и, соответственно, проиграть видео\аудио. Также возможно добавление к файлу субтитров, векторных эффектов и т. п.

2. Зачем нужны кодеки?

Кодеки необходимы для уменьшения размера видео-аудио информации. Один несжатый кадр стандартного ТВ разрешения весит 1,18Мб. В России стандарт — 25 кадров в секунду. Итого, минута видео обойдется Вам в 1 770 Мб. Неплохо, да? Сжатое же аналогичное видео будет весить, в среднем, не больше 50 Мб, почти без потерь качества. Никакой магии =) Все дело в том, что в несжатом видео файле, по сути, хранится набор bmp картинок. То есть структура файла примерно такая: выставляется информация о количестве пикселей по ширине, а дальше начинается перечисление цветовой составляющей каждого пикселя.

3. Есть ли какой-то один универсальный кодек?

Пожалуй -нет. Однако стоит брать во внимание, что, по сути, алгоритмов сжатия не так ужмного.

Алгоритм MPEG

MPEG производит межкадровое сжатие, за счетпредсказания (вычисления) движения внутри кадра, и других внутрикадровых изменений.

Всеформаты сжатия семейства MPEG (MPEG 1, MPEG 2, MPEG 4, MPEG 7) используют высокую избыточность информации в изображениях, разделенных малым интервалом времени. Между двумя соседними кадрами обычно изменяется только малая частьсцены – например, происходит плавное смещение небольшого объекта на фоне фиксированного заднего плана. В этом случае полная информация о сцене сохраняется выборочно – только для опорных изображений. Для остальных кадров достаточно передавать разностную информацию: о положении объекта, направлении и величине его смещения, о новых элементах фона, открывающихся за объектом помере его движения. Причем эти разности можно формировать не только по сравнениюс предыдущими изображениями, но и с последующими (поскольку именно в них по мере движения объекта открывается ранее скрытая часть фона).

Форматы сжатия семейства MPEG сокращают объем информации следующим образом:

  • Устраняется временная избыточность видео (учитывается только разностная информация).
  • Устраняется пространственная избыточность изображений путем подавления мелких деталей сцены.
  • Устраняется часть информации о цветности.
  • Повышается информационная плотность результирующего цифрового потока путем выбора оптимального математического кода для его описания.

Форматы сжатия MPEG сжимают только опорные кадры – I-кадры (Intra frame – внутренний кадр). В промежутки между ними включаются кадры, содержащие только изменения между двумя соседними I-кадрами – P-кадры (Predicted frame – прогнозируемый кадр). Для того чтобы сократить потери информации между I-кадром и P-кадром, вводятся так называемые B-кадры (Bidirectional frame – двунаправленный кадр). Вних содержится информация, которая берется из предшествующего и последующего кaдров. При кодировании в форматах сжатия MPEG формируется цепочка кадров разных типов. Типичная последовательность кадров выглядит следующим образом: IBBPBBIBBPBBIBB… Соответственно, последовательность кадров в соответствии с их номерами будет воспроизводиться в следующем порядке: 1423765…

Форматы сжатия видео изображения MPEG 1 и MPEG 2

В качестве начального шага обработки изображения форматы сжатия MPEG 1 и MPEG 2 разбивают опорные кадры на несколько равных блоков, над которыми затем производится дискетное косинусное преобразование (DCT). По сравнению с MPEG 1, формат сжатия MPEG 2 обеспечивает лучшее разрешение изображения при более высокой скорости передачи видео данных за счет использования новых алгоритмов сжатия и удаления избыточной информации, а также кодирования выходного потока данных. Также формат сжатия MPEG 2 дает возможность выбора уровня сжатия за счет точности квантования. Для видео с разрешением 352х288 пикселей формат сжатия MPEG 1 обеспечивает скорость передачи 1,2 – 3 Мбит/с, а MPEG 2 – до 4 Мбит/с.

По сравнению с MPEG 1, формат сжатия MPEG 2 обладает следующими преимуществами:

  • Как и JPEG2000, формат сжатия MPEG 2 обеспечивает масштабируемость различных уровней качества изображения в одном видеопотоке.
  • В формате сжатия MPEG 2 точность векторов движения увеличена до 1/2 пикселя.
  • Пользователь может выбрать произвольную точность дискретного косинусного преобразования.
  • В формат сжатия MPEG 2 включены дополнительные режимы прогнозирования.

Формат сжатия MPEG 2 использовал снятый сейчас с производства видеосервер AXIS 250S компании AXIS Communications, 16-канальный видеонакопитель VR-716 компании JVC Professional, видеорегистраторы компании FAST Video Security и многие другие устройства системы видеонаблюдения.

Формат сжатия MPEG 4

MPEG4 использует технологию так называемого фрактального сжатия изображений. Фрактальное (контурно-основанное) сжатие подразумевает выделение из изображения контуров и текстур объектов. Контуры представляются в виде т.н. сплайнов (полиномиальных функций) и кодируются опорными точками. Текстуры могут быть представлены в качестве коэффициентов пространственного частотного преобразования (например, дискретного косинусного или вейвлет-преобразования).

Диапазон скоростей передачи данных, который поддерживает формат сжатия видео изображений MPEG 4, гораздо шире, чем в MPEG 1 и MPEG 2. Дальнейшие разработки специалистов направлены на полную замену методов обработки, используемых форматом MPEG 2.Формат сжатия видео изображений MPEG 4 поддерживает широкий набор стандартов и значений скорости передачи данных. MPEG 4 включает в себя методы прогрессивного и чересстрочного сканирования и поддерживает произвольные значения пространственного разрешения и скорости передачи данных в диапазоне от 5 кбит/с до 10 Мбит/с. В MPEG 4 усовершенствован алгоритм сжатия, качество и эффективность которого повышены при всех поддерживаемых значениях скорости передачи данных.

MPEG 7 и MPEG 21 – форматы будущего

В октябре 1996 года группа MPEG приступила к разработке формата сжатия MPEG 7, призванного определить универсальные механизмы описания аудио и видео информации. Этот формат получил название Multimedia Content Description Interface. В отличие от предыдущих форматов сжатия семейства MPEG, MPEG 7 описывает информацию, представленную в любой форме (в том числе в аналоговой) и не зависит от среды передачи данных. Как и его предшественники, формат сжатия MPEG 7 генерирует масштабируемую информацию в рамках одного описания.

Формат сжатия MPEG 7 использует многоуровневую структуру описания аудио и видеоинформации. На высшем уровне прописываются свойства файла, такие как название, имя создателя, дата создания и т.д. На следующем уровне описания формат сжатия MPEG 7 указывает особенности сжимаемой аудио или видео информации – цвет, текстура, тон или скорость. Одной из отличительных особенностей MPEG 7 является его способность к определению типа сжимаемой информации. Если это аудио или видео файл, то он сначала сжимается с помощью алгоритмов MPEG 1, MPEG 2, MPEG4, а затем описывается при помощи MPEG 7. Такая гибкость в выборе методов сжатия значительно снижает объем информации и ускоряет процесс сжатия. Основное преимущество формата сжатия MPEG 7 над его предшественниками состоит в применении уникальных дескрипторов и схем описания, которые, помимо всего прочего, делают возможным автоматическое выделение информации как по общим, так и по семантическим признакам, связанным с восприятием информации человеком. Процедура занесения в каталог и поиска данных находятся вне сферы рассмотрения этого формата сжатия.

Разработка формата сжатия MPEG 21 — это долговременный проект, который называется «Система мультимедийных средств» (Multimedia Framework). Над разработкой этого формата сжатия эксперты начали работать в июне 2000 г. На первых этапах планировалось провести расширение, унификацию и объединение форматов MPEG 4 и MPEG 7 в единую обобщающую структуру. Подразумевалось, что она будет обеспечивать глубокую поддержку управления правами и платежными системами, а также качеством предоставляемых услуг.

Формат MJPEG

Формат MJPEG производит внутрикадровое сжатие. То есть сжимаеткаждый кадр, по алгоритму JPEG.

4. Какие форматы или кодеки самые популярные и необходимые?

5. Avi разве не кодек?

AVI это контейнер, так же как и VOB, WMV и другие. Под расширением avi может скрываться любой кодек. В принципе можно взять видео файл и переименовать его, допустим, в myvideo.nix. Указав ОС программу, которой стоит открывать данный тип файлов, мы получим видео файл в контейнере nix.

6. Как узнать, какой кодек мне нужен для работы (воспроизведения / кодирования) с файлом?

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

7. Какие кодеки мне следует загрузить и установить?

Стандартно в операционных системах встроены несколько базовых кодеков. Другие устанавливаются автоматически вместе с проигрывателями, которые вы устанавливаете. Например, плеер VLC Media читает практически все и является кроссплатформенным.

8. Зачем качать эти плееры, если можно просто скачать набор кодеков, типа K-Lite?

K-Lite вполне можно использовать, но не для профессиональной работы. K-Lite часто вызывает некорректную работу и зависание программ, работающих с видео, т.к. Windows не всегда может распознать кодек по сигнатурам файла и выхватывает кодек «наугад», что приводит к зависанию программ. Ставить или не ставить – личное решение каждого, но необходимо знать, чем это может обернуться.

В рубрику F1 периодически приходят письма о проблемах с различными видеофайлами. В большинстве случаев они связаны с установленным в системе кодек-паком, например K-Lite Codec Pack, поэтому мы решили подробно рассказать, что именно необходимо для воспроизведения видео вообще, какой набор программ достаточно инсталлировать для нормального просмотра файлов и что можно сделать в случае возникновения неполадок.

Теория

Обычный видеофайл содержит в себе видеодорожку, одну или несколько дорожек со звуком, одну или несколько дорожек с субтитрами, служебную информацию об используемых форматах сжатия, так называемый индекс (блок с адресами расположения конкретных участков записи, применяется во время «перемотки»), набор текстовых полей. Формат, в котором хранится эта информация в файле, именуется контейнером . Наиболее популярным на данный момент является контейнер AVI (Audio and Video Interleaved), достаточно распространены MPEG1/2 (расширения файлов – mpg/mpe/vob), Advanced Streaming Format (asf), OGG Media (ogg), Matroska (mkv), Real Media (rm/rv/ram), QuickTime (mov/qt), начал завоевывать аудиторию контейнер MPEG4 (mp4). Кроме того, существует еще DivX Media (divx), появившийся вместе с шестой версией одноименного кодека и представляющий собой расширенный, но обратносовместимый вариант контейнера AVI. Сейчас DivX Media жалуют немногие, и, скорее всего, он не приживется.

Для извлечения из контейнера потоков видео, аудио и субтитров и их разделения используются специальные библиотеки Windows – сплиттеры, или демультиплексоры . По умолчанию в Windows (начиная с Win2000) имеются сплиттеры для AVI, MPEG1/2 и ASF. Все остальные необходимо устанавливать отдельно, что будет подробно описано ниже.

После разделения каждый из потоков файла должен быть декодирован (разжат). Для этого существуют соответствующие библиотеки, называемые кодеками . Термин «кодек» является сокращением от «кодер-декодер» и отражает две задачи, которые такая библиотека может решать – сжатие видео в свой формат и его распаковка для воспроизведения. К слову, кодек не обязательно выполняет обе функции, существуют и такие, которые могут только первое или только второе. Скажем еще, что сжимающая часть кодека часто именуется не кодером, а энкодером .

Видеокодеки бывают нескольких типов – Video for Windows (VfW), DirectShow (DSH) и DirectX Media Object (DMO). Практически во всех плеерах при воспроизведении применяется DirectShow; а кодеки VfW используются некоторыми программами для сжатия видео, в частности очень популярной VirtualDub/VirtualDubMod. Кодеки типа DMO являются скорее подвидом DirectShow и отличаются тем, что часть их функций перекладывается на приложение, воспроизводящее видео, и по этой причине подобный тип не особо популярен. Аудиокодеки также делятся на несколько видов – Audio Compression Manager (ACM), использующийся в паре с VfW, и аналогичные видео DirectShow и DirectX Media Object. Специальные коды – FourCC (видео) и TwinCC (аудио) – описывают формат сжатия картинки и звука, а также определяют, что нужно для их декодирования. Однако для воспроизведения видеоряда не обязательно должен применяться тот же кодек, что и для компрессии.

Вернемся к форматам сжатия видео. Наиболее популярным является MPEG4, представленный в виде нескольких слегка различающихся кодеков. Сам стандарт состоит из 19 частей, каждая из которых описывает определенные возможности кодека, и еще 3 находятся в процессе разработки. Все имеющиеся сейчас кодеки MPEG4, за исключением принадлежащих к стандарту H.264, представляют собой реализацию MPEG4 Part 2. Кодеки стандарта H.264 являются реализацией MPEG4 Part 10. Наиболее известными кодеками формата MPEG4 являются DivX, XviD и Windows Media Video. Кроме обычных, существуют и так называемые HD-версии, которые отличаются большим поддерживаемым разрешением – до 1920×1080 точек.

Второй по популярности (но первым по качеству) – это формат MPEG2. В нем кодируется видео на дисках DVD-Video и ведется бóльшая часть спутникового вещания. По сравнению с MPEG4 для кодирования информации с тем же качеством формату MPEG2 необходим больший битрейт. Преимущество же MPEG2 состоит в том, что ему доступны более высокие битрейты (вплоть до 25 Mbps), а кроме того, видео в MPEG2 не страдает некоторыми «болезнями» MPEG4 (вроде ступенчатости на плавном цветовом переходе).

Формат MPEG1 на данный момент практически исчез из обихода, его можно встретить разве что в старых роликах или на Video-CD. Средства его декодирования уже давно встроены в систему.

Как было сказано выше, информация о том, каким именно кодеком упаковано видео в файле, представляется в виде FourCC-кода, состоящего из четырех символов. Каждый кодек имеет свой уникальный FourCC-код, однако в целях совместимости иногда при кодировании указывается «чужой» FourCC-код. Допустим, если видео планируется смотреть на стационарном плеере, то при сжатии его с помощью FFDshow стоит указать FourCC не FFDS, а DivX или XviD, иначе файл почти наверняка не воспроизведется.

Теперь перейдем к форматам сжатия аудио. Бесспорным (пока) лидером здесь является MP3 (полное название – MPEG1 Layer 3). Основной его недостаток – поддержка всего двух каналов аудио. Такого ограничения нет у созданного на его основе формата AAC, а также у технологий AC3 (Dolby Digital) и DTS. Формат Windows Media Audio, затевавшийся как конкурент MP3 и дающий возможность добиться лучшего качества на низких битрейтах, к настоящему времени обзавелся поддержкой многоканального звука и выступает уже как конкурент AAC. Достаточно популярен и OGG Vobris, который позволяет получить качество, сравнимое с MP3, на более низких битрейтах, или более высокое – на равных. Информация о формате аудио хранится в TwinCC-коде, представляющем собой комбинацию из четырех цифр, к примеру 0055 для MP3.

Практика

От теории перейдем к практике. Начнем со сплиттеров: по умолчанию (здесь и далее речь идет о Windows XP) в системе установлены сплиттеры для avi, mpg, mpe, vob и asf. Сплиттеры для Real Media, QuickTime и DivX идут в комплекте с соответствующими проигрывателями от компаний-разработчиков. Для ogg, mkv/mka/mks и mp4 существует несколько различных сплиттеров, но наилучшим выбором является Haali Media Splitter , поддерживающий все эти контейнеры. В случае если по каким-то причинам он не подходит, необходимо устанавливать отдельные сплиттеры для каждого из контейнеров. Взять их можно, к примеру, с сайта .

С кодеками дела обстоят намного хуже. Из видеокодеков по умолчанию имеются декодер MPEG1, декодер и энкодер Windows Media Video, достаточно старая версия MPEG4 от Microsoft и еще несколько штук для устаревших и практически не используемых форматов. С аудио ситуация получше – наличествуют декодеры и энкодеры MP3 (с ограничением у энкодера до 56 Kbps), Windows Media Audio и пара почти списанных в утиль кодеков. Обычно проблема ограниченного количества кодеков решается с помощью кодек-пака, но мы предлагаем сделать по-другому – установить FFDshow. После его инсталляции будем иметь поддержку практически всех необходимых форматов, включая новейший H.264. Однако по умолчанию она распространяется только на DirectShow-приложения. Кодек формата VfW в систему устанавливается, но изначально он декодирует только собственные форматы FFDS/FVFW. Для использования же других в VfW-приложениях необходимо запустить VFW codec configuration и на вкладке Decoder в разделе Кодеки самостоятельно выбрать нужные форматы.

Кроме FFDshow, для видео иногда требуются декодеры RealMedia и QuickTime. Можно, конечно, установить родные программы от Real Networks и Apple, но они громоздки и весьма неудобны. Мы рекомендуем обратить внимание на альтернативные пакеты – Real Alternative и QuickTime Alternative, которые представляют собой извлеченные из оригинальных программ необходимые сплиттеры и кодеки, причем использовать их способен любой проигрыватель формата DirectShow. В комплекте с кодеками идет также Media Player Classic, наиболее удобный для просмотра видео в этих форматах (у ряда других плееров есть проблемы с воспроизведением звука).

От видео ненадолго перейдем к аудио. Аудиодекодер FFDshow поддерживает все более-менее распространенные форматы аудио, и для просмотра фильмов ничего, кроме него, устанавливать уже не надо. Однако если вам понадобится сжимать звук в формат MP3, то необходимо будет заменить стандартный энкодер MP3 от Microsoft на Lame MP3 Encoder, скачать который также можно с сайта .

Решение проблем

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

Если файл отказывается воспроизводиться, необходимо выяснить, какого именно системного компонента не хватает для нормальной работы. В первую очередь – определить тип контейнера у данного файла и убедиться, установлен ли в системе соответствующий сплиттер. Если да, то, скорее всего, загвоздка в отсутствии кодека. Узнать его FourCC-код поможет программа GSpot, скачать которую можно по адресу . Открываем в ней проблемный файл, и в правой верхней части окна видим FourCC-код, название кодека и его наличие/отсутствие в системе. К сожалению, GSpot работает только с контейнерами AVI и MPEG1/2, потому в случае новых ogg, mkv или mp4 придется действовать иначе. Открываем файл в VirtualDubMod, в меню File выбираем пункт File Information – в строке FourCC Code находится необходимая нам информация. Теперь стоит заглянуть в настройки FFDshow (ярлык Video decoder configuration ), поскольку по умолчанию включена поддержка только самых основных форматов (из полусотни «знакомых» программе). Если нужного там не окажется, то узнать, какому кодеку соответствует полученный FourCC-код, можно в уже упомянутой программе GSpot, выбрав в меню Tables пункт Video Codecs . Если и это не поможет, то просматриваем большой список FourCC-кодов, расположенный по адресу , там же есть и ссылки на страницы закачки описанных кодеков.

Перейдем к следующей проблеме, которая встречается намного чаще. Файл открывается, начинается воспроизведение, однако изображение отсутствует или выводится неправильно. Причиной этого обычно является использование неподходящего декодера или, что бывает намного реже, ошибка в декодере. И тут надо объяснить, почему не стоит применять кодек-паки – чаще всего виновниками подобных недоразумений оказываются именно они. В качестве примера возьмем достаточно популярный K-Lite Codec Pack. Его полная версия представляет собой свалку всего, что попало под руку составителю. Отметим самые яркие проявления подобного подхода: в K-Lite Codec Pack Full имеются три кодека для MPEG2 (не считая FFDshow), столько же сплиттеров для MPEG2, по три кодека для MP3, AAC и AC3, из кодеков MPEG4, кроме последних версий DivX, XviD и FFDshow, есть редко встречающийся 3ivX Pro и старые версии MS MPEG4 и DivX 3.11. После установки подобной «солянки» вероятность того, что для декодирования будет использован не самый подходящий кодек, многократно возрастает. Да, бывают и достаточно сбалансированные кодек-паки, но им присущ еще один недостаток: как только обновляется один из компонентов кодек-пака, приходится закачивать заново весь сборник.

Вернемся к проблеме неправильного декодера. Читатель, последовавший советам практической части нашей статьи, может задать вопрос – а откуда возьмется неправильный декодер, если я его не инсталлировал? Это происходит из-за того, что некоторые приложения считают своим долгом установить различные кодеки и сплиттеры, даже не спрашивая разрешения у пользователя. В первую очередь этим грешат программы для обработки видео в MPEG2/4, ПО для тюнеров, DVD-плееры и даже Nero Burning ROM – последний при установке добавляет в систему больше десятка своих кодеков и сплиттеров для форматов MPEG2/4 и QuickTime; при инсталляции InterVideo WinDVD 7 без спроса устанавливаются кодеки DivX 6. Имеют такое свойство и игры: к примеру, демо-версия Mayabin3 без спроса внедряет в систему кодек XviD и предлагает добавить еще ogg splitter неизвестно какой давности. К тому же штатной возможности удалить такой кодек игра не предоставляет, так что после ее деинсталляции чистить систему приходится вручную. Стоит отметить, что проблемы с воспроизведением видео возникают не из-за простой установки дополнительных продуктов, а из-за того, что подобные программы назначают своим кодекам бóльшие приоритеты, то есть подменяют ими уже имеющиеся в системе.

Бороться с «нелегалами» достаточно легко. Например, файлы кодеков можно просто удалить. Однако некоторые из них бывают нужны для нормального функционирования инсталлировавших их программ, и потому лучше оставить новые кодеки в системе, но не давать их использовать никаким приложениям, кроме «родного». Сделать это можно с помощью уже упоминавшейся программы GSpot. Открываем в ней файл, при воспроизведении которого задействуется неправильный кодек, и в разделе Proposed Codec Solutions and Test нажимаем кнопку 1 под надписью A/V. В текстовом поле справа появится информация о кодеках, которые будут использоваться для проигрывания данного файла. Узнав название «лишнего» кодека, идем в меню Options и выбираем пункт Settings . Активируем Expert Mode: Enable codec management functions on menus , что позволит управлять приоритетом кодеков прямо из программы. Закрываем окно настроек, выбираем в меню System команду List Codecs and Other Filters . В появившемся списке находим необходимый кодек, щелкаем на нем правой кнопкой и останавливаемся на опции Set Filter Merit… контекстного меню. В появившемся окне перемещаем ползунок вниз до значения 0×200000 (можно и ниже, но нежелательно). После данной операции этот кодек будет использоваться, только если программа явно к нему обратится.

Последняя группа недоразумений при воспроизведении видео связана с возможной несовместимостью декодеров/сплиттеров с видеоплеерами, ошибками самих декодеров и случаями повреждения видеофайлов. Первую ситуацию диагностировать просто: достаточно открыть файл в другом проигрывателе (или даже в GSpot), и если проблема исчезла, то ее источник – именно несовместимость плеера и кодека. Когда воспроизведение файла затруднено и в другом проигрывателе, скорее всего виновником этого является ошибка в кодеке, и стоит либо обновить его, либо, наоборот, вернуться к более старой версии, на которой подобных ошибок не наблюдалось. Если же файл поврежден, его можно попытаться исправить с помощью VirtualDubMod. Данный способ годится только для файлов в контейнерах avi, mkv или ogg. В меню File выбираем команду Open , ставим внизу окна галочку возле пункта Ask for extended options after this dialog , находим нужный файл и нажимаем Открыть . В появившемся окне отмечаем птичкой пункт Re-derive keyframe flags и жмем OK. По завершении операции выбираем в меню Video в пункте Scan video streams for errors подпункт Scan . После окончания этой процедуры идем в меню File Save As , указываем новое имя для исправленного файла и внизу окна в пункте Video Mode выбираем Direct Stream Copy . В результате получаем рабочий файл с частями видео, которые не были повреждены.

Вам не кажется, что мы уже просто обязаны поговорить о том, в каких именно форматах хранится цифровое видео? Какие существуют алгоритмы сжатия и почему именно их выбор для нас столь важен?

Начнем с азов: при работе с компьютерным видео нам нужно будет усвоить (и различать) сразу три различных понятия:

Стандарт сжатия (компрессии);

Контейнер

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

Объяснить разницу между этими понятиями можно на примере обычной консервной банки. То, что в банке лежит - мясо, рыба или кабачковая икра - это и будет стандарт. В таком случае кодек - это материал, из которого изготовлена наша банка (она может быть металлической или стеклянной), контейнер - это этикетка и раскраска. Ну а объем банки - это уже битрейт.

Грубо, но, надеюсь, понятно.

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

Стандарт сжатия

Чтобы сделать консервы, мясо нужно превратить в тушенку - иначе не хранить, ни есть его будет невозможно. Примерно такому же надругательству подвергается и видео: даже в эпоху многотерабайтных винчестеров видео приходится сжимать, выдавливая из каждого кадра максимальное количество «воды», неудивительно. Попробуем подсчитать, сколько заняла бы на нашем жестком диске минута чистого, несжатого видео в DVD-качества, с разрешением 720×576 точек.:

720×576 точек х 30 кадров в секунду х 16 бит цвета для каждой точки х 60 секунд…

Получается ни много ни мало - около полутора гигабайт! И это, заметьте, без учета звука… И чтобы запихнуть этого «слона» в более-менее компактный «рюкзак», приходится использовать разнообразные методы компрессии. Начнем с самых простых, хорошо знакомых обладателям домашних видеокамер старого образца.

MJPEG - один из самых древних и простых алгоритмов компрессии: каждый кадр сжимается примерно в 5 раз. Этот алгоритм напоминает действие обычных архиваторов - или уже знакомого нам алгоритма сжатия изображений JPEG. При использовании программного кодека MJPEG степень сжатия можно установить вручную, получая на выходе поток от 6 до 60 Гб в час, В аппаратных кодеках степень сжатия обычно зафиксирована на уровне 1:5, что дает нам около 12 Гб в час. Тоже немало - зато редактировать такой фильм очень легко, а аппаратные кодировщики M-JPEG встроены даже в простенькие платы захвата.

Более продвинутой реализацией того же алгоритма является формат кодирования DV: он обеспечивает ту же степень сжатия (5:1) и ту же величину потока (12,5 Гб/час), зато качество картинки при этом гораздо выше. Для сжатия фильма в формат DV требуется относительно небольшая процессорная мощность, так что выполнить такую компрессию можно и на относительно слабом компьютере. К тому же видео с цифровых камер мы получаем уже в DV-формате, готовеньким.

Конечно, у этих алгоритмов есть масса преимуществ. И прежде всего - легкость обработки: ведь в DV-видео мы можем получить доступ к каждому отдельному кадру! Но хранить такие фильмы все-таки неудобно: сменные носители информации емкостью в десятки гигабайт появились совсем недавно. Поэтому еще пятнадцать лет назад специатисты задуматись о создании новых алгоритмов сжатия, которые позволили бы сократить «вес» цифрового фильма еще в несколько раз («несколько» в итоге обернулось более чем 150-кратным сжатием!). Для этого пришлось искать совершенно новый принцип работы - ведь выжать лишнюю «воду» из каждого отдельного кадра было уже невозможно!

Выход был найден - и довольно неожиданный. Вспомним: хотя за секунду перед нашими глазами пробегает целых 30 кадров, большая их часть хранит одну и ту же информацию! Большая часть фона остается практически неизменной, да и сами кадры порой просто дублируются. А значит, нам отнюдь не обязательно перегонять в цифру точную копию каждого кадра - вполне достаточно фиксировать несколько ключевых, а потом сохранять сведения об их изменении! При этом оставшиеся кадры разбиваются на квадратики, и об изменении каждого из них сохраняется информация. Не меняется квадратик на протяжении секунды - отлично, вот уже и экономия!

Так было создано семейство алгоритмов MPEG, с двумя представителями которого мы с вами обязательно познакомимся поподробнее:

О MPEG-2 (1995). Используется в современных DVD, а также для передачи спутникового и кабельного телевидения. Качество картинки и степень сжатия значительно выше, чем у его предшественника: размер кадра у этого стандарта составляет 720×576 точек при 25 кадрах в секунду - при этом предусматривается возможность сохранения пятиканальной звуковой дорожки (Dolby Digital 5.1, DTS). Емкость DVD составляет до 9 Гб, а запихнуть в этот объем можно до трех часов видео с полным качеством (я не беру в расчет пиратские DVD - там и по 20 фильмов на одном диске - не редкость).

О MPEG-4 (1999). Поскольку термин «MPEG-З» прочно приклеился к формату «сжатого звука (на деле его точное имя - MPEG-1 layer III), новое семейство форматов сжатия видео наградили не вполне заслуженной «четверкой». Раз- рабатыватся этот формат для довольно специфических целей - улучшения качества картинки при низкой скорости потока (битрейте). Рассчитанный на «высокоскоростной» режим MPEG-2 нужного качества обеспечить не мог, поэтому атгоритм модифицировали: теперь при сжатии картинки некоторые ее части не «фотографироватись», а описывались языком формул.

Сегодня можно уже с уверенностью говорить, что стандарт MPEG 2 доживает последние годы, если не месяцы. Конечно, списывать со счетов DVD пока рановато, но вряд ли кто будет спорить с тем, что фильмы этого формата отжили свое. Вот уже несколько лет, как человечество вступило в эру HD - видео высокого разрешения можно снимать даже бытовыми фотоаппаратами и мобильниками. А для его хранения MPEG-2 уже не годится… По всем параметрам сразу: из-за невысокого по нынешним меркам разрешения, высокого «битрейта» (то есть объема информации, необходимого для кодирования секунды экранного времени), а также качества картинки: даже на самых совершенных DVD-фильмах глаз нет-нет да улавливает знакомые «квадратики», особенно, если вы смотрите фильм на большом экране.

В общем, если вы собираетесь создавать домашнюю видеотеку из собственноручно «сграбленных» с диска фильмов или «домашнего видео», снятого HD- совместимой видеокамерой - старайтесь в любом случае ориентироваться на кодеки семейства MPEG-4.

Алгоритмы и кодеки

Вот мы и упомянули второе главное понятие - кодек! Это своего рода стандарт внутри стандарта: даже выбрав алгоритм сжатия (MPEG-4) мы можем сжимать видео с помощью совершенно различных инструментов - и получать на выходе абсолютно разные результаты. Видео, которое вы записываете на крохотную камеру своего мобильника, картинку с коммерческого Blu-Ray и выкачанный из сети фильм HD-формата - все они закодированы с использованием одного и того же стандарта MPEG-4. Но качество и характеристики этих фильмов отличаются настолько разительно, что вам и в голову не придет заподозрить их в родстве: у одного картинка чудовищного качества и плохенький монофонический звук, у другого - красота неземная, хоть в Третьяковку вешай…

Кстати, не об одной картинке речь, ведь мы не в эпоху немого кино живем, надо учитывать и звук! А тут тоже сплошная свистопляска: в одних фильмах для кодирования звука используется отлично знакомый нам МРЗ, в других, с многоканальной дорожкой - более совершенный формат ААС…

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

Перечислять все виды этих кодеков мы не будем - упомянем лишь несколько самых распространенных. Напомним, что само слово «кодек» - это сокращение от «кодер-декодер»: стало быть, каждый кодек должен вктючать модули как для просмотра видео (декодер), так и дтя, наоборот, дтя сжатия (кодер). Первые чаще всего бесплатны - в частности, полный набор декодеров для воспроизведения видео практически всех существующих форматов можно получить в составе пакета кодеков - например, Windows 7 Codecs Pack (http://www.windows7codecs.com) - его я рекомендовал вам установить еще в главе, посвященной Windows. Бывают, впрочем, и исключения: для того, чтобы смотреть видео с дисков Blu-Ray с нормальным качеством, вам тоже придется покупать программный «декодер» - правда, не отдельно, а в составе какого-нибудь плеера (например, PowerDVD).

Еще хуже обстоит дело с «кодировочной» половинкой кодека: все самые лучшие и быстрые кодеки, к великому сожалению, платные. Так что варианта у вас всего два - либо приобрести платную программу, в состав которой уже включен этот кодек, либо воспользоваться его бесплатным аналогом (например, XviD, х.264 или Theora).

MPEG-4 Part 2 ASP. Первый алгоритм семейства MPEG-4, появившийся на рынке еще в 1999 году, кода и о HD-видео никто не слышал! Качество кодеков этого типа крайне низкое, что отчасти компенсируется довольно высокой скоростью кодирования (не менее важно и то, что воспроизведение сжатых этим кодеком фильмов не требует значительных аппаратных ресурсов). Именно поэтому этот алгоритм востребован и сегодня - он используется при кодировании видео для мобильных устройств типа коммуникаторов, персональных медиаплееров (формат МР4) и так далее. Яркими представителями кодеков на основе этого алгоритма являются отлично знакомые каждому компьютерному видеоману DivX и его альтернативный некоммерческий вариант XviD (http://www.xvid.org).

Н.264 или MPEG-4 AVC - одна из последних и самых популярных модификаций, с одинаковым успехом использующаяся для сжатия видео, как с низким разрешением, так и HD. Именно этим кодеком закодировано большинство фильмов, выпускающихся на дисках Blu-Ray, прижился он и на бытовых HD-видеокамерах (AVCHD). Как и в случае с DivX, у этого кодека существуют как коммерческие модификации, включенные в состав профессиональных видеоредакторов (Nero Recode, Pinnacle Studio, Adobe Premiere и т. д.), так и бесплатные варианты - например, х.264 (http://x264.nl).

VC-1 - «альтернативный» кодек, разработанный всеми нами любимой корпорацией Microsoft. Первоначально использовался для кодирования игрового видео для приставок Х-Вох, однако сегодня выполз из игрового вольера и вовсю окучивает видеорынок, отчаянно конкурируя с Н.264.

Ну и сакраментальный вопрос - что же нам выбрать? Единого ответа, увы, нет. Самым универсальным и доступным решением для хранения готового видео, несомненно, для многих станет бесплатный кодек х.264. Но и другими решениями пренебрегать не стоит: так, старый добрый МР4 пригодится для смартфонов, а снятое на качественную HD-камеру домашнее видео, которое вы планируете в будущем записать на Blu-Ray, лучше всего сразу сжимать профессиональным кодеком Н.264 или VC-1.

«Контейнер»

Остается выбрать «контейнер» - упаковку, тип файла, в котором мы будем хранить наши фильмы. Контейнеров существует огромное количество, больше, чем кодеков, причем в контейнере может храниться видео совершенно разных форматов! Возьмите классический AVI - этот контейнер может содержать видео как в древнем стандарте MPEG-1, так и MPEG-4. Та же штука с MPG или, скажем, любимого пользователями компьютеров Apple QuickTime (qt). Хотя большинство контейнеров четко привязаны к определенному формату - например, mp4, ts (в этом контейнере хранятся фильмы на дисках Blu-Ray).

Конечно, качества фильма определяется кодеком (и параметрами, которые мы устанавливаем при перекодировке - о них ниже), но и от контейнера зависит немало! В частности - количество звуковых дорожек, каналов субтитров, типы используемых кодеков. А заодно (что тоже немаловажно - совместимость с бытовыми проигрывателями). Кандидатов на эту роль три:

Файлы формата AVI - самого древнего и традиционного из всех контейнеров. Плюсы - совместимость практически со всеми плеерами и… собственно, и все. Датыне пойдут минусы: невозможность упаковать в файл тестовые субтитры (если только они не впаяны в фильм намертво). Беда и со звуковыми дорожками: некоторые умельцы ухитряются запихнуть в AVI несколько альтернативных «саундтреков», но это скорее исключение, чем правило.

Два варианта «контейнеров», заточенных под кодек х.264 - MKV (он же «матрешка») и МР4.

С «авишками» все ясно - Ее Roi Est Mort, Vive Ее Roi! Несмотря на то, что для большинства из нас понятия «авишки» и «фильмы» связаны, как сиамские близнецы, на деле старику JWI давно пора на сватку. И дело не только в кодеке DivX (в AVI можно хранить и фильм, сжатый с помощью х.264) - сам формат-«контейнер» устарел до неприличия.

Оба его конкурента предоставляют в разы больше возможностей: тут и несколько звуковых дорожек (причем с возможностью хранения многоканатьного звука), и отключаемые субтитры, и возможность хотя бы частичного сохранения меню диска и временных меток для быстрой навигации по фильму. Очень удобно, особенно если мы имеем дело с концертной записью, где частенько хочется перескочить прямо на нужную песню. Отдельным частям фильма можно даже дать какие-то вменяемые имена вместо банатьного Chapter 1, 2, 3 и так далее. Иногда это полезно - к примеру, если мы имеем дело со сборником ктипов или концертом.

Таким образом, коллекцию мы будем создавать в формате MKV или МР4.

На платформе ПК оба формата идут ноздрю в ноздрю. А вот вне системного блока расктад уже иной: фильм в МР4 можно проиграть практически на любых устройствах, начиная с карманного медиаплейера или мобильника и заканчивая игровой приставкой (например, Playstation 3). MKV же поддерживают только самые новые медиацентры, о портативных же устройствах лучше просто забыть. Стоит добавить, что формат МР4 - «родной» для всего «маковского» железа, от MacBook до iPhone, так что обладатели компьютеров «с яблочком» наверняка выберут его. С другой стороны, собирать-разбирать «матрешку» куда проще, чем МР4, так что заменить звук и добавить новые субтитры можно всего за пару минут.

Что получаем? А то, что при всей крутизне и прогрессивности формата MKV на самом деле его возможности востребованы лишь изредка: для суперколлекционных релизов с кучей дорожек и каналов субтитров, либо для видео сверхвысокого качества. И в том случае, если вы согласны пожертвовать совместимостью, ограничившись просмотром киношек на ПК или медиацентрах. Если переводить на язык операционных систем, то JWI - это, скорее, Windows, МР4 - чистейший Мак, ну a MKV - это что-то вроде Linux. Конструктор-самосборка, паззл, с которым каждый может возиться столько, сколько душе угодно.

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

Само название «кодек» произошло от слияния первых слогов двух английских слов: coder и decoder (co+dec=codec). Смысл этих слов понятен без перевода. Кодирование и последующее раскодирование мультимедийных файлов - и есть функция кодеков. Цифровая последовательность преобразуется в вид, понятный , а плеер, в свою очередь, воспроизводит это все «в формате», понятном для глаз и ушей человека.

Зачем нужны такие манипуляции

Для передачи и хранения файлов. Мультимедиа, особенно фильмы в высоком качестве, даже после сжатия кодеком «весят» очень много. Без кодирования объем файлов будет еще больше. Разумеется, сейчас безлимитным интернетом и физическими носителями емкостью в десятки и сотни Гб никого не удивишь, но какого бы объема ни был ваш винчестер, он все-таки не бесконечен. А поскольку существенных потерь качества аудио-/видеофайлов во время кодирования/декодирования не происходит, применение подобных технологий оправдано.

Какой кодек установить и где его взять

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

Самый популярный пакет кодеков - K-Lite Codec Pack. Он существует в четырех вариантах: Basic, Full, Standart и Mega. Причем при установке любого из этих вариантов вам будет предложено выбрать нужные компоненты самостоятельно. Пакет кодеков регулярно и скачать его можно абсолютно с сайта Codec Guide http://www.codecguide.com/about_kl.htm.

Если вы не знаете точно, какие кодеки вам нужны, а какие нет, установите стандартный вариант кодек-пака и оставьте в окне выбора компонентов все установленные по умолчанию галочки нетронутыми. Либо, наоборот, перестрахуйтесь и выберите загрузку по максимуму - пакет Mega или Full - и отметьте галочками все, что только возможно. Помимо кодеков в пакет входит также Media Player Classic - незамысловатый, но универсальный мультимедийный плеер, иметь который в своем арсенале будет нелишним.

После завершения процесса установки никаких манипуляций с кодек-паком вам больше не придется - имеющиеся на вашем компьютере медиаплееры «разберутся» с ним сами. Вот теперь для воспроизведения видео и аудио вам, действительно, достаточно будет просто запустить ваш плеер и открыть в нем нужный файл.