Какие кодеки поддерживают альфа-канал

Обновлено: 21.11.2024

Кодирование HEVC в macOS Catalina теперь поддерживает кодирование альфа-канала, что открывает множество творческих возможностей в Интернете и внутри приложений.

Вторник, 15 октября 2019 г. (обновлено: четверг, 4 июня 2020 г.)

Обновление от 20 июня: кодировка HEVC напрямую поддерживается в Catalina. Для кодирования HEVC используется библиотека AVFoundation, обновленная в 2019 году с поддержкой альфа-канала. Вы можете использовать эту библиотеку непосредственно в Finder, в командной строке с помощью avconvert или через Compressor.

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

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

Как мы используем это сегодня? Нам понадобится видеокодек HEVC, преемник H264, который обеспечивает ту же производительность при 50% размера файла.

Что касается поддержки браузеров, HEVC поддерживается только в Safari на iOS 11 и macOS High Sierra. Для HEVC с альфа-каналом пользователям потребуется iOS 13 и macOS Catalina. HEVC не поддерживается в Chrome, Firefox, Opera и Edge, поэтому нам придется вернуться к VP9, ​​который поддерживает альфа-канал с 2013 года.

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

Создание композиции с альфа-каналом

Нам понадобится исходный материал с альфа-каналом. Я использую After Effects, но подойдет любой инструмент для анимации, который может экспортировать последовательность изображений. Важно использовать формат изображения, который поддерживает полностью переменные альфа-каналы, такие как TIFF или PNG.

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

Я создал простую анимацию полупрозрачного мяча, прыгающего по пути, чтобы продемонстрировать эту технику, но почти все возможно, в том числе наложение нескольких видео друг на друга или наложение видео поверх HTML-контента.

Теперь нам нужно преобразовать последовательность изображений в видео. Для большинства моих задач по кодированию видео я использую отличный FFMPEG, который позволяет создавать практически любую комбинацию кодеков и контейнеров. FFMPEG использует проект x265 с открытым исходным кодом для кодирования HEVC.

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

Кодирование HEVC с помощью Finder

Кодирование видео встроено прямо в Finder. Просто щелкните правой кнопкой мыши видеофайл и выберите «Кодировать выбранные видеофайлы».

Вы ограничены парой предустановок HEVC, но, по крайней мере, у вас есть возможность сохранить альфа-канал.

Кодирование HEVC в терминале

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

Кодирование HEVC с помощью компрессора

Для большей гибкости воспользуйтесь Compressor, дополнительным инструментом Final Cut. Среди примечаний к выпуску версии 4.4.5 вы найдете следующее:

Поддерживает воспроизведение HEVC с альфа-каналом

Кодирует HEVC с альфа-каналом в файле фильма QuickTime

Compressor не является бесплатным, но доступен отдельно от Final Cut Pro в Mac App Store.

Использовать Compressor просто, единственное, что следует отметить, это то, что вы можете создавать видео с альфа-каналом только при экспорте фильма Quicktime. Параметр сохранения альфа-канала не установлен по умолчанию, убедитесь, что вы установили его, как указано выше.

Поддержка других браузеров с помощью VP9

Мы переживаем очередную войну форматов, а Chrome и Firefox не могут воспроизводить HEVC.Но они объединили поддержку альфа-прозрачности в VP9 еще в 2013 году.

Кодировщик FFMPEG поддерживает кодирование с альфа-прозрачностью VP9. Используя кодировщик libvpx-vp9, создать видео очень просто:

Здесь нужно отметить лишь несколько моментов. Я устанавливаю частоту кадров на 60 кадров в секунду. Флаг i сообщает FFMPEG, что представляют собой входные кадры. pix_fmt устанавливает формат пикселей. Нам нужен альфа-канал, поэтому мы используем yuva420p вместо yuv420p. Наконец, знак гарантирует, что мы не добавим звуковую дорожку.

Воспроизведение в Интернете

Заключительный этап — поддержка в Интернете. Я просто накладываю это видео на шаблон фонового изображения. Код очень простой.

И при отображении в браузере это выглядит так:

Это захватывающий шаг вперед для видео в Интернете, и мне не терпится увидеть, как его будут использовать другие веб-дизайнеры. Я скоро буду использовать эту технику на Aura, как в приложении, так и на этом сайте.

Раньше я использовал QuickTime, но это больше не вариант. Я знаю, что вы можете рендерить в png. или другие форматы изображений, но видео значительно меньше, и я часто работаю на компьютерах с меньшим пространством и ресурсами.

$\begingroup$ Не могли бы вы объяснить, почему нужен формат видео? (вместо файлов изображений?) $\endgroup$

9 ответов 9

Если вы используете OSX, вы можете воспользоваться поддержкой Quicktime:

  • Выбор любого видеоформата на панели вывода.
  • На панели "Кодировка" измените формат на Quicktime и выберите кодек, поддерживающий альфа-канал (например, HuffYUV).

$\begingroup$ @WChargin Действительно так. Пользовательский интерфейс вводит в заблуждение и может внести ряд изменений. $\endgroup$

$\begingroup$ @Aldrik, если пользовательский интерфейс не отображает RGBA, когда должен, об этом можно сообщить как об ошибке. $\endgroup$

$\begingroup$ Важное примечание: выбранное решение подходит для старой версии Blender (2.79), оно может отличаться для версии 2.8x $\endgroup$

Можно рассмотреть возможность использования двух файлов: плоского видео и видео с альфа-маской.

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

Для достижения прозрачности в Adobe After Effects вам необходимо установить альфа-видео в качестве другого параметра TrkMat.

$\begingroup$ Это креативно; Мне нравится это. Как сделать это отдельно в блендере? Это просто альфа-проход в композиторе? $\endgroup$

$\begingroup$ @Вильгельм да. В компоновщике с установленным флажком «Использовать узлы» отключите лапшу «Изображение»> «Изображение» и замените ее на «Альфа»> «Изображение». См. этот пример. $\endgroup$

$\begingroup$ Я столкнулся с неприятным дрожанием, когда камера быстро движется, альфа-канал ведет себя как желе $\endgroup$

$\begingroup$ Я не думаю, что это сработает, если ваше видео рендерится как текстура, так как нет возможности добавить маску. Ему просто нужен альфа-канал. $\endgroup$

Существуют версии ProRes, которые поддерживают альфа-каналы: ProRes4444 и версии кодеков DNxHD и DNxHR с высоким битрейтом. Но вы не можете кодировать их напрямую из блендера. Вам понадобится внешний кодировщик или ffmpeg

Если вам подходит файл .mov, вот настройки для получения прозрачного фона (альфа-канал) вывода видео из Blender.

Только что попробовал это с Blender 2.80 RC1, и вы можете использовать quicktime RLE (вам не нужна Mac OS X, это работает и в Linux, так что все ОС)

Использовать эти настройки в видео:

Это настройки по умолчанию. Кажется, он работает и со сжатием.

Я изучал это. Хотя Huff — отличный формат без потерь, он без потерь. Судя по моим экспериментам, QT rle/QT Animation работает отлично. Кажется, что на него не влияют настройки сжатия, но он использует около 10% размера файла HuffYUV.

$\begingroup$ Я могу подтвердить, что и huff, и QT работают (и на ПК с Windoez). Huff несжатый и огромный. версия qt rle сжата, но вы, похоже, не можете найти способ изменить скорость. До сих пор это были единственные достойные варианты. Я сам попробовал несколько, но это было единственное плодотворное решение. Первые дни. $\endgroup$

$\begingroup$ Я искал, понял ли кто-нибудь это: кодировка QT фиксируется в ее битрейте. Я думаю, это ошибка. $\endgroup$

Нет форматов сжатого видео, поддерживаемых (напрямую) Blender, которые также поддерживают альфа-канал и высокую степень сжатия — HuffYUV, QuickTimeRLE поддерживают альфа-канал, но все равно будут создавать большие файлы).

Как отмечено в другом ответе, OSX может использовать QuickTime, поэтому, если вы используете OSX, см. ответ @avvi.

Поскольку вопрошающий упоминает размер файла.

Хотя это и не формат видео, но JPEG2000 представляет собой сжатый формат изображения, поддерживающий альфа-канал.

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

В этом руководстве мы говорим об альфа-каналах! Для видеоредактора понимание того, как и когда использовать альфа-каналы, может дать значительное преимущество при создании высококачественного видео. Вот чему вы здесь научитесь. Если вы хотите попрактиковаться, посетите Storyblocks для поиска стокового видео и графики с альфа-каналом.

Что такое альфа-канал?

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

В зависимости от используемой вами программы редактирования может быть возможность работать с файлом проекта, чтобы избежать экспорта и включения альфа-каналов (например, создание файлов .MOGRT в After Effects для использования в Premiere Pro, как показано в этом руководстве). .) В рамках этой статьи мы сосредоточимся на экспорте и использовании видеофайлов моушн-графики с альфа-каналами.

Когда использовать альфа-канал

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

Альфа-канал был добавлен во время экспорта титра анимированной графики, чтобы создать прозрачные верх и низ в этой конкретной последовательности титров. Вот почему кадры, показанные ниже, можно увидеть:

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

Как экспортировать альфа-канал

Теперь, когда у вас есть представление о том, что такое альфа-канал, я покажу вам, как экспортировать их из After Effects CC, а затем из Premiere Pro CC.

В After Effects я создал анимацию белого прыгающего мяча. Анимация состоит из двух слоев — белого слоя с прыгающим мячом и красного фонового слоя:

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

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

С другой стороны, если бы я экспортировал финальное видео без альфа-канала, After Effects по умолчанию заполнил бы прозрачную область вокруг белого прыгающего мяча черным фоном.

Экспорт видео с альфа-каналом из After Effects

<р>1. Чтобы экспортировать видео с альфа-каналом, я отключу красный фоновый слой, затем перейду к «Композиции» в верхней части экрана After Effects и нажму «Добавить в очередь рендеринга».

<р>2. Затем в окне панели «Очередь рендеринга» щелкните текст рядом с модулем вывода.

Здесь выберите формат, позволяющий редактировать параметры формата, например Quicktime. Затем нажмите «Параметры формата» и измените видеокодек на тот, который поддерживает альфа-канал, например Apple ProRes 4444, GoPro CineForm или Animation. В моем примере я выберу Apple ProRes 4444.

<р>3. Затем нажмите «ОК» и в разделе «Видеовыход» выберите раскрывающееся меню «Каналы». Здесь вы увидите 3 варианта выбранного мной видеокодека. RGB, что означает красный, зеленый, синий, используется, когда вы хотите экспортировать обычное видео. Следующий параметр — «Альфа», который используется для экспорта только прозрачных областей отснятого материала, исключая все, что не является прозрачным на 100 %.

Последний вариант, который мы будем использовать для экспорта прозрачного фона и белого прыгающего мяча, — это RGB + Alpha, что означает экспорт обычного полноцветного видеофайла и включение альфа-канала, чтобы сохранить прозрачные области.

Чтобы подтвердить, что мы будем экспортировать альфа-канал, проверьте, не выбран ли параметр "Глубина" с символом "плюс". Символ плюс представляет альфа-канал.

Затем нажмите "ОК".

<р>4. Щелкните текст рядом с пунктом «Вывод в», чтобы указать имя экспортируемого файла, а также выберите место назначения для экспорта файла.

После этого нажмите «Сохранить» и «Визуализируйте».

<р>5. Теперь мы успешно экспортировали графику прыгающего мяча с альфа-каналом из After Effects CC.

Импорт видео с альфа-каналом в Premiere Pro

Затем откройте Premiere Pro, импортируйте файл прыгающего мяча с альфа-каналом и поместите его поверх других кадров в эпизоде.

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

Экспорт видео с альфа-каналом из Premiere Pro

В большинстве случаев файлы с альфа-каналами будут использоваться для титров анимированной графики или для работы с визуальными эффектами. Обычно они создаются с помощью программы визуальных эффектов, такой как After Effects. Однако, если наступит время, когда вы захотите экспортировать файл альфа-канала с помощью Premiere Pro, вот как это сделать.

<р>1. Чтобы экспортировать видео с альфа-каналом, перейдите к настройкам экспорта в Premiere Pro и выберите формат, который позволяет использовать альфа-канал, например Quicktime.

<р>2. Затем выберите видеокодек, например Animation, Apple ProRes 4444 или GoPro CineForm. Они покажут параметры альфа-канала на следующем шаге.

<р>3. В моем примере я выбрал GoPro CineForm, затем прокрутил вниз, чтобы открыть раздел «Глубина», что похоже на то, что мы делали в After Effects ранее в этом руководстве. Второй вариант позволяет экспортировать альфа-канал вместе с видео.

<р>4. Выбрав опцию альфа-канала, просто нажмите Экспорт. И все!

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

Хотите узнать больше от Уилла Бартлетта? Ищите дополнительные руководства в блоге Storyblocks или подпишитесь на его канал YouTube Алли и Уилл.

  • Теги:
  • Adobe After Effects,
  • Adobe Premiere Pro,
  • Видео,
  • Редактирование видео,

Уилл Бартлетт

Уилл — предприниматель, управляющий несколькими компаниями, в том числе компанией по производству видео в Торонто и онлайн-компанией, которая обучила более 150 000 студентов по широкому спектру курсов. Он имеет более чем 10-летний опыт кинематографии и редактирования, создавая корпоративные, веб-и коммерческие видео. Во-вторых, у Уилла есть канал на YouTube со своей женой и деловым партнером Алли, посвященный съемкам фильмов, путешествиям и закулисью их образа жизни.

Получите максимальную универсальность от неподвижного изображения или видеоролика с прозрачным фоном. Как использовать альфа-канал в After Effects.

Если вы никогда не слышали об альфа-канале, не волнуйтесь. Все знают, что это такое, даже те, кто так не считает.

Что такое альфа-канал?

Наличие альфа-канала позволит вам использовать графику более творчески.

До того, как я прикоснулся к Photoshop или Premiere Pro, я использовал PowerPoint для школьных проектов. Меня поразило, что при перетаскивании PNG-файла в программу белый фон исчезал. Однако по мере продвижения в своей творческой карьере я понял, что белый фон не исчезает, его просто не было с самого начала.

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

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

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

При просмотре альфа-канала на панели «Композиция» After Effects или на панели «Монитор» Premiere Pro белый цвет указывает на полную непрозрачность, черный — на полную прозрачность, а оттенки серого — на частичная прозрачность.

— Adobe

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

Я всегда использую альфа-канал в After Effects. Без него графика, которая идет поверх видео — нижние титры, акцентная графика и т. д. — должна была бы отображаться в точном соответствии с размерами композиции. Одна только мысль об этом вызывает у меня головную боль.

Если не выполнить рендеринг альфа-канала, After Effects заполнит пустое пространство черным цветом.

Как вы выполняете рендеринг с прозрачностью?

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

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

Шаг 1. Очередь рендеринга

Для рендеринга видео с прозрачностью необходимо добавить его в очередь рендеринга. Поэтому в разделе «Композиция» нажмите «Добавить в очередь рендеринга».

Шаг 2. Без потерь

Далее перейдите и нажмите «Без потерь». Появится окно с названием «Настройки модуля вывода».

Шаг 3. Настройки модуля вывода

Измените настройки модуля вывода здесь.

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

Обратите внимание, что некоторые кодеки не поддерживают прозрачность или RGB + Alpha. Есть красный, зеленый и синий каналы, а затем четвертый невидимый канал, называемый альфа-каналом. Прозрачность — это альфа-канал.

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

RGB + альфа-канал

Вы можете экспортировать все видео 4K с RGB и альфа-каналами.

Мне нравится использовать прозрачность при экспорте нижних третей. Если я правильно позиционирую нижнюю треть в композиции 4K, я экспортирую все видео 4K с RGB и альфа-каналами.

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

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