Кодеки, контейнеры, форматы для начинающих
Кодеки, контейнеры, форматы, битрейты.. Масса путающихся терминов и обозначений, куча параметров, в которых приходится разбираться и конечным пользователям, не понимающим, почему у них не проигрывается видео из Интернета или с диска, и контент-провайдерам, определяющим, как подготовить файлы так, чтобы их получили и смогли посмотреть максимальное количество пользователей. Неужели нельзя, наконец, выбрать какой-то один вариант, устраивающий всех, и больше не мучиться никогда? Давайте попробуем разобраться.
Во время съемки видео на цифровую камеру прямо при записи происходит оцифровка изображения и отбрасывание части информации — например, того, что человеческий глаз все равно не увидит. То есть определенное сжатие происходит практически сразу. Профессиональные камеры пишут поток видео с битрейтом от 50 Мбит/c. Например, при съемке на камеру Panasonic в формате DVCproHD битрейт составляет 100 Мбит/с, и 10 минут видео займет места порядка 7 Гбайт. Этот объем информации потом пригодится для монтажа, но «впихнуть» такой поток в каналы эфирного или кабельного ТВ без дополнительного сжатия (кодирования) не получится. При съемке на обычную бытовую камеру информации отбрасывается побольше — например, DV-камера записывает со скоростью порядка 25 Мбит/с, но все равно без дополнительного сжатия на DVD-болванку получится записать около 20 минут видео, а вовсе не 4 фильма по 2 часа.
Хранить записанные видеоматериалы — будь это домашнее видео или архив телекомпании — лучше всего в исходном формате. А вот для распространения видео придется дополнительно сжимать — кодировать. Для этого разрабатываются разнообразные математические алгоритмы сжатия и соответствующие устройства или программы, которые в соответствии с этими алгоритмами сжимают видео (кодеры), а потом на том устройстве, на котором происходит, например, просмотр, разжимают его (декодеры). Чаще всего кодирование занимает больше времени и ресурсов, кадр просматривается и пересчитывается несколько раз, зато декодирование — процесс, который должен происходить «на лету», обычно в десятки раз быстрее кодирования. Кодек H.264 устроен еще более «несимметрично» — в нем жестко не определен процесс кодирования, зато стандартизирован процесс декодирования. Компании-производители могут придумывать свои собственные способы кодирования видеосигнала; главное, чтобы стандартный декодер смог потом с ним справиться. В результате один и тот же по названию кодек H.264, реализованный разными компаниями, будет давать разную картинку.
Существуют кодеры, которые не сжимают видео, а только преобразуют его в другой вид/формат файла — например, для хранения файла на специфическом носителе. Этот вариант называется lossless — без потери качества.
Технологии кодирования
По способу обработки изображения кодеки делятся на две группы. Можно сжимать видео покадрово — когда каждая картинка-фрейм обрабатывается отдельно (intra-frame compression). Такое кодирование применяется, если видеоматериал в дальнейшем планируется монтировать и редактировать. Примеры таких кодеков — DV, MPEG2 (IMX), AVC-Intra, JPEG-2000, Avid DNxHD
Существует несколько вариантов отбрасывания «лишней» информации внутри кадра. Известно, например, что человеческий глаз хорошо различает оттенки яркости, а вот оттенки цвета видит хуже. Поэтому информацию о яркости можно хранить для каждой точки кадра, а по цветности — через одну (из кадра 4.4.4. получится кадр 4.2.0 -это преобразование понятно описано на codec.ru и подробнее в Википедии). Можно разбить цвет на меньшее количество уровней и хранить информацию о цвете не в 10, а в 8 битах. Можно отказаться от высокочастотных изменений цвета. (Подробно прочитать о том, какие бывают математические методы и алгоритмы сжатия для статических графических изображений и видео можно в книге Методы сжатия данных)
Если видеоматериал предполагается не редактировать, а распространять по «узким» каналам связи, используются технологии сравнения кадров между собой и хранения информации об изменении между кадрами (inter-frame compression). При этом целиком передаются только отдельные кадры (i-фреймы), а для остальных передаются описание изменений по сравнению с i-фреймами. Примеры таких кодеков — H.264, VP6, WMV, MPEG-2 LongGOP.
MPEG-2 LongGOP — это, кстати, кодек, который используется в большинстве проектов спутникового ТВ.
Профили и уровни
Одни и те же алгоритмы кодирования с разным набором параметров дадут на выходе сигнал с разной степенью сжатия и качества. Кроме того, в зависимости от времени, которое есть у кодера на обработку изображения, можно воспользоваться дополнительными алгоритмами или сделать кодирование в несколько проходов (multi-pass), тогда даже с тем же битрейтом качество изображения будет лучше. Но и декодирование в этом случае может оказаться более сложным, так что у декодирующего устройства может попросту не хватать мощности или памяти.
Таким образом, при кодировании приходится постоянно иметь в виду и ширину канала, по которому сигнал нужно будет распространять, и ресурсы декодируюшего устройства. Чтобы производители кодеров и декодеров могли договориться, у кодеков есть дополнительные характеристики — профиль, определяющий применяемые технологии сжатия, и уровни, характеризующие степень сжатия, то есть размер кадра и битрейт. Например, для того же самого кодека H.264 существует множество вариантов профилей (см подробнее), для видео в Интернете обычно используется Baseline Profile (BP) для более слабых устройств и MP (Main Profile) для обычных современных компьютеров. Соответственно, производители кодеров H.264 должны заранее продумать, какие устройства будут потом работать с видеосигналом и по каким каналам он будет распространяться, и оптимизировать свои решения под эти конкретные применения.
Ряд интересных побочных следствий: |
1)Если вы пытаетесь посмотреть видео из Интернета в высоком качестве на полном экране (например, с vimeo.com), канал у вас хороший, а видео показывается рывками, посмотрите на загрузку CPU — может быть, вам пора менять компьютер. |
2)Нельзя сравнить качество видео или оценить эффективность кодеков по битрейту получившегося сигнала. По битрейту качество видео в принципе трудно оценить из-за того, что передаваемые биты могут содержать в себе просто шум. Именно поэтому для качественного результата исключительно важно использовать хороший сигнал на входе кодера и проводить дополнительную его обработку для уменьшения шума. Иначе драгоценные ресурсы будут потрачены на кодирование и распространение «мусора». Автоматически анализировать качество видео тоже очень трудно, разрабатываются и патентуются сложные способы оценки качества видеосигнала с помощью системы экспертных оценок. Но даже если мы подадим совершенно одинаковый чистый сигнал на вход нескольких кодеров, может получиться, что на выходе сигнал боле высокого качества имеет более низкий битрейт. |
3)А вот тут приводится еще более интересный пример несоответствия битрейта и качества. Видео скачано и перекодировано с уменьшением битрейта в 4 раза, но это не привело к ухудшению изображения — возможно, оно стало даже четче. |
Контейнеры
Итак, видео мы закодировали с помощью одного кодека, аудио — с помощью другого, а еще у нас есть субтитры, они в отдельном текстовом файле, или анимация, тоже в отдельном файле. Теперь все это нужно объединить («завернуть», мультиплексировать) в один общий файл, который называется контейнером. Задача контейнера — правильно синхронизировать заложенный в него разнообразный контент. Ясно, что это непростая задача. Считается, что подавляющее большинство ошибок при проигрывании файлов связано именно с контейнерами. Их примеры — MOV, AVI, MPEG (MPEG-2 TS и MPEG-2 PS), VOB, MKV, WMV, 3GPP, 3G2. Сравнительную таблицу контейнеров можно найти в Википедии.
Мультиплексировать можно по-разному. Если предполагается, например, менять субтитры или добавлять аудио, удобнее, если звук, видео и текст расположены в отдельных файлах, а файл-контейнер содержит только ссылки для их синхронизации (reference file). Если же предполагается просто передавать контент для просмотра конечным пользователем, то контейнер — это, обычно, один файл, в котором подряд положены «нарезанные» кусочки файлов звука, видео, субтитров. По названию догадаться нельзя. Например, контейнер Quicktime MOV поддерживает оба варианта и умеет конвертировать один в другой.
В Интернете часто используются контейнеры, в которых все хранится внутри (self-contained), но, например, потоковое вещание в решении Adobe dynamic streaming предполагает, что видео хранится отдельно от информации о синхронизации, и за счет этого пользователю можно непрерывным потоком отдавать видео с разной степенью сжатия, подстраиваясь под его полосу пропускания. |
Контейнеры тоже бывают двух типов — потоковые и файловые, в зависимости от задач.
1) В файловом контейнере вся описательная информация о видео-, аудио- и прочих данных хранится в одном месте (начало или конец файла). Плюс — минимальная избыточность, минус — если описательная информация потеряна, повреждена или еще не получена, то воспроизведение или любая другая обработка файла будет невозможна или крайне затруднена. Если информация о файле хранится в начале, то его можно начать проигрывать или обрабатывать с начала, не дожидаясь полной загрузки файла на компьютер (progressive download).
2) В потоковом контейнере описательная информация постоянно присутствует в потоке данных с определенной периодичностью. Плюс — воспроизведение или обработка данных возможна практически с любого момента, минус — избыточность описательной информации.
Потоковые контейнеры используются, например, при организации цифрового эфирного телевизионного вещания. Для нас естественно, когда телевизор начинает показывать видео почти сразу, а не ждет, когда начнется новая передача или полностью загрузится текущая. Ну, может, видео чуть притормозит, пока телевизор будет ждать получения очередного i-фрейма в потоке. Потоковые контейнеры важны и в профессиональной области, потому что позволяют начать обработку видео: например, транскодирование — с начала получения потока мультимедиа данных, и в результате задержка между, например, трансляцией футбольного матча и его реальным ходом на стадионе будет меньше. Подробно устройство такого широко используемого в телевещании потокого контейнера как MPEG-2 TS описывалось в статье Цифровое кабельное ТВ.
Точно такое же потоковое вещание бывает и через Интернет — например, так обычно устроено в сети радио. Даже если исходно вся программа вещания была составлена из отдельных файлов с видео или аудио, вещательный сервер в соответствии с плей-листом «склеивает» их и выдает одним потоком.
Поток не обязательно должен быть бесконечным и вещаться один для всех. В Интернете это может быть и видео ограниченной длины, которое сервер проигрывает специально для вас. Но поскольку служебная информация присутствует в потоке повсюду, такое видео можно смотреть практически с любого места и проматывать вперед и назад. Считается, что если ролик длиннее 10 минут, его лучше вкладывать в потоковый контейнер. Интернет-вещатели все шире используют потоковые контейнеры, возможно, потому что при потоковом вещании на пользовательском устройстве не создается копии видео, а сохраняется только небольшой его кусочек — буфер, необходимый для равномерного проигрывания; да и на вещательном сервере нет, собственно, файла с видео, который мог бы быть скачан интернет-пиратами.
1)Интересное применение контейнеров — защита вложенной информации. Аудиофайл, например, можно выложить в Интернете и без контейнера — в mp3-файле. Но в такой файл не добавить контроль доступа, поэтому раз скачанный файл будет доступен пользователю на любом устройстве и всегда. Если провайдер хочет ограничить прослушивание, к примеру, несколькими днями, потребуется вложить файл mp3 в контейнер, например, в WMA (Windows Media Video/Audio) вместе с файлами DRM, несущими информацию о правилах доступа. |
2)На сайте adobe.com в статье Dynamic streaming on demand with Flash Media Server 3.5 можно найти пример того, как для определенного контейнера связаны вместе кодеки, размер кадра и битрейт для распространенных размеров кадра в случае вещания в Интернете с использованием технологии Adobe dynamic streaming, т.е. кодека H.264 и потокового контейнера F4V |
Форматы
И, наконец, формат — это некая совокупность описаний контейнеров, набора кодеков и дополнительных метаданных. Вся структура вместе получается достаточно сложной.
Пример формата и его составляющих, который приводит Rozhet : | ||
M2TS c H.264 (HP) видео и MPEG-1 Layer 2 аудио, например, может соответствовать: | ||
контейнер M2TS | ||
H.264 видеокодек с параметрами: | ||
кадр 720×480, 29.97 fps (кадров в секунду), верхнее поле — первое | ||
CBR 3Mbps, т.е. кодер выдает сигнал с постоянным битрейтом 3 Мбит/с | ||
High profile, 3,2 Level, ATSC closed-captionning — профиль кодека HP, уровень 3,2, определенный способ вывода текста | ||
… и еще более 50 других параметров | ||
MPEG-1 Layer 2 аудио | ||
Стерео, 16-битное кодироание, частота дискретизации 48кГц | ||
битрейт аудио — 128 кбит/c |
А чтобы все неспециалисты совершенно запутались, одни и те же названия часто используются для кодеков, контейнеров и форматов. Поэтому, о чем идет речь в данный момент — о формате или контейнере MPEG-2, и если о контейнере, то о каком из двух, или, может, собеседник подразумевает кодек H.262, применяемый для видео в этом формате, придется догадываться по контексту разговора. А, например, формат MPEG-4 включает описание двух разных видеокодеков — MPEG-4 Part 2 и MPEG-4 Part 10 (он же MPEG-4 AVC, он же H.264). При этом они оба широко применяются. MPEG-4 Part 2 — используется в контейнерах DivX(DivX Media Format) и QuickTime 6; MPEG-4 Part 10, AVC/H.264 — используется при записи HD DVD и Blu-ray дисков, и в QuickTime 7, Flash 9 и др., в том числе и в вещательном ТВ.
Выбор
Как ясно из сказанного выше, для подготовки видеоматериала и для распространения потребуются, скорее всего, разные способы кодирования видео. И даже если речь идет только о распространении видеоролика по сетям с низкой пропускной способностью, для подготовки спортивных трансляций потребуется другое кодирование, отличное от кодирования для видеомедицины. В одном случае нужно обрабатывать быстро двигающиеся изображение, в другом важно сохранить мелкие детали. А, например, для видеоконференцсвязи кодек должен работать быстро — иначе образуются большие задержки при общении. Поэтому при выборе формата/контейнера/кодека нужно точно понимать, для чего он будет использоваться, универсального решения не существует.
Дополнительное чтение и благодарности:
Помимо ссылок, приведенных в тексте, интересные материалы о кодеках, контейнерах и форматах для начинающих можно найти, например, на сайте компании Rhozet в разделе White Papers.
Компания Rhozet продает транскодеры — программы, преобразующие файлы одного формата в другой, и поэтому очень хорошо разбирается во всем, связанном с файловыми контейнерами. При подготовке статьи я также пользовалась материалами доклада, который сделал вице-президент Rhozet David Trescot на вебинаре .
Rhozet — компания, работающая с файловыми контейнерами. Возможно, именно этот факт привел к некоторому перекосу в статье в сторону файловой обработки видео. Специалисты российской компании «Элекард», разрабатывающей кодеки и программы для анализа структуры MPEG-потока, обратили мое внимание на этот перекос, и я очень благодарна Владиславу Марченко за замечания. Надеюсь когда-нибудь вникнуть в особенности потоковых контейнеров более глубоко.
Отдельное большое спасибо за советы и правки Дмитрию Кашину, руководителю отдела контроля качества телекомпании «Первый ТВЧ».
Понравилась статья?
0
0
Чтобы оставить комментарий необходимо авторизоваться.
Контейнеры и кодеки — Запись и форматы
Сейчас по разводилось куча форматов, кодеков, контейнеров. Народ начал путаться и не правильно делать записи. Для того, чтоб бы вы разобрались в этом, немного проинформирую вас. Постараюсь очень простым языком и понятно. Если хотите больше, для этого есть Википедия.
Контейнер — это большой или маленький ящик для хранение вещей (кодеков аудио и видео)
Кодеки — непосредственно вещь которой вы пользуйтесь (видео или звук)
Значит если надо сделать фильм, актёров, режиссёров, операторов немного пропустим, нужно взять контейнер и туда запихнуть кодеки видео и звука, можно и субтитры. А теперь немного перечислим какие существуют:
Видео кодеки:
Форматы кодирования аудио
Форматы субтитров
Контейнеры
Кажись всё . Конечно мог где-то и ошибиться, все мы люди, но я надеюсь, что добился своей цели. . Вам стало хоть немного, но понятней, в выборе техники и что покупать или скачивать для просмотра.
Главная » Статьи » Запись и форматы » Контейнеры и кодеки
Ссылка на этот материал: https://rem-tv.net/node/101
15.08.2015 | Андрей 5 326 | 1
Глюки DVD
AVI контейнер и его глюки при воспроизведения
Частота развёртки экрана: 50 и 100 Гц
Цифровые тормоза и глюки на изображении
Виды и типы оптических дисков
Описание форматов видеофайлов, кодеков и контейнеров
С современными технологиями возможности персональных компьютеров и мобильных устройств кажутся безграничными, что позволяет нам создавать видеоролики, привлекающие внимание аудитории за считанные секунды. Видео сегодня — это не просто то, что мы смотрим, это то, чем мы занимаемся и частью чего становимся. Необходимо понимать различные форматы видеофайлов, чтобы гарантировать, что видео будет создано в наилучшем формате и качестве для его предполагаемой цели, местоположения хостинга и аудитории.
Давайте посмотрим:
Важность кодеков и контейнеров
Давайте сначала поговорим о кодеках, которые имеют дело со сжатием вашего файла. Что это такое и почему это важно? Существует два вида сжатия: без потерь и с потерями. В большинстве случаев качество не может быть воспринято человеческим глазом, но в некоторых случаях оно может сделать визуальные эффекты зернистыми, звук плоским и приглушенным или затруднить воспроизведение видео.
Чтобы сжать видео, ваш файл также должен иметь соответствующий кодек. Кодек — это программа, которая сжимает ваше видео, чтобы его можно было сохранить и воспроизвести. Наиболее распространенный кодек включает в себя h. 264, который часто используется для цифрового видео высокой четкости и распространения видеоконтента. Также важно учитывать скорость передачи данных, которая относится к объему данных, сохраняемых за каждую секунду воспроизводимого мультимедиа. Чем выше битрейт, тем меньше сжатие, что приводит к более высокому качеству. Однако имейте в виду, что чем выше битрейт, тем больше размер файла.
Вы можете увидеть пример ниже в TechSmith Camtasia:
В дополнение к кодеку каждый видеофайл имеет контейнер. Контейнер похож на коробку, которая содержит ваше видео, аудио и метаданные (жизненно важные данные, такие как подписи, SEO и важную информацию, которая объединяет видео для воспроизведения). Его также можно назвать расширением файла, поскольку они часто рассматриваются как имена файлов, такие как AVI, MOV или MP4. Хотя доступны варианты AVI и MOV, мы рекомендуем использовать MP4 h.264, так как в настоящее время он является отраслевым стандартом для видео высокой четкости и обеспечивает наиболее практичный способ распространения видеоконтента.
Почему MP4 и h.264?
Впервые представленные в 1988 году, файлы MP4 используют раздельное сжатие для аудио (m4a) и видео (m4v) и являются типичным форматом файлов, используемым для обмена видео через Интернет в наши дни. Размеры MP4 относительно малы, но по-прежнему имеют высокое качество даже после сжатия. Он может хранить другие типы данных, кроме аудио и видео, такие как дескрипторы объектов, дескрипторы сцен и другие файловые структуры и функции (это метаданные). MP4 более популярен, чем другие форматы файлов, из-за того, что он совместим как с онлайн-браузерами, так и с мобильными браузерами.
MP4 обеспечивает большую совместимость по сравнению с другими форматами файлов, поскольку его можно использовать с Apple и Microsoft на компьютерах, планшетах, телефонах, игровых приставках или телевизорах. Он также широко используется различными медиаплеерами, программами для редактирования и используется в Интернете, и все они совместимы с h.264.
Помимо совместимости с большинством устройств, MP4 можно широко использовать в различных проектах. Учителя или инструкторы могут вставлять видео в формате MP4 в презентации PowerPoint, а те, кто находится в Интернете, могут загружать онлайн-видео в формате MP4 для простого и удобного воспроизведения.
Представьте свой финальный проект публике прямо сейчас! Завершите свою работу в своем любимом программном обеспечении для редактирования видео (мы рекомендуем TechSmith Camtasia) и поделитесь ею в формате MP4 всего за пару кликов!
- Камтазия
- Видео
Энди Оуэн
Энди Оуэн — специалист по видеопроизводству в TechSmith. Больше всего горжусь: быть мужем Чандры, отцом Эль и Кая. Любимое: The Muppets, Hanna-Barbera, Friends & Firefly. Не любит: Писать от третьего лица…
Присоединяйтесь к более чем 200 000 человек, которые ежемесячно получают практические советы и рекомендации экспертов в информационном бюллетене TechSmith.
Подписатьсяконтейнеров кодеков Разница? Избавьтесь от путаницы сейчас
Введение
В индустрии потокового мультимедиа существуют различные термины, которые вносят путаницу в правильное понимание. Потому что некоторые термины работают одновременно во время потоковой передачи. Поэтому иногда нам трудно понять концепцию, стоящую за этим.
Сегодня в этой статье мы рассмотрим один из этих терминов, который вызывает путаницу при понимании и работе над ним. Потому что у этих двух терминов разные функции.
Эти термины — кодеки и контейнеры. Давайте теперь обсудим это подробнее, чтобы устранить путаницу.
Что такое кодеки?
Кодек — это сокращение термина Сжатие Декомпрессия. Кодеки используются для сжатия или распаковки информации. Где эта информация может быть аудио, видео, изображение и данные.
Итак, существует четыре типа кодеков: аудиокодеки, видеокодеки, кодеки изображений и кодеки данных.
Кодеки используются для кодирования необработанных данных в цифровом формате. Так что эти закодированные данные могут быть легко отправлены на надежный или ненадежный носитель. На принимающей стороне цифровые данные декодируются обратно с использованием того же кодека, который мы использовали при кодировании данных.
Например,
Если мы кодируем видео с помощью кодека HEVC, то на принимающей стороне нам нужно использовать тот же кодек HEVC для декодирования видео для воспроизведения.
Пример некоторых кодеков: AVI, H.263, H.264, H.265, MPEG 4, JPEG, MP3 и AAC и т. д.
Кратко объясните мне, что такое кодеки и концепция, стоящая за ними?
Что такое контейнеры?
Контейнеры используются для отправки аудио- и видеоконтента из одного места в другое. Где средой может быть Интернет или носитель информации, такой как Pen Drive и жесткий диск.
Итак, контейнер объединяет весь аудио-видеопоток с его метаданными и представляет в одном формате файла. Этот формат файла может быть MP4, MKV и AVI и т. д. Таким образом, этот формат файла называется контейнером.
Контейнер может содержать различные аудио-видео кодеки.
Пример некоторых контейнеров: MP4, AVI, MKV, OGG и т. д.
Объясните мне, что такое контейнеры?
В чем разница между кодеком и контейнером?
Контейнеры | Кодеки |
MP4 | AVC, HEVC и HE-AAC и т. Д. |
WMV | 9191 и AV-AC и и т. Д. |
WMV | |
.0094 | |
MKV | Почти все Практически |
QuickTime | AVC, HEVC и Theora и т.д. |
ОГГ | Теора, МНГ и Ворбис и др. |
ТС | MPEG 2, MPEG 4, AC-3 и AAC и т. д. |
MXF | Почти все Практически |
F4V | AVC, MP3 и HE-AAC и т. д. |
Концепция кодека заключается в простом кодировании и декодировании данных для уменьшения размера содержимого. Контейнер используется для упаковки этих данных, а затем транспортирует их и представляет на принимающей стороне.
Контейнер MP4 содержит кодек MPEG 4, кодек H.264 и т. д. Точно так же контейнер TS содержит различные кодеки, такие как MPEG 2, MPEG 4 и т. д.
Здесь MP4 и TS — это два разных контейнера. В то время как H.264 и MPEG 4 являются поддерживаемыми кодеками видео внутри него. Один контейнер может содержать в себе различные кодеки.
Разница между H.263, H.264 и H.265?
Заключение
Никогда не путайте кодеки и контейнеры, потому что это две совершенно разные вещи. Потому что контейнер содержит в основном три вещи: аудиоконтент, видеоконтент и метаданные.
Где нам необходимо сжать видеофайл с помощью кодеков перед его отправкой через Интернет. Потому что кодеки используют алгоритм для уменьшения размера видео.
Поскольку несжатое видео одного часа в формате Full HD с разрешением 1080i при частоте 60 кадров в секунду занимает около 410 ГБ пространства. Это очень большой файл для хранения.
В индустрии потокового мультимедиа наиболее широко используемым контейнером является MP4, поскольку он поддерживает различные кодеки, как указано в таблице выше. H.265 обеспечивает хорошее качество видео при небольшой пропускной способности.