Другие языки программирования и технологии

Зaчем нyжен кoдек? Пoчему плeеры не мoгут без кoдека прoигрывать видeо?

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

А теперь представь, что существует 10 типов контейнеров с разной структурой, 10 разных способов сжать видео, 10 разных способов сжать аудио... Если для каждого такого случая писать отдельный код, получится 1000 разных программ. Потому поступают иначе: отдельно делают дешифровщики контейнеров, которые вытаскивают из контейнера содержимое, ничего не зная о формате этого содержимого, отдельно делают дешифровщики видео и аудио, которые ничего не знают о контейнерах, в которых эти видео и аудио хранились. Это всё и есть "кодеки" (точнее, декодеры).

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

Кодеки могут быть встроены в плеер (да, такое тоже встречается), но тогда плеер ограничен только фиксированным набором форматов, поддерживаемых этими встроенными кодеками. Намного эффективнее отделить кодеки от плеера и вынести кодеки на уровень системы - чтобы любой плеер мог воспользоваться любым установленным в системе кодеком. Появился новый формат - просто добавляем в систему новый кодек, никак не меняя код плеера.
Василий Гуменный
Василий Гуменный
92 650
Лучший ответ
Для каждого формата нужен свой распаковщик. Будь то документ офисного пакета, архивный файл, файл (карта/текстура) игры или медиафайл (картинка, аудио или видео). В формате сериализируется информация по определённым, заранее заданным правилам.
Нечто похожее сделано для устройств. Их особенности вынесены в отдельный слой софта - драйверы
Виктор Б
Виктор Б
52 195
потому что цифра . в файле видео в сжатом состоянии, и что бы организовать поток нужно раскодировать
алгоритмы сжатия совершенствуются и изменяются по сеиу кодеки обновляются
Прохор Доронин
Прохор Доронин
79 651
В файле записаны байты, на экране - пикселы, в звуковую карту надо гнать поток байтов. Как это всё совместить? Самое лучшее, что придумали - форматы записи, обслуживаемые кодеками.
Могут. Только уже ты не сможешь дать плееру незапакованный файл ))
Для простоты: у тебя есть файл архива (RAR, ZIP) в котором лежит текстовый документ DOCX. Поэтому тебе нужно иметь программу архиватор, которая распакует архив, а потом ты сможешь в текстовом редакторе открыть документ. С видеофайлами то-же самое: ВСЕ видеофайлы это архивы, а кодеки - это архиваторы которые их распаковывают. Эти архиваторы НЕ входят в комплект видеоплеера, их нужно устанавливать дополнительно что бы они открыли архив, а потом видеоплеер откроет лежащий внутри видеофайл. немножко упростил что бы понятнее было. :)
Азим Айдаров
Азим Айдаров
65 932
плeеры не мoгут без кoдека прoигрывать видeо
ты без одежды зимой сможешь, тут тоже самое
Антон Коробач
Антон Коробач
37 978
Потому что