Наверняка вы хоть раз в жизни сталкивались с тем, что ваш компьютер отказывался воспроизводить скачанную музыку, видеоролик или фильм с диска именно в тот день, когда вы решили провести приятный вечер у экрана монитора. От этой проблемы можно избавиться раз и навсегда, если переустановить или обновить кодеки.
Не знаете, что такое кодеки и как они работают? Тогда эта статья – для вас! Из нее вы узнаете, для чего нужны кодеки и какими они бывают, а также поймете, как устроен процесс воспроизведения видео на ПК и мобильных устройствах.
Всё, что нужно знать о кодеках
Кодеком (от английского codec) называют программу, предназначенную для кодирования и декодирования данных мультимедиа (например, аудио- и видеопотоков). Каждый кодек «специализируется» только на одном типе данных. За обработку звуковых записей отвечают аудиокодеки (AAC, AIF, AU, MP3, RA, RAM, WMA, FLAC), с видео работают видеокодеки (DivX, AVI, H.261, H.263, H.264, MPEG, RM, RV, WMV). Над роликами, в которых содержится и звук, и видео, «колдуют» оба этих типа кодеков.
Также существуют кодеки, предназначенные для обработки цифровых изображений и текста, однако в этой статье речь пойдет именно об аудио- и видеокодеках.
Как работают кодеки?
Представьте, что вы записали ролик на видеокамеру, загрузили его в компьютер и открыли с помощью проигрывателя. Казалось бы, пустяковое дело! Но кодекам на вашей камере и компьютере пришлось немало потрудиться, чтобы вы смогли это сделать. Давайте посмотрим, чем же занимаются эти программы, когда вы записываете видео и проигрываете снятые клипы.
Кодеки принимаются за работу в тот самый момент, когда вы нажимаете кнопку записи на своей камере. Прямо во время съемки видеокодек сжимает и кодирует видеодорожку, а аудиокодек работает со звуковой дорожкой. Затем оба потока синхронизируются и сохраняются в одном медиаконтейнере, а если говорить проще – формате. Камеры могут вести запись как в популярных форматах типа AVI и MP4, так и в более экзотических.
Теперь, когда вы перенесли снятый клип на свой компьютер, в дело вступают кодеки, установленные на нем: видеокодек распаковывает изображение, аудиокодек – звуковую дорожку, а проигрыватель выводит эту информацию на экран и в колонки вашего компьютера.
Зачем все эти сложности?
Неужели нельзя обойтись без кодирования? Теоретически – можно, на практике – лучше не стоит. Дело в том, что кодеки выполняют очень важную функцию: они сжимают файлы до размеров, приемлемых для современных устройств.
Видеофайлы, создаваемые камерами в процессе записи, имеют слишком большой размер: пятиминутный ролик, снятый на современный смартфон, в несжатом состоянии может занимать несколько гигабайт памяти! Вспомните, сколько места есть на дисках вашего компьютера и мобильных устройств, и представьте, сколько несжатых видеороликов вы могли бы на нем хранить – вряд ли эта цифра будет слишком большой.
Возможно, в будущем, когда память компьютеров и гаджетов будет исчисляться десятками и сотнями терабайтов, необходимость в использовании кодеков отпадет, но сейчас без этих шустрых программ, превращающих гигабайтные видео в мегабайтные, нам не обойтись.
Как же кодеки уменьшают размер файлов?
Сжатие видео и аудио происходит за счет устранения так называемой избыточности данных. Как это происходит? Представьте, что вы в течение 5 минут снимали морской пейзаж – такой, как на картинке:
Допустим, ваша камера снимает со скоростью 30 кадров в секунду. Получается, за 1 секунду записи она сохраняет в своей памяти 30 уникальных изображений. А за 5 минут (300 секунд) она снимет целых 9000 кадров!
Но что может кардинально измениться в этом пейзаже за 1 секунду? Позеленеет небо? Испарится вода?
Даже если произойдут какие-то изменения, то они будут плавными, и на их осуществление потребуется время. Вывод: ежесекундно камера снимает 30 практически полностью идентичных друг другу кадров.
Так зачем же сохранять в памяти все эти кадры целиком? Для записи пейзажа на видео кодеку достаточно сохранить один исходный кадр, найти все похожие на него и удалить из похожих кадров повторяющиеся части изображения. Затем, при воспроизведении видео, кодек будет наслаивать изменяющиеся части на исходное изображение. Если в картинке что-то поменяется, кодек выделит еще один исходный кадр и все на него похожие. Описанный алгоритм называют компенсацией движения и считают одним из основных методов сжатия видеоданных.
Компенсация движения – это всего лишь один из множества методов, применяемых видеокодеками при обработке записей с камер. Свои способы устранения избыточной информации используют и аудиокодеки. В результате работы кодеков из аудио- и видеопотоков удаляется большая часть «лишних» данных. За счет этого и происходит изменение объема закодированного файла.
Какой кодек выбрать?
Существует множество видео- и аудиокодеков, предназначенных для различных целей. Вот краткий список самых популярных кодеков:
— H.264 (MPEG-4)
— MPEG-2
— H.265 (MPEG-H, HEVC)
— Flash
— WMV
— FLAC
— APE
Чтобы вам не пришлось подолгу искать, какой кодек лучше подойдет вам, мы советуем скачать K-Lite Codec Pack – универсальный пакет для Windows, в котором есть все, что понадобится для проигрывания практически любого видео: самые хорошие кодеки для AVI, MKV, MP4 и других форматов.
А вдруг кодек сработает неправильно и удалит нужную информацию?
Можно ли обработать видеофайл без потерь?
В основе современных кодеков лежат сложные комплексные алгоритмы сжатия данных, которые помогают свести потери информации к минимуму. Однако если вы все-таки хотите перестраховаться, у нас есть хорошие новости: существуют так называемые lossless-кодеки, обрабатывающие видео без потерь. Это значит, что при декодировании потока информация будет воспроизведена бит к биту. Однако следует быть готовыми к тому, что размер видеофайла, обработанного такими кодеками, будет довольно большим.