Видеофайл представляет собой контейнер, отдельно хранящий сжатое видео, отдельно - сжатое аудио и - отдельно же - информацию, синхронизирующую воспроизведение видео и аудио. Чтобы воспроизвести файл, нам надо иметь код, дешифрующий структуру контейнера, код, дешифрующий видео, код, дешифрующий аудио, код, синхронизирующий видео и аудио.
А теперь представь, что существует 10 типов контейнеров с разной структурой, 10 разных способов сжать видео, 10 разных способов сжать аудио... Если для каждого такого случая писать отдельный код, получится 1000 разных программ. Потому поступают иначе: отдельно делают дешифровщики контейнеров, которые вытаскивают из контейнера содержимое, ничего не зная о формате этого содержимого, отдельно делают дешифровщики видео и аудио, которые ничего не знают о контейнерах, в которых эти видео и аудио хранились. Это всё и есть "кодеки" (точнее, декодеры).
И при воспроизведении плеер берёт нужный кодек контейнера, нужный кодек видео, нужный кодек аудио и состыковывает их между собой - получая на выходе декодированные и синхронизированные видео и аудио.
Кодеки могут быть встроены в плеер (да, такое тоже встречается), но тогда плеер ограничен только фиксированным набором форматов, поддерживаемых этими встроенными кодеками. Намного эффективнее отделить кодеки от плеера и вынести кодеки на уровень системы - чтобы любой плеер мог воспользоваться любым установленным в системе кодеком. Появился новый формат - просто добавляем в систему новый кодек, никак не меняя код плеера.
Другие языки программирования и технологии
Зaчем нyжен кoдек? Пoчему плeеры не мoгут без кoдека прoигрывать видeо?
Для каждого формата нужен свой распаковщик. Будь то документ офисного пакета, архивный файл, файл (карта/текстура) игры или медиафайл (картинка, аудио или видео). В формате сериализируется информация по определённым, заранее заданным правилам.
Нечто похожее сделано для устройств. Их особенности вынесены в отдельный слой софта - драйверы
Нечто похожее сделано для устройств. Их особенности вынесены в отдельный слой софта - драйверы
потому что цифра . в файле видео в сжатом состоянии, и что бы организовать поток нужно раскодировать
алгоритмы сжатия совершенствуются и изменяются по сеиу кодеки обновляются
алгоритмы сжатия совершенствуются и изменяются по сеиу кодеки обновляются
В файле записаны байты, на экране - пикселы, в звуковую карту надо гнать поток байтов. Как это всё совместить? Самое лучшее, что придумали - форматы записи, обслуживаемые кодеками.
Могут. Только уже ты не сможешь дать плееру незапакованный файл ))
Для простоты: у тебя есть файл архива (RAR, ZIP) в котором лежит текстовый документ DOCX. Поэтому тебе нужно иметь программу архиватор, которая распакует архив, а потом ты сможешь в текстовом редакторе открыть документ. С видеофайлами то-же самое: ВСЕ видеофайлы это архивы, а кодеки - это архиваторы которые их распаковывают. Эти архиваторы НЕ входят в комплект видеоплеера, их нужно устанавливать дополнительно что бы они открыли архив, а потом видеоплеер откроет лежащий внутри видеофайл. немножко упростил что бы понятнее было. :)
плeеры не мoгут без кoдека прoигрывать видeо
ты без одежды зимой сможешь, тут тоже самое
Потому что
Похожие вопросы
- Пoчему, чтoбы нaучиться вoдить мaшину мне не нужнo читaть рукoводство на 1500 стр?
- Мoгут ли кoгда-нибyдь
- Зaчем люди yчaтcя
- Пoчему фрeймворки Sуmfоny и Lаravеl написaны на PHР, а не на C, C++ или Gо?
- Пoчему Pythоn плoх для начaльного изyчения прoграммирования?
- Зaчем нyжен севeрный мoст?
- Пoчему aтеисты никaк не мoгут пpидумать oтвет на вoпрос: Пoчему бoга нeт?
- Зaчем процeссору нyжен кэш?
- видeо кaрты?
- Нyжен ли мyжчине aвтомобиль?