Руководство OTT по кодекам, форматам контейнеров и транскодированию

Если от названия этой статьи у вас еще не болит голова(head hurt) , то остальная часть точно будет. Что ж(Well) , надеюсь, я смогу объяснить это так, чтобы это было понятно нетехническому человеку. Я пишу эту статью о video/audio codecs becauseI что однажды я запутался, пытаясь объяснить это другу(friend one) .

Что такое кодек? Я знаю, что они нужны вам, чтобы играть в кино здесь и там, но что, черт возьми, это на самом деле? Что меня действительно смутило, так это все термины, о которых я слышал, но никогда толком не понимал: H.264 , DivX , MP4 , AVI , MPEG-2 , AVCHD , AAC , OGG , MKV и т. д. и т. д. Были ли это все кодеки? После долгих прочтений и изучения(reading and learning) я понял, что мир аудио- и видеокодеков(audio and video codecs) и контейнерных форматов(container format) очень запутан. На самом деле, я даже не знал разницы между кодеком и форматом контейнера .(container format)пока не начал изучать.

Я не буду вдаваться в подробности, потому что тема очень быстро становится очень краткой. Вас действительно волнует, что 1 час несжатого видео в формате RAW 1080p с частотой 60 кадров в секунду занимает почти 500 ГБ (RAW)дискового пространства(storage space) ? Возможно нет.

Что такое кодек?

Так что же такое кодек и что он делает? Проще говоря, кодек — это кодер/декодер или, в его исходной форме, компрессор (со) — декомпрессор(– decompressor) (dec). Именно это и делает кодек: он берет цифровой файл и сжимает его (или кодирует) для хранения, а затем распаковывает (или декодирует) для просмотра или перекодирования. Я расскажу вам, что такое транскодирование, чуть позже, давайте не будем запутываться в начале.

Важно понимать, что кодек — это своего рода спецификация того, как должен выглядеть битовый поток. Что такое битовый поток? Чтобы не вдаваться в технические подробности, это то, как должна быть организована последовательность байтов для этого конкретного кодека. Каждый кодек имеет определенный набор рекомендаций. Например, он может указать ширину, высоту, соотношение сторон и т. д. Посмотрите эту страницу, но не читайте слишком много, иначе у вас заболит голова:

http://www.cs.cf.ac.uk/Dave/Multimedia/node262.html

Поскольку это спецификация, существует множество способов преобразования данных в этот формат. Следовательно(Hence) , может быть много кодеров для одного кодека. Подробнее о кодировщиках я расскажу ниже в разделе «Популярные кодеки»(Popular Codecs section) .

Так зачем нам вообще нужно все это сжатие и распаковка(compression and decompression) ? Как(Well) я уже упоминал выше, несжатый файл RAW 1080p занимает почти колоссальные 500 ГБ всего за один час. Вам понадобится собственный центр обработки данных для хранения всех ваших семейных видео, если все будет записано в этом формате. Вот где компрессия вступает в игру. Существуют разные типы сжатия, что соответствует разным типам кодеков. Итак, какие популярные кодеки?

Популярные кодеки

H.264  (MPEG-4 Part 10 AVC) — также официально известен как MPEG-4 Part 10 , но чаще всего вы слышите H.264 . Да, одно и то же может иметь несколько названий. H.264 на сегодняшний день является самым популярным форматом для кодирования видео. H.264 предлагает лучшее из всех миров: файлы меньшего размера с более высоким качеством.

Опять же(Again) , помните, что H.264 — это просто кодек, вы не найдете файлов с расширениями .h264. Вот для чего нужны форматы контейнеров, о чем я объясню в следующем разделе. Этот кодек используется повсюду, от смартфонов до цифровых видеокамер и дисков Blu-ray(Blu-ray discs) . Сегодня он также используется для доставки большого количества веб-видео(web video today) из-за его способности обеспечивать отличное качество изображения(image quality) с высокой степенью сжатия(compression ratio) и низкой скоростью передачи данных(bit rate) , что означает меньшую нагрузку на серверы потоковой передачи.

Он также хорошо поддерживается и, вероятно, еще долгое время будет самым популярным кодеком. Его поддерживают Apple , YouTube , HTML 5 и даже Adobe Flash .

Единственным недостатком H.264 является то, что его алгоритмы сжатия настолько хороши, что кодирование видео в этот формат происходит намного медленнее. Вы узнаете об этом больше, когда мы поговорим о транскодировании ниже.

Как я уже упоминал выше, для одного кодека существует несколько кодеров. Для кодека H.264(H.264 codec) одним из самых популярных кодеров является x264 от VideoLAN , тех же людей, которые создают VLC Media Player . x264 является бесплатным и открытым исходным кодом, но также существует множество коммерческих кодировщиков H.264 . Неважно, как видеопоток(video stream) конвертируется в этот формат, любой декодер H.264(H.264 decoder) (например, VLC ) сможет просмотреть файл.

MPEG-2 – У вас все еще есть большая коллекция DVD(DVD collection) ? Все это делается с использованием кодека MPEG-2(MPEG-2 codec) . Он довольно старый, но очень распространенный. Другое место, где вы обнаружите сжатие MPEG-2,(MPEG-2 compression) — это когда вы смотрите эти HD-каналы, транслируемые по воздуху. Вот и все сжатие MPEG-2(MPEG-2 compression) . Интересно знать, правда?

Поскольку алгоритм сжатия с использованием MPEG-2 значительно уступает H.264 , его преимущество заключается в том, что кодирование происходит намного быстрее. Тем не менее, это никогда не работало для потоковой передачи в Интернете(web streaming) , потому что при более низком битрейте качество быстро падало, и вы получали пикселизированное видео. Вот почему они придумали MPEG-4 Part 2 .

MPEG-4 Часть 2(MPEG-4 Part 2) – Вы, наверное, помните те дни, когда все говорили о DivX и Xvid(DivX and Xvid) , верно? Это были кодеры для формата MPEG-4 Part 2 , также известного как (MPEG-4 Part 2)H.263 . Многие фильмы, которые вы загружали в свое время, были сжаты с использованием этого кодека, потому что он давал вам хороший размер файла(file size) и сохранял приемлемое качество. Однако единственная серьезная проблема заключается в том, что контент высокой четкости(high-definition content) по- прежнему страдал с точки зрения качества изображения(image quality) , и именно здесь преобладал H.264(H.264) , о котором я упоминал выше.

Windows Media Video — это в основном версия кодеков MPEG-4 от (MPEG-4 codecs)Microsoft . WMV 7 был представлен в 1999 году и был копией MPEG-4 Part 2 . Позже появились WMV 8 и 9, а затем (WMV 8)VC-1 , кодек, который в основном копирует MPEG-4 Part 10 и в настоящее время также используется в дисках Blu-ray(Blu-ray discs) . Единственные другие места, где вы видите WMV и VC-1 , в основном связаны с продуктами Microsoft , такими как (Microsoft)Windows Movie Maker , Silverlight , HD DVD и Microsoft Expression Encoder(HD DVD and Microsoft Expression Encoder) и т. д.

Это только популярные видеокодеки(video codecs) , у вас также есть свои аудиокодеки, которые вступают в игру, когда мы говорим о контейнерах ниже. Популярные аудиокодеки включают FLAC , AC3 , Dolby Digital Plus , DTS-HD , ALAC и т. д . Как и в случае с видео, аудиокодеки имеют свои собственные форматы контейнеров, такие как AIFF , WAV и т. д.

Это ни в коем случае не все кодеки, это просто список некоторых из самых популярных. Теперь поговорим о форматах контейнеров.

Форматы контейнеров

Форматы файлов

Когда вы воспроизводите файл в проигрывателе Windows Media, VLC , (Windows Media Player or VLC)Quicktime или любом другом выбранном вами медиаплеере, вы обычно открываете формат контейнера(container format) . Формат контейнера или оболочка(container format or wrapper) — это, по сути, пакет из одного или нескольких кодеков, видео или аудио(video or audio) , или того и другого. Контейнер используется для добавления аудио вместе с видео и для обеспечения идеальной синхронизации аудио и видео . (audio and video)Контейнер также будет содержать другую информацию, необходимую потоковому серверу(streaming server) или медиаплееру. Битовые потоки видео и аудио просто завернуты в другой битовый поток.

Форматы контейнеров(Container) — это то, где вы видите общие расширения файлов, которые мы все используем, такие как MP4 , MOV , WMV , AVI и т. д. Давайте рассмотрим некоторые из наиболее распространенных контейнеров:

MP4 . Вероятно, вы скачали песню с расширением .MP4, которое является оболочкой для многих видео- и аудиокодеков. Чаще всего он используется для переноса видео H.264 и(H.264 video and AAC) аудио, закодированного в AAC. Он также поддерживает видеокодеки MPEG-4 Part 2(MPEG-4 Part 2) и MPEG-2(MPEG-2 video) . Также звук можно кодировать с помощью других кодеков, отличных от AAC .

AVI — это контейнерный формат Microsoft(Microsoft container) , появившийся в 1992 году. Он был очень популярен в мое время и до сих пор довольно популярен. Если вы выполняете какое-либо кодирование, вам больше никогда не следует использовать формат контейнера AVI . (AVI container)Во-первых, он не поддерживает более новые кодеки, такие как H.264 . У него также есть несколько других серьезных проблем, поэтому он больше не используется.

ASFAdvanced Systems Format от Microsoft(Microsoft don) обычно не использует расширение файла .ASF(.ASF file extension) . Вместо этого вы увидите, что большинство контейнеров ASF используют .WMA или .WMV. Вы увидите эти файлы, если используете все продукты Microsoft . Покинув мир Microsoft(Microsoft world) , вы столкнетесь с проблемами при воспроизведении файлов, особенно если вы используете кодек H.264(H.264 codec) .

AVCHDAVCHD является наиболее распространенным контейнерным форматом(container format) для видеокамер высокой четкости. Видео обычно будет в формате H.264 со звуком AC3 ( Dolby Digital ) или Linear PCM .

MKV – Давно скачивали(Download) фильм? Вероятно, это формат контейнера MKV(MKV container) , в котором хранятся видеофайлы H.264(H.264 video) . Довольно много инструментов поддерживают MKV , например Boxee , PS3 Media Server , XMBC , VLC и т. д., но пока он не так широко поддерживается, как другие форматы контейнеров.

FLV — это Adobe Flash , который поддерживает множество различных кодеков, наиболее распространенными из которых являются H.264 и AAC(H.264 and AAC) . Flash-видео(Flash video) — один из самых популярных способов потоковой передачи видео через Интернет(Internet) . Он теряет позиции(losing ground) из-за HTML 5 и того факта, что Apple не разрешает использовать flash(let flash) ни на одном из своих iDevice, но это все еще очень распространено.

Существуют и другие форматы контейнеров, такие как QuickTime File Format , OGG , WebM и т. д., но теперь вы примерно представляете себе картину.

Транскодирование

Последнее, что нужно понять во всем этом, это то, что вам, вероятно, придется конвертировать видео AVCHD(AVCHD video) , которое вы загрузили с видеокамеры, в другой формат, который затем вы сможете импортировать в iTunes и воспроизводить на своем iPhone. Поскольку существует так много кодеков и форматов контейнеров,(codecs and container formats) и каждый формат контейнера(container format) может иметь разные комбинации видео- и аудиокодеков, вам нужен транскодер, чтобы получить тип файла, который вы хотите для вашего конкретного устройства.

Ручной тормоз

Существует множество транскодеров, также называемых видеоконвертерами: HandBrake , FFmpeg , SUPER , VirtualDub и т. д . Некоторые платные, а некоторые — бесплатные инструменты с открытым исходным кодом. Некоторые инструменты, такие как HandBrake , предоставляют предварительные настройки, так что вы можете просто выбрать исходный файл(source file) и выходной формат,(output format) такой как iPod или iPhone(iPod or iPhone) , и нажать « Пуск(Start) » . Он выберет все настройки, контейнер, кодек и т. д. за вас. Однако, надеюсь, что после прочтения этого поста вы теперь понимаете немного больше и можете заняться преобразованием видео между форматами и немного лучше понять основной процесс. Наслаждаться!



About the author

Я компьютерный техник с более чем 10-летним опытом, в том числе 3 года в качестве 店員. У меня есть опыт работы с устройствами Apple и Android, и я особенно хорошо разбираюсь в ремонте и обновлении компьютеров. Я также люблю смотреть фильмы на своем компьютере и использовать свой iPhone для съемки фотографий и видео.



Related posts