Что такое Контейнер?
Определение
Контейнер (или обёртка) - это формат файла, который объединяет один или несколько потоков видео, аудио, субтитров и метаданных в один файл. Примеры: MP4, MKV, WebM, MOV и AVI. Сам контейнер не сжимает данные - этим занимается кодек.
Контейнер - это внешний формат файла, который держит медиапотоки вместе и описывает, как они устроены. Он определяет, как видео, аудио, субтитры и метаданные (главы, временные метки, языковые теги) чередуются и синхронизируются, чтобы плеер знал, как их читать. Расширение файла, которое вы видите, например .mp4 или .mkv, обычно называет именно контейнер, а не кодек внутри него.
Контейнер - это не то же самое, что кодек. Кодек (например H.264, AV1 или AAC) сжимает и распаковывает данные потока, а контейнер просто упаковывает эти потоки. Поэтому одно и то же видео в H.264 может лежать в файле MP4, MKV или MOV - закодированное видео идентично, меняется только обёртка. Перенос потоков в новый контейнер без перекодирования называется ремуксингом, и это быстро и без потерь.
Контейнеры различаются тем, какие кодеки и возможности они поддерживают. MP4 - самый совместимый и стандарт для веба и мобильных устройств. MKV гибкий и хорошо работает с множеством аудиодорожек, субтитров и глав. WebM создан для веба и кодеков без лицензионных отчислений. Неправильный выбор контейнера может привести к тому, что файл откроется в одном приложении и не откроется в другом, даже когда с кодеками всё в порядке.
Кратко о главном
- Контейнер объединяет потоки видео, аудио, субтитров и метаданных в один файл
- Также называется обёрткой; распространённые примеры: MP4, MKV, WebM, MOV и AVI
- Контейнер не сжимает данные - это делает кодек
- Один и тот же кодек, например H.264, может находиться в разных контейнерах: MP4, MKV или MOV
- Расширение файла обычно называет контейнер, а не кодек внутри