Компьютерная программа, предназначенная для кодирования или декодирования аудио- или видеоданных

Обновлено: 21.11.2024

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

В этой статье рассматриваются только кодеки и серверные части приложений; список медиаплееров см. в разделе Список приложений/Мультимедиа (популярны MPlayer, mpv и VLC).

Содержание

Требования

Для воспроизведения мультимедийного контента требуются два компонента:

  • Многофункциональный медиаплеер.
  • Подходящий кодек

Не всегда требуется явно устанавливать кодеки, если у вас установлен медиаплеер. Например, MPlayer использует большое количество кодеков в качестве зависимостей, а также имеет встроенные кодеки.

Список кодеков

Аудио

Аудиокодеки без потерь

  • Apple Lossless (ALAC) — кодек сжатия звука без потерь, разработанный Apple и развернутый на всех ее платформах и устройствах.
  • FLAC — бесплатный аудиокодек без потерь.
  • WavPack — формат сжатия аудио без потерь, который также имеет гибридный режим с потерями.

Аудиокодеки с потерями

  1. mppenc не упакован.
  • CELT — открытый бесплатный аудиокодек с потерями, оптимизированный для низкой задержки.
  • LAME — кодировщик MP3 и графический анализатор кадров.
  • liba52 — бесплатная библиотека для декодирования потоков ATSC A/52 (Dolby Digital) (с потерями).
  • libdca — бесплатная библиотека для декодирования потоков DTS Coherent Acoustics.
  • MAD — высококачественный аудиодекодер MPEG.
  • Musepack (MPC) — аудиокодек с потерями с открытым исходным кодом, разработанный для обеспечения прозрачности.
  • opencore-amr — реализация речевого кодека Adaptive Multi Rate (AMR) с открытым исходным кодом.
  • Opus – открытый бесплатный аудиокодек с потерями, предназначенный для кодирования речи и общего аудио с малой задержкой.
  • Speex — незапатентованный формат сжатия аудио с потерями, разработанный для речи.
  • Vorbis — открытый, свободный от патентов аудиокодек с потерями.
  • FAAC — собственный кодировщик аудио AAC.
  • FAAD2 — аудиодекодер ISO AAC.
  • Fraunhofer FDK AAC — кодировщик Advanced Audio Coding (AAC) с реализацией OpenCORE Framework. Модифицированная библиотека декодера и кодировщика Fraunhofer AAC.
  • Nero AAC — аудиокодек Nero AAC эталонного качества MPEG-4 и 3GPP. (устарело)

Кодеки изображений

  • JasPer — программная реализация кодека, указанного в новом стандарте JPEG-2000, часть 1.
  • OpenJPEG — кодек JPEG 2000 с открытым исходным кодом.
  • WebP — формат изображения, использующий сжатие как с потерями, так и без потерь. В настоящее время он разрабатывается Google.
  • Формат файла изображения AV1 (AVIF) — формат изображения на основе видеокодека AV1.
  • Высокоэффективный формат файла изображения (HEIF) — формат изображения на основе видеокодека HEVC. Часто в контейнере HEIC.

Видеокодеки

Инструменты форматирования контейнера

  • MKVToolNix — набор инструментов для создания, редактирования и проверки файлов Matroska.
  • MP4Joiner — набор инструментов с графическим интерфейсом для работы с файлами MP4 (MP4Joiner, MP4Splitter).
  • OGMtools — информация, извлечение или создание медиапотоков OGG.

Бэкенды

GStreamer

GStreamer – это библиотека для построения графиков компонентов обработки мультимедиа. Поддерживаемые приложения варьируются от простого воспроизведения Ogg/Vorbis, потоковой передачи аудио/видео до сложной обработки аудио (микширование) и видео (нелинейное редактирование).

Проще говоря, GStreamer — это бэкенд или фреймворк, используемый многими мультимедийными приложениями. См. статью GStreamer.

xine — бесплатный мультимедийный проигрыватель. Он воспроизводит CD, DVD, BluRay и VCD. Он также декодирует мультимедийные файлы, такие как AVI, MOV, WMV и MP3, с локальных дисков и отображает мультимедийные потоки через Интернет.

В качестве альтернативы GStreamer многие медиаплееры можно настроить на использование серверной части xine, предоставляемой xine-lib .

Обратите внимание, что сам проект xine предоставляет полноценный видеопроигрыватель xine-ui .

libavcodec

libavcodec является частью проекта FFmpeg. Он включает в себя большое количество видео и аудио кодеков. Кодеки libavcodec включены в медиаплееры, такие как MPlayer и VLC, поэтому вам может не понадобиться устанавливать сам пакет ffmpeg.

Советы и рекомендации

Нет H264, mpg4 или Musepack (.mpc) в Totem Player

Если вы видите предупреждение "Отсутствует подключаемый модуль H264" в медиаплеере Totem, установите gst-libav .

Нет H264 в Parole Player

Если вы видите сообщение "Условно-досрочное освобождение требует H.264 decoder to play this file" предупреждение с медиаплеером Parole, установите gst-libav .

Проигрыватель Windows Media включает некоторые из самых популярных кодеков, например MP3, Windows Media Audio и Windows Media Video. Однако он не включает кодеки, необходимые для файлов дисков Blu-ray, файлов FLAC или файлов FLV. Если что-то не работает в проигрывателе Windows Media, возможно, на вашем ПК нет нужного кодека. Самый простой способ решить эту проблему — выйти в Интернет и найти нужный кодек.

Примечание. Не все проблемы с воспроизведением в проигрывателе Windows Media связаны с кодеками. Если ваша проблема связана с кодеком, вы, вероятно, получите сообщение вроде «Для воспроизведения этого файла требуется кодек» или «Проигрыватель Windows Media обнаружил ошибку». В этой ситуации следуйте инструкциям, чтобы узнать больше об отсутствующих кодеках. Если выяснится, что проблема не в кодеке, см. раздел Устранение неполадок со звуком в Windows Media Center, чтобы получить справку по устранению проблем со звуком и общим проблемам с воспроизведением.

Вот ответы на некоторые распространенные вопросы о кодеках.

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

Кодек сжимает или распаковывает мультимедийные файлы, такие как песни или видео. Проигрыватель Windows Media и другие приложения используют кодеки для воспроизведения и создания медиафайлов.

Кодек может состоять из двух частей: кодировщик, который сжимает файл мультимедиа (кодирование), и декодер, который распаковывает файл (декодирование). Некоторые кодеки включают обе части, а другие кодеки включают только одну из них.

В меню "Справка" проигрывателя Windows Media выберите "О проигрывателе Windows Media". Если меню «Справка» не отображается, выберите «Упорядочить» > «Макет» > «Показать строку меню».

В диалоговом окне «О проигрывателе Windows Media» выберите «Информация о технической поддержке». Ваш веб-браузер откроет страницу, содержащую много подробной информации о соответствующих двоичных файлах, кодеках, фильтрах, подключаемых модулях и службах, установленных на вашем ПК. Эта информация должна помочь вам в устранении неполадок.

Сегодня используются сотни аудио- и видеокодеков. Некоторые из них были созданы Microsoft, но подавляющее большинство кодеков было создано другими компаниями, организациями и отдельными лицами. По умолчанию операционная система Windows и проигрыватель включают ряд наиболее популярных кодеков, таких как Windows Media Audio, Windows Media Video и MP3.

Однако могут возникнуть ситуации, когда вы захотите воспроизвести контент, сжатый с помощью кодека, который Windows или проигрыватель не включают по умолчанию. Во многих случаях вы можете скачать необходимый кодек из Интернета бесплатно или за плату. А в некоторых случаях проигрыватель может автоматически использовать кодеки, установленные другими программами воспроизведения и создания цифровых мультимедиа на вашем компьютере.

В этой ситуации вы, вероятно, пытаетесь воспроизвести, записать или синхронизировать файл, сжатый с помощью кодека, который Windows или проигрыватель не включают по умолчанию.

Если вы знаете название кодека или его идентификатор (известный как идентификатор FourCC для видеокодеков или идентификатор WaveFormat для аудиокодеков), попробуйте поискать его в Интернете. Часто можно зайти на веб-сайт производителя кодека, чтобы загрузить самую последнюю версию кодека. Если вы не знаете имя или идентификатор отсутствующего кодека, см. статью Как узнать, какой кодек использовался для сжатия файла и в каком формате находится файл?

Будьте осторожны при установке кодеков, найденных в Интернете, особенно некоторых бесплатных пакетов кодеков, в которых заявлено, что они включают кодеки от самых разных компаний и организаций. Известны проблемы совместимости с некоторыми компонентами этих пакетов кодеков, которые могут вызвать серьезные проблемы с воспроизведением в проигрывателе Windows Media и других проигрывателях, привести к повреждению системы и затруднить для службы поддержки Майкрософт диагностику и устранение проблем с воспроизведением.

Поэтому мы настоятельно не рекомендуем вам устанавливать эти пакеты кодеков и рекомендуем удалить их, если вы установили их и у вас возникли проблемы с проигрывателем. Устанавливайте кодеки, фильтры и плагины только из проверенных источников, например, с официального сайта провайдера. Даже в этом случае соблюдайте осторожность: некоторые поставщики кодеков предлагают минимальную поддержку клиентов. Перед установкой каких-либо компонентов цифрового мультимедиа настройте точку восстановления системы. Это позволяет при необходимости вернуться к исходной конфигурации системы.

Невозможно с абсолютной уверенностью определить, какой кодек использовался для сжатия файла, но лучше всего подойдут следующие варианты:

Чтобы определить, какой кодек использовался с конкретным файлом, по возможности воспроизведите этот файл в проигрывателе. Во время воспроизведения файла щелкните файл правой кнопкой мыши в библиотеке и выберите «Свойства». На вкладке "Файл" просмотрите разделы "Аудиокодек" и "Видеокодек".

Используйте средство идентификации кодеков стороннего производителя. Чтобы найти его, выполните поиск в Интернете по запросу «инструмент идентификации кодека». Вы найдете несколько инструментов, а также полезную связанную информацию.

Вы можете определить формат файла по расширению имени файла (например, .wma, .wmv, .mp3 или .avi).Однако у этого подхода есть ограничения. Многие программы создают файлы с пользовательскими расширениями. И любой может переименовать файл без изменения формата файла. Например, файл с расширением .mpg или .dvr-ms обычно представляет собой просто файл AVI, сжатый с использованием какой-либо версии видеокодека MPEG.

Декодер DVD — это другое название декодера MPEG-2. Содержимое дисков DVD-Video закодировано в формате MPEG-2, как и содержимое файлов DVR-MS (телешоу, записанных Microsoft) и некоторых файлов AVI. Чтобы воспроизвести эти элементы в проигрывателе, на вашем компьютере должен быть установлен совместимый декодер DVD.

Если на вашем компьютере есть дисковод DVD, возможно, на нем уже установлен декодер DVD. Однако если вы получили сообщение об ошибке, указывающее на отсутствие совместимого декодера DVD, нажмите кнопку "Интернет-справка" в диалоговом окне сообщения об ошибке, чтобы узнать, как его получить.

Это может произойти, если на вашем рабочем компьютере не установлены те же кодеки, что и на домашнем компьютере.

Например, если вы пытаетесь воспроизвести диск DVD-Video или файл DVR-MS на своем компьютере на работе, и на этом компьютере не установлен декодер DVD, вы не сможете воспроизводить этот элемент до тех пор, пока на рабочем компьютере не будет установлен совместимый декодер DVD.

Имейте в виду, что ваш системный администратор на работе может использовать групповую политику, чтобы запретить вам устанавливать новые кодеки.

Кодеки могут быть написаны для 32-разрядных или 64-разрядных операционных систем. Если вы используете 64-разрядную версию Windows, вам необходимо установить 64-разрядные кодеки. Например, если вы устанавливаете 32-разрядный кодек в 64-разрядной операционной системе, проигрыватель может не воспроизводить файлы, для которых требуется этот кодек.

Обратите внимание, что многие старые кодеки доступны только в 32-разрядных версиях. Если поставщик кодека не указывает, является ли его кодек 32-разрядным или 64-разрядным, кодек, скорее всего, будет 32-разрядным. Для получения дополнительной информации обратитесь к поставщику кодека.

Возможно, вы захотите попробовать приложение Microsoft Movies & TV в качестве альтернативы проигрывателю Windows Media. Чтобы получить это, введите Microsoft Store в поле поиска на панели задач, найдите "Кино и ТВ" и прокрутите вниз до раздела "Приложения" в результатах поиска.

Интересно, что такое кодирование видео и почему оно важно?

В этой статье мы рассмотрим процесс кодирования, кодеки и методы сжатия. Это включает в себя то, что делает для рекомендуемого кодека, хотя зависит от ситуации. Он также объясняет, почему в вашем видео могут появляться определенные артефакты, связанные со сжатием. В результате вы лучше поймете этот процесс и то, как он связан с потоковой передачей с адаптивным битрейтом.

Что такое кодирование видео?

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

Почему важно кодирование?

Теперь есть две причины, почему кодирование видео важно. Во-первых, особенно в том, что касается потоковой передачи, это упрощает передачу видео через Интернет. Это связано с тем, что сжатие снижает требуемую пропускную способность, но в то же время обеспечивает высокое качество воспроизведения. Без сжатия необработанный видеоконтент лишил бы многих возможности потоковой передачи контента через Интернет из-за недостаточной скорости соединения. Важным аспектом является скорость передачи данных или количество данных в секунду в видео. Для потоковой передачи это будет определять, смогут ли они легко смотреть контент или они будут зависать в буферизации видео.

Вторая причина кодирования видео – совместимость. На самом деле, иногда контент уже сжат до нужного размера, но его еще нужно закодировать для совместимости, хотя это часто и более точно называется транскодированием. Совместимость может относиться к определенным службам или программам, которые требуют определенных спецификаций кодирования. Это также может включать повышение совместимости для воспроизведения с аудиторией.

Процесс кодирования видео определяется видеокодеками или стандартами сжатия видео.

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

Видеокодеки — это стандарты сжатия видео, реализуемые с помощью программных или аппаратных приложений. Каждый кодек состоит из кодера для сжатия видео и декодера для воссоздания примерного видео для воспроизведения.Название кодек на самом деле происходит от слияния этих двух понятий в одно слово: enCOder и DECoder.

Примеры видеокодеков включают H.264, VP8, RV40 и многие другие стандарты или более поздние версии этих кодеков, например VP9. Хотя эти стандарты привязаны к видеопотоку, видео часто объединяется с аудиопотоком, который может иметь собственный стандарт сжатия. Примеры стандартов сжатия звука, часто называемых аудиокодеками, включают LAME/MP3, Fraunhofer FDK AAC, FLAC и другие.

Эти кодеки не следует путать с контейнерами, которые используются для инкапсуляции всего. MKV (Matroska Video), MOV (сокращение от MOVie), AVI (Audio Video Interleave) и другие типы файлов являются примерами этих форматов контейнеров. Эти контейнеры не определяют, как кодировать и декодировать видеоданные. Вместо этого они хранят байты кодека таким образом, чтобы совместимые приложения могли воспроизводить контент. Кроме того, эти контейнеры хранят не только видео- и аудиоинформацию, но и метаданные. Однако это может сбивать с толку, поскольку некоторые аудиокодеки имеют те же имена, что и файловые контейнеры, например FLAC.

Какой лучший видеокодек?

Это сложный вопрос, на который нельзя ответить напрямую без дополнительной информации. Причина в том, что в определенных областях лучше всего подходят разные видеокодеки.

Для потоковой передачи высококачественного видео через Интернет кодек H.264 стал распространенным кодеком, на который, по оценкам, приходится большая часть мультимедийного трафика. Кодек имеет репутацию превосходного качества, скорости кодирования и эффективности сжатия, хотя и не так эффективен, как более поздний стандарт сжатия HEVC (High Efficiency Video Coding, также известный как H.265). H.264 также может поддерживать потоковое видео 4K, что было довольно перспективным для кодека, созданного в 2003 году.

Однако, как уже отмечалось, в HEVC уже доступен более продвинутый стандарт сжатия видео. Этот кодек более эффективен при сжатии, что позволит большему количеству людей смотреть видео высокого качества при более медленном соединении. И не один. В 2009 году Google купил On2, предоставив им контроль над кодеком VP8. Хотя этот кодек не смог покорить мир, он был улучшен, и был выпущен новый кодек, получивший название VP9. Netflix протестировал эти более поздние форматы по сравнению с H.264, используя 5000 12-секундных клипов из своего каталога. Из этого они обнаружили, что оба кодека смогли уменьшить размер битрейта на 50% и по-прежнему достигать качества, аналогичного H.264. Из двух вариантов HEVC превзошел VP9 по многим разрешениям и показателям качества. Исключение составляло разрешение 1080p, которое либо было близко, либо в некоторых сценариях VP9 был более эффективным.

Разве эти тесты не сделают HEVC лучшим кодеком? Хотя технически он превосходит H.264, он упускает из виду ключевое преимущество старого кодека: совместимость. H.264 широко поддерживается на разных устройствах, например, только в iOS 11 в конце 2017 года iPhone могли поддерживать HEVC. В результате, несмотря на то, что формат H.264 не такой продвинутый, во многих случаях он по-прежнему предпочтительнее, поскольку позволяет охватить более широкую аудиторию для воспроизведения.

Обратите внимание, что кодек H.264 также иногда называют X.264. Однако это не тот же кодек, а фактически бесплатный эквивалент кодека по сравнению с лицензионной реализацией H.264.

Какой лучший аудиокодек?

Как и в случае с видео, разные аудиокодеки превосходны в разных вещах. AAC (Advanced Audio Coding) и MP3 (MPEG-1 Audio Layer 3) — это два формата с потерями, широко известные среди аудио- и видеоэнтузиастов. Учитывая, что они с потерями, эти форматы, по сути, удаляют информацию, относящуюся к аудио, чтобы сжать необходимое пространство. Задача этого сжатия — найти правильный баланс, при котором сохраняется достаточно места без заметного ухудшения качества звука.

Оба этих метода кодирования звука существуют уже некоторое время. Первоначально MP3 появился на сцене в 1993 году, подняв шумиху вокруг уменьшения размера аудиофайла до 10% по сравнению со стандартами без сжатия в то время, в то время как AAC был впервые выпущен в 1997 году. Будучи более поздним форматом, неудивительно, что AAC более эффективен при сжатии качества звука. Хотя точная степень этого заявления обсуждалась, даже создатели формата MP3, Институт интегральных схем Фраунгофера, объявили AAC «стандартом де-факто для загрузки музыки и видео на мобильные телефоны». срок действия некоторых из их патентов на MP3 истек (а также привел к причудливому количеству историй о том, что MP3 теперь мертв, что маловероятно). Таким образом, хотя MP3 и по сей день имеет гораздо большую совместимость с устройствами, AAC выигрывает от превосходного сжатия и является предпочтительным методом для потоковой передачи видеоконтента из двух.Не только это, но и большая часть доставки через мобильные устройства, когда речь идет о видео, зависит от аудио в формате AAC. Примером этого являются предложения IBM для потоковой передачи видео и корпоративной потоковой передачи видео, хотя при необходимости они могут перекодировать звук для соответствия этим спецификациям.

Теперь AAC и MP3 — далеко не единственные форматы цифрового аудио. Есть много других примеров, как с потерями, как WMA (Windows Media Audio), так и без потерь, как APAC (Apple Lossless Audio Codec). Одним из таких форматов является FLAC (бесплатный аудиокодек без потерь), то есть без потерь. Это означает, что исходные аудиоданные могут быть идеально восстановлены из сжатых данных. Хотя размер звуковой дорожки меньше, чем WAV (формат аудиофайла Waveform), несжатый формат, он по-прежнему требует значительно больше данных для аудиопотока по сравнению с форматами с потерями, такими как AAC и MP3. В результате, хотя на физических носителях, таких как Blu-ray, можно увидеть файлы без потерь, они менее распространены для потоковой передачи, где важен размер.

Каковы рекомендуемые кодеки?

Что касается совместимости, H.264 и AAC широко используются, предложения IBM для потоковой передачи видео и корпоративной потоковой передачи видео поддерживают как видеокодек H.264, так и аудиокодек AAC для потоковой передачи. Хотя ни один из них не является передовым, оба могут создавать высококачественный контент с хорошим сжатием. Кроме того, видеоконтент, сжатый с помощью этих кодеков, может охватывать большую аудиторию, особенно на мобильных устройствах.

Методы сжатия

Теперь, когда мы немного рассмотрели кодеки, давайте рассмотрим несколько методов сжатия. Эти методы используются кодеками для разумного уменьшения размера видеоконтента. Цель состоит в том, чтобы сделать это без значительного влияния на качество видео. Тем не менее, некоторые приемы более заметны конечному зрителю, чем другие.

Изменение размера изображения

Распространенный метод сжатия — изменение размера или уменьшение разрешения. Это связано с тем, что чем выше разрешение видео, тем больше информации содержится в каждом кадре. Например, видео с разрешением 1280×720 потенциально может иметь 921 600 пикселей в каждом кадре, при условии, что это i-кадр (подробнее об этом чуть позже). Напротив, видео с разрешением 640 x 360 может иметь разрешение 230 400 пикселей на кадр.

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

Артефактом изменения размера может быть появление «пикселизации». Иногда это называют макроблокировкой, хотя обычно она более выражена, чем простая пикселизация. В общем, это явление, когда части изображения выглядят блочными. Это может быть комбинация изображения с низким разрешением и промежуточного кадра, когда детали видео на самом деле изменяются, но области видео как часть межкадрового процесса сохраняются. Несмотря на то, что это уменьшает объем данных, необходимых для видео, это происходит за счет снижения качества видео.

Обратите внимание, что этот процесс изменения размера иногда также называют масштабированием. Однако масштабирование иногда принимает несжатое значение. Например, иногда это используется для описания изображения того же размера и представления его в меньшем виде. В этих сценариях количество пикселей не меняется, поэтому сжатие не применяется.

Интеркадр и видеокадры

Одним из методов сжатия видео, который может быть реализован не так широко, является межкадровое сжатие. Это процесс, который уменьшает «избыточную» информацию от кадра к кадру. Например, видео с FPS (кадров в секунду) 30 означает, что одна секунда видео равна 30 кадрам или неподвижным изображениям. При совместной игре они имитируют движение. Однако есть вероятность, что элементы от кадра к кадру в пределах этих 30 кадров (называемых GOP, группа изображений) останутся практически одинаковыми. Понимая это, для удаления избыточных данных был введен интеркадр. Существенное сокращение данных, которые будут использоваться для подтверждения того, что элемент не изменился между кадрами.

Чтобы лучше понять эту концепцию, давайте визуализируем ее.

Вот неподвижное изображение волейбольного мяча, в который бросают шипы. В этом примере довольно много движения: волейбольный мяч подбрасывается вверх, мяч протыкается, песок летит, а элементы, движущиеся от ветра, такие как деревья и вода. Несмотря на это, есть части, которые можно использовать повторно, особенно участки неба. Они видны в заблокированной области, так как эти элементы не меняются.Таким образом, вместо того, чтобы тратить ценные данные, чтобы показать, что части неба не изменились, они просто повторно используются для экономии места. В результате между кадрами в этой серии фактически меняется только нижний элемент видео.

Этот метод, встроенный в видеокодеки, такие как H.264, объясняет, почему видео с большим количеством движения занимают больше данных или выглядят хуже при сильном сжатии. Для выполнения этого метода в процессе используются три различных типа кадров: i-кадры, p-кадры и b-кадры.

I-кадр
Также известный как ключевой кадр, это полнокадровое изображение видео. Частота появления i-frame зависит от того, как он был закодирован. Кодировщики, такие как Telestream Wirecast и vMix, позволят вам выбрать интервал ключевого кадра. Это заметит, как часто будет создаваться i-frame. Чем чаще создается i-frame, тем больше места для этого требуется. Тем не менее, периодическая передача i-кадров каждые 2 секунды имеет свои преимущества. Наиболее существенный из них связан с адаптивной потоковой передачей, которая может изменять только настройки качества для i-кадра.

P-кадр
Сокращенно от предиктивного кадра, это дельта-кадр, который содержит только часть изображения. Он будет смотреть назад на i-кадр или другой p-кадр, чтобы увидеть, совпадает ли часть изображения. В этом случае эта часть будет исключена для экономии места.

B-кадр
Сокращение от двунаправленного прогнозирующего кадра. Это дельта-кадр, который также содержит только часть изображения. Однако разница между этим и p-кадром заключается в том, что он может смотреть назад или вперед в поисках других дельта-кадров или i-кадров при выборе деталей, которые следует опустить, поскольку они существуют в другом кадре. В результате b-кадры обеспечивают улучшенное сжатие, не отвлекая от просмотра. Однако для них требуется более высокий профиль кодирования.

Подробнее обо всем этом процессе читайте в нашей статье "Ключевые кадры, InterFrame и сжатие видео".

Подвыборка цветности

Вы когда-нибудь видели градиент (когда цвета медленно переходят от одного к другому), который выглядел резко и неестественно? Это может быть результатом уменьшения количества цветов в изображении.

Как и следовало ожидать, чем больше информации о цвете требуется для представления изображения, тем больше места оно займет. В результате одним из способов сжатия данных для видео является отбрасывание части этой информации о цвете. Это процесс, называемый субдискретизацией цветности. Основная идея заключается в том, что человеческому глазу гораздо легче обнаружить различия в яркости, чем информацию о цветности. В результате он пытается сохранить яркость, просто жертвуя качеством цвета.

В двух словах это достигается путем преобразования спектра RGB (красный, зеленый, синий) в YCBCR. При этом яркость отделяется (обозначается буквой «Y») и может передаваться без сжатия. Между тем, информация о цветности содержится в CBCR, и ее можно уменьшить для экономии места. Это сложный процесс для описания, но, по сути, думайте о «Y» как о версии изображения в градациях серого. Это перекрывается с «версией» CB, которая будет содержать оттенки желтого и синего, и «версией» CR, которая будет содержать оттенки зеленого и красного. .

Сложите все эти элементы вместе, и у вас получится законченное цветное изображение.

Когда дело доходит до сжатия, обычно это похоже на 4:2:2 по сравнению с несжатой версией 4:4:4. В последнем примере субдискретизация цветности не применялась, и все они имеют одинаковую частоту дискретизации, поэтому сжатие не применяется. Теперь каждое из чисел соответствует площади YCBCR. Таким образом, 4:2:2 означает, что версия в оттенках серого (Y) не сжимается, так как она по-прежнему равна 4, а CB и CR уменьшаются до 2. поэтому они имеют половину частоты дискретизации в качестве яркости. В результате требуемая пропускная способность снижается на 33% ([4+2+2] / [4+4+4] = 66% данных по сравнению с исходным). Существуют и другие варианты, например 4:1:1, что еще больше снижает полосу пропускания, и 4:2:0, который фактически чередует CB и CR по горизонтали. строки для сжатия.

Изменение частоты кадров

Еще один способ сжатия видео — уменьшение количества кадров в секунду. Это уменьшает объем данных, которые потребуются для видео, поскольку для передачи каждой секунды требуется меньше информации. Однако это может быть немного более разрушительным, чем другие методы, поскольку слишком сильное снижение частоты кадров приведет к тому, что в видео не будет плавного движения.

Обзор

Теперь нужно знать основы кодирования и зачем это делается. Они также должны знать, как сжимается контент, не влияя при этом на воспринимаемое качество. Действия могут включать использование рекомендуемых кодеков и настройку нескольких элементов, которые лучше подходят для вашего метода распространения. Примером последнего может быть интервал между ключевыми кадрами в 2 секунды, чтобы помнить об адаптивной потоковой передаче.

Готовы перейти к следующему шагу? Если это так, обязательно ознакомьтесь с электронной книгой «Полное руководство по корпоративному видео», чтобы понять, что может сделать для вас корпоративное видео, как быстро оно растет и какие требования делают его гибким и экономичным.

Без видеокодеков никогда не было бы придумано «Netflix и охлаждение». Эти инструменты сжатия, состоящие из двух частей, позволяют дистрибьюторам сжимать видеофайл для доставки через Интернет с помощью процесса, называемого кодированием видео. Благодаря кодекам мы можем так легко проводить деловые встречи в Zoom и смотреть телепередачи на наших телефонах — даже при ограниченной пропускной способности.

Благодаря кодекам Netflix удается передавать более 404 000 часов контента каждую минуту. А чтобы направлять эти потоки на различные устройства, с которых настраиваются конечные пользователи, Netflix должен использовать как новые, так и проверенные временем кодеки.

Что включает в себя кодирование видео и как работают видеокодеки? Мы углубимся ниже и рассмотрим наш список лучших видеокодеков для потоковой передачи.

Содержание

Что такое кодирование видео?

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

Кодирование может выполняться в браузере или мобильном приложении, на IP-камере, с помощью программного обеспечения или автономного устройства. Популярные варианты программного обеспечения включают Vmix, Wirecast и бесплатную OBS Studio.

Чтобы сжать необработанное видео до более удобного размера, кодировщики используют видео- и аудиокодеки, которые применяют алгоритмы для сжатия объемного видео для доставки. Проще говоря: кодирование описывает процесс сжатия, тогда как кодеки описывают средства для этого.

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

Распространители контента используют технологию сжатия видео, называемую кодеком, для сжатия видео до размера, пригодного для потоковой передачи. Кодеки позволяют нам сильно сжимать объемные потоки для доставки и хранения.

Буквально «кодер-декодер» или «компрессор-декомпрессор». Кодеки применяют алгоритмы к видео и создают его факсимиле. Когда дело доходит до потоковой передачи, кодеки используют сжатие с потерями, отбрасывая ненужные данные. Видео сокращается для хранения и передачи, а затем распаковывается для просмотра.

Потоковая передача требует использования как аудио-, так и видеокодеков. H.264, также известный как AVC (Advanced Video Coding), является наиболее распространенным видеокодеком; AAC (Advanced Audio Coding) — наиболее распространенный аудиокодек.

Но подождите, почему H.264 также обозначается AVC? И как нам разобраться в таком количестве запутанных аббревиатур? Эксперт по потоковым кодекам Ян Озер объясняет это так:

«H.264/AVC и H.265/HEVC имеют два названия, поскольку каждый кодек был стандартизирован как MPEG, так и Международным союзом электросвязи (ITU). Универсальное кодирование видео, или VVC, также является H.266 по той же причине».

Для ясности я буду включать оба названия при первом упоминании каждого кодека в подразделах этой статьи.

Что такое формат видеоконтейнера?

После сжатия компоненты потока упаковываются в оболочку или формат файла. Эти файлы содержат аудиокодек, видеокодек, скрытые субтитры и любые связанные метаданные. Общие контейнеры включают .mp4, .mov, .ts и .wmv.

Контейнеры часто могут вводить несколько типов кодеков. Тем не менее, не все платформы воспроизведения принимают все контейнеры и кодеки. Вот почему многоформатное кодирование имеет решающее значение при потоковой передаче на широкий спектр устройств.

Например: файлы .mov и файлы .wmv могут содержать одни и те же данные и кодеки. Но файл .mov будет использоваться для воспроизведения в проигрывателе Macbook QuickTime, а файл .wmv будет использоваться для воспроизведения в проигрывателе Windows Media на ПК.

Подпишитесь и будьте в курсе

Подробнее о кодеках и протоколах, последних тенденциях в области потокового вещания и многом другом.

Видеокодеки и контейнеры: в чем разница?

Кодек воздействует на видео как в источнике для его сжатия, так и перед воспроизведением для его распаковки.Это делается с помощью сжатия с потерями, при котором все ненужные данные отбрасываются.

Сжатие с потерями во многом похоже на Wonkavision в «Чарли и шоколадной фабрике». Это позволяет уменьшить размер большой коллекции данных для переноса на экран:

С другой стороны, формат видеоконтейнера хранит видеокодек, аудиокодек и метаданные, такие как субтитры или изображения для предварительного просмотра. Контейнер объединяет все компоненты и определяет, какие программы могут принимать поток.

Лучшие видеокодеки для потоковой передачи

Доставка видео через Интернет на различные устройства начинается с кодирования с помощью различных кодеков. Кодеки нового поколения повышают эффективность и качество кодирования, а устаревшие кодеки позволяют воспроизводить файлы на устаревших компьютерах.

Возьмите это у крупнейшего дистрибьютора потокового видео: Netflix.

«Netflix говорит, что использует обширный набор кодеков, которые можно использовать для потоковой передачи совместимых форматов на устройства отображения. Хотя Netflix постоянно добавляет новые и улучшенные кодеки, он никогда не отказывался от них — он продолжает поддерживать кодек VC1, с которого начал работу в первом потоковом устройстве Netflix — проигрывателе LG Blu-ray 10-летней давности».

< /цитата>

Приведенный ниже список видеокодеков включает как старые, так и новые кодеки. Хотя лидеры отрасли продолжают совершенствовать и разрабатывать новейшие инструменты сжатия, они также используют более старые кодеки, такие как H.264/AVC, для доставки на устаревшие устройства.

Для просмотра этого видео включите JavaScript и рассмотрите возможность перехода на веб-браузер, поддерживающий видео в формате HTML5

Давайте рассмотрим наиболее распространенные технологии кодирования в 2021 году.

H.264/AVC

Большая часть выходных кодированных данных сегодня представлена ​​в виде файлов H.264, также называемых AVC (Advanced Video Coding). Этот широко поддерживаемый кодек был разработан Международным союзом электросвязи и Группой экспертов по движущимся изображениям Международной организации по стандартизации/Международной электротехнической комиссии (ISO/IEC) — вау, какая прелесть.

H.264 также широко распространен на рынках, не связанных с потоковой передачей, таких как диски Blu-ray и кабельное вещание. Он часто используется вместе с аудиокодеком AAC и может быть упакован в контейнеры .mp4, .mov, .F4v, .3GP и .ts.

H.264 воспроизводится практически на любом устройстве, обеспечивает высокое качество видеопотоков и позволяет минимизировать лицензионные отчисления. Это не значит, что это не приносит гонораров, просто издатели контента знают, чего ожидать — что не всегда так. Из-за широкой поддержки устройств H.264 остается наиболее часто используемым вариантом. В отчете Bitmovin для разработчиков видео за 2020 год колоссальный 91% опрошенных указали, что они его используют.

Источник: Отчет разработчиков видео Bitmovin за 2020 г.

Тем не менее, хотя стандарт H.264 прекрасно работает на всех основных рынках потребления видео (браузеры, мобильные устройства, Smart TV), он не подходит для видео 4K или контента с расширенным динамическим диапазоном (HDR).

Скорее всего, H.264, как самый быстрый кодек, описанный в этом блоге, лучше подходит для потоковой передачи с малой задержкой, чем для доставки видео 8K. Ян Озер из Streaming Media объясняет:

H.264 также является старейшим форматом кодирования видео в этом списке. Многие предсказывали, что к настоящему времени он устарел. Но если учесть его вычислительную мощность и стоимость, H.264 трудно превзойти. Кроме того, количество устройств, которые могут кодировать и декодировать H.264, не может быть больше, включая IP-камеры, телевизионные приставки, мобильные устройства и устройства с низким энергопотреблением.

TL;DR

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

Компания Google разработала VP9 как бесплатную альтернативу H.265 с открытым исходным кодом. Принадлежащая Google платформа YouTube и браузер Chrome поддерживают VP9, ​​а также все телефоны Android, Mozilla Firefox, Apple Safari и все новые устройства iOS. Этот кодек также используется во многих рабочих процессах WebRTC: более 90% видео WebRTC, закодированного в Chrome, используют VP9 или его предшественник VP8.

VP9 был выпущен в 2013 году, что делает его средним по возрасту. Тем не менее, это лучший вариант, чем большинство по нескольким причинам. Во-первых, VP9 работает примерно так же, как H.265/HEVC. Это делает его хорошо подходящим для видео 4K, особенно при публикации на YouTube.

Кроме того, VP9 уступает только H.264/AVC с точки зрения совместимости между браузерами и устройствами. Его поддерживают Samsung, Sony, LG, Roku и многие другие известные имена. Кроме того, внедрение кодека Google в YouTube и его использование Netflix для некоторого контента будут и впредь поддерживать эту тенденцию.

Воспринимайте VP9 как AV0 или более раннюю версию AV1.Оба имеют открытый исходный код, и оба утверждают, что не требуют авторских отчислений (хотя в этом есть некоторые сомнения). На данный момент VP9 также является лучшей альтернативой AV1, поскольку его поддерживает больше устройств.

Хотя мы поместили VP9 на второе место в этом списке, он идет рука об руку с H.265/HEVC, о котором мы поговорим далее.

TL; ДР

VP9 — это более продвинутая и качественная технология сжатия, чем H.264/AVC, которая имеет большую совместимость, чем многие из ее альтернатив, и хорошо работает для потоковой передачи 4K.

H.265/HEVC

Экспертная группа по движущимся изображениям ISO/IEV разработала H.265 в качестве преемника H.264. Этот кодек, также называемый HEVC (High Efficiency Video Coding), направлен на повышение эффективности сжатия и поддержку разрешения 8K. Он создает файлы меньшего размера, чем H.264, что снижает пропускную способность, необходимую для просмотра этих потоков. Это делает его идеальным кодеком для потоковой передачи с высоким разрешением.

Тем не менее, только около 10 % закодированных файлов имеют формат H.265. Неопределенность в отношении гонораров задушила усыновление. В частности, распространители контента недовольны отсутствием прозрачности в отношении того, сколько им придется платить за использование этого кодека.

Драма с патентами и лицензионными отчислениями вокруг H.265 напрямую привела к разработке кодека AV1 (о котором мы расскажем далее) Alliance for Open Media, а также к его несовместимости с воспроизведением в браузере. Почему? Лидеры отрасли, такие как Google, Microsoft и Mozilla, не были заинтересованы в добавлении поддержки дорогостоящего кодека в Chrome, Edge и Firefox. В результате только около 18,08 % браузеров принимают видео в формате H.265.

Единственное место, где H.265 остается лучшим вариантом, чем VP9 или H.264, — это доставка видео 4K и HDR на устройства в гостиной, поскольку они почти повсеместно поддерживаются на Smart TV.

TL;DR

Если вы доставляете OTT-контент премиум-класса на устройства в гостиной, лучшим выбором будет H.265, но будьте готовы платить лицензионные платежи.

Недовольные лицензионными отчислениями, связанными с H.265, Amazon, Netflix, Google, Microsoft, Cisco и Mozilla сформировали Alliance for Open Media. Цель? Создайте бесплатную альтернативу с открытым исходным кодом под названием AV1.

Несмотря на то, что работа над кодеком завершена, эта инициатива по демократизации доставки и воспроизведения высококачественного видео все еще находится в стадии реализации.

По словам Джонатана Розенберга, технического директора группы технологий для совместной работы в Cisco, «создание передового бесплатного видеокодека имеет первостепенное значение для постоянного успеха продуктов и услуг для совместной работы. Вот почему Cisco присоединилась к AOMedia в качестве члена-основателя и почему Cisco вложила средства в то, чтобы сделать AV1 эффективным и доступным для интернет-сообщества».

AV1 заявляет, что он на 30 % эффективнее, чем H.265, но эти утверждения еще требуют проверки независимыми источниками. Также потребуется некоторое время, прежде чем возможности аппаратного декодирования AV1 будут интегрированы в массовом масштабе. Даже устройства Apple не поддерживают этот кодек, несмотря на то, что Apple присоединилась к Альянсу еще в январе 2018 года.

Другими словами, когда дело доходит до AV1, отрасль все еще находится в постоянном движении.

"Единственным недостатком на данный момент является то, что [AV1] просто новый", – объясняет Энн Аарон, директор по технологиям кодирования в Netflix. «H.264 — действительно хороший кодек, который разрабатывался более десяти лет, а AV1 — новый, поэтому в реализации все еще есть перегибы».

Потребуется некоторое время, прежде чем возможности аппаратного декодирования AV1 будут интегрированы в массовом масштабе. Хотя руководители Netflix, Facebook и других компаний планируют перейти на AV1, нельзя игнорировать ограничения воспроизведения. Кодек AV1 также требует длительного времени кодирования, а время — деньги. По этой причине это экономичное решение только при кодировании видео для массового потребления.

В недавнем блоге, посвященном кодеку, Ян Озер заключил: "Даже если вы работаете на YouTube, если видео не наберет несколько миллионов просмотров, увеличение стоимости кодирования вряд ли приведет к окупится за счет экономии полосы пропускания».

TL; ДР

AV1 — это новейшая и лучшая технология кодирования видео с открытым исходным кодом. Тем не менее, еще слишком рано говорить о том, как будет развиваться внедрение, и длительное время кодирования в настоящее время приводит к высоким затратам на кодирование.

H.266/VVC

Спецификация H.266/VVC (Versatile Video Coding), самая новая разработка в области сжатия видео, была завершена только в 2020 году. Хотя она предназначена для того, чтобы узурпировать H.265 и H.264, у нее те же проблемы с лицензионными отчислениями. как и его предшественники.

В 2008 году главный технический директор Beamr Дрор Гилл объяснил: "Выплачивать лицензионные платежи — это нормально, если вы знаете, сколько и когда вам нужно заплатить. С Х.264 было совершенно ясно, сколько нужно платить, все гонорары собирал один орган, и этот кодек стал самым известным в мире видеокодеком. То же самое может произойти и с VVC, если они соберутся вместе, прежде чем выпустить стандарт».

И все же ставка роялти H.266/VVC в настоящее время остается загадкой. Непредвиденные проблемы на фронте лицензирования висят в воздухе, и мы также ждем, чтобы увидеть, как сработает внедрение кодека.

Коротко говоря, эксперт по кодекам Ян Озер:

"В целом, отдельные разработчики кодеков H.266/VVC добились больших успехов в обеспечении обещанной экономии полосы пропускания, хотя окончательная производительность не будет известна, пока не будут установлены правила оплаты роялти и мы не узнаем, какие инструменты находятся в каких профилях. Кроме того, учитывая широкий спектр других действующих факторов, в настоящее время невозможно узнать, достигнет ли ВВК критической массы».

TL; ДР

Все еще зарождающаяся технология, H.264/VVC даже не будет рассматриваться большинством издателей контента как минимум до 2022 года, поскольку вокруг кодека слишком много неизвестного, чтобы делать какие-либо прогнозы.

Рекомендации по кодированию

Рекомендации по кодированию не ограничиваются выбранным вами кодеком. Вам также необходимо учитывать частоту кадров, интервал между ключевыми кадрами и битрейт.

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

Кодирование и транскодирование

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

После завершения процесса медиасервер повторно сжимает обработанный файл для доставки.

Транскодирование позволяет преобразовать видео с кодировкой H.264 в видео с кодировкой VP9 или H.265. Таким образом, ваш контент будет оптимизирован для потоковой передачи 4K конечным пользователям, а также выиграет от быстрого добавления видео.

Думайте о кодировании и перекодировании как об этапах подготовки к отпуску. Сначала вы сжимаете (кодируете) свою одежду в сумку для удобной транспортировки туда, куда направляетесь. По прибытии в пункт назначения вы распаковываете вещи, выбрасываете вещи, которые вам больше не нужны, добавляете безделушки, собранные во время путешествий, а затем снова упаковываете сумку для следующего этапа путешествия. Это транскодирование.

Доставка видео с несколькими кодеками

Вот оно. Видеокодеки — это то, что позволяет нам брать безграничный мир, снимать его кусочек через объектив нашей камеры и сжимать его для передачи через Интернет.

Поскольку существуют проприетарные кодеки и видеоконтейнеры, очень важно предоставлять зрителям несколько разных версий прямых трансляций.

К счастью, мы предлагаем программное обеспечение Wowza Streaming Engine для доставки видео с несколькими кодеками с использованием ваших собственных серверов, будь то локальные или сторонние облачные платформы. Тем, кто хочет быстро приступить к работе без каких-либо проблем, лучше подойдет сервис Wowza Streaming Cloud.

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

Читайте также: