Форматы и кодеки

Форматы и кодеки

Не претендуя на профессионализм, перечислю, что необходимо знать современному кинолюбителю :-) о типах видеофайлов и кодеках.

Для начала немного лирики. Для чего собственно нужны кодированные фильмы сегодня, когда DVD-приводы и плееры становятся всё более доступными? Помимо всех преимуществ, DVD-фильмы располагают одним большим недостатком - размер в четыре с лишним гига на фильм вряд ли кому-то может показаться незначительным. Всё, конечно, зависит от ёмкости и загруженности винчестера, но маловероятно, что, набрав много DVD-дисков с любимыми фильмами, получится все из них сохранить на своём компьютере. Можно, конечно, обзавестись DVD-пишущим приводом, но если на DVD-болванку можно записать от шести фильмов и больше, зачем записывать один и захламлять квартиру тучей компактов? В общем, я плавно подошёл :-) к тому, что использование кодирования для "выпечки" фильмов, весящих не 4-5, а 0,7-1,4 гига очень даже оправдано. А как же качество, спросите вы? Так вот, современные технологии позволяют получать цифровые фильмы небольшого, в сравнении с DVD, размера, с качественным объёмным звуком, и картинкой DVD'шного (если не придираться к мелочам :-) качества. 

Теперь по терминологии: формат видеофайла - определённый стандарт, с помощью которого одна видео- и одна или несколько звуковых дорожек упаковываются в один файл ("контейнер"), а программа-видеоплеер уже, опираясь на этот стандарт, распознаёт и воспроизводит эти дорожки (видео и аудио синхронно). Существует два основных формата mpeg - mpeg2 (в этом формате записываются DVD-фильмы) и mpeg4 (это "пережатки" с DVD, занимающие меньше места). Кодек - опять же стандарт сжатия мультимедиа-информации, т.е. уменьшение размера видео и звука, при потере качества. Чем сильнее сжатие, тем хуже качество. Если провести аналогию с архивацией текстовых файлов, то архив - это файл с закодированным фильмом, программа-архиватор - видеоплеер, а сам стандарт архивации - кодек. Один и тот же кодер после установки в систему может использоваться как для кодирования (изготовления своих сжатых видеофайлов), так и для декодирования (просмотра фильмов). При просмотре фильмов, программа-плеер сначала распознаёт формат видеофайла, находя видео и звуковые дорожки, а затем обращается к соответствующим кодекам для воспроизведения.

Далее я просто перечислю наиболее распространённые форматы контейнеров и кодеки и приведу короткие комментарии к каждому из них.

Видеоформаты (напрямую на качество не влияют, лишь обеспечивая поддержку кодеков и "технологичность" фильма).

AVI - очень древний :) стандарт, которому уже более десяти лет. Не соответствует современным требованиям качества и не поддерживает некоторые кодеки (в частности звуковой кодек Vorbis), а также переменный битрейт в кодировании. Существует и проблема с синхронизацией потоков.

MKV - "молодой" тип контейнеров, характеристикой которому станет предыдущий абзац без слов "не" :-). Если перед вами файл с фильмом *.mkv, то, вероятно, сам фильм будет высокого качества, по крайней мере, без багов.

ASF - формат, разработанный в недрах всеми любимой фирмы :-) Microsoft и ими же запатентованный. По непонятным причинам очень бережно ими оберегается, даже законом запрещено использование этого стандарта для видеокодирования и редактирования ASF-фильмов третьими сторонами, то есть нами ;-), чтобы его попробовать в кодировке, придётся найти софт, который этот закон не уважил :-). Сам по себе стандарт очень старый, поэтому вряд ли обеспечивает совместимость с современными кодеками.

VOB - контейнер DVD фильмов. На DVD-диске с фильмом выкладываются несколько VOB-файлов ~ по 1Гб каждый вместе с разными системными файлами (IFO, BUP...). Скинув VOB-файлы на жёсткий диск компьютера, можно их просмотреть, натравив какой-нибудь видео-плеер. Внутрь VOB-файла зашиваются собственно видео, одна или несколько звуковых дорожек и субтитры.

Кодеки (непосредственно влияют на качество картинки и звука):

Для видеопотоков:

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

XVID - На сегодняшний день считается одним из лучших кодеков, если не самым лучшим. Качество картинки остаётся на высоте, даже во время динамичных сцен. Продолжается активное развитие кодека...

VP62 - В своё время считался самым лучшим кодеком, однако его разработчики уступили пальму первенства XVID'у. То, что произошло с кодеком, начиная с версии 7.0 - не описать никакими словами: глюки, плохое качество картинки, пикселизация динамичных сцен... И это притом, что фильмы кодированные VP6.4 практически ничем не отличались от DVD, занимая гораздо меньше места...

CoolDVD, WMV, Indeo - обеспечивают качество не выше уровня линейки DivX.

Для аудиопотоков (приведены в порядке повышения качества звука):

MP3 - в комментариях не нуждается :-). Как и DivX - очень широкоиспользуем, но также и не обеспечивает отличное качество. Стандарт разработан в 1993г. =). В настоящее время существует обновлённый вариант - MP3pro, который ориентирован не на качество, а на меньший размер аудиофайла.

AC3 - поддержка объёмного звука (шестиканального).

Vorbis - обеспечивает очень качественное звучание, гораздо более насыщенное, чем MP3.

DTS - возможно лучший на сегодняшний день звуковой кодек, достойный "напарник" :-) VP62.

Техническую информацию по цифровому фильму можно узнать из под большинства видеоплееров. В "Light Alloy" - кнопка . При нажатии станут доступны данные по формату файла, типам видео- ("Кодек FourCC") и звукового кодека, частоте кадров, размеру картинки, частоте, типу и битрейту звука. Если какой-либо фильм не воспроизводится (нет картинки, либо звука), то правильным действием будет заглянуть в информацию по файлу и узнать, какими кодеками что закодировано, доустановить отсутствующие в системе и начать просмотр фильма. Неправильным действием при таком раскладе будет установка codec-pack'ов, подборок нескольких десятков кодеков в одном инсталляторе. Вы захламите свою систему множеством кодеров, многие из которых вообще никогда так и не используете, это не лучшим образом скажется на производительности операционки. Вместе с кодеками могут устанавливаться также какие-либо программы, которые, по мнению автора подборки кодеков, полезны, вам же они могут доставить неудобства при просмотре фильма. В общем, проводите точечную политику при установке кодеков: ставьте только те, которые действительно нужны!