Создаваемые пользователем хромакей композитные видео с FFMPEG / AVCONV

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

можно ли использовать AVCONV таким образом?

согласно этому посту на так статическое изображение может быть Chrome ключом в фоновом режиме. Но можно ли то же самое сделать с видео?

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

спасибо заранее.

30
задан Community
23.03.2023 18:02 Количество просмотров материала 2708
Распечатать страницу

3 ответа

ни AVconv, ни FFmpeg в настоящее время не могут этого сделать - это одна из основных задач обработки видео, которые они не могут сделать.

эти инструменты can наложение изображения или видео с прозрачным фоном на другое видео или изображение - это то, что так вопрос, который вы связали с wanted. Тем не менее, видео с прозрачным фоном должно быть в формате видео, который поддерживает прозрачность (большинство из них этого не делают) - я бы использовал qtrle (анимационный кодек Apple). Но они невозможно выполнить цветокоррекцию (сделать определенный цвет прозрачным).

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

  1. превратите видео, которое вы хотите хромакей, в отдельные кадры с помощью avconv
  2. используйте инструмент ImageMagick convert (или mogrify) для цветокоррекции каждого человека рамка
  3. сшить кадров вместе с avconv & поместите его на фон видео

вы можете упростить процесс, используя трубы.

для извлечения кадров (создает файлы, которые выглядят как 00001.png, 00002.png, etc):

avconv -i input.mp4 %05d.png

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

avconv -f image2 -r 25 -i %05d.png -i background.mp4 \
-filter_complex '[1:v][0:v]overlay[out]' \
-map [out] -c:v libx264 -crf 23 -preset veryfast output.mp4

-r 25 дает вам частоту кадров 25; если вы хотите другая частота кадров, просто используйте другой номер. Убедитесь, что вы используете ту же частоту кадров, как и исходное видео. Если вы хотите взять аудио с оригинального входа, используйте

avconv -f image2 -r 25 -i %05d.png -i background.mp4 -i input.mp4 \
-filter_complex '[1:v][0:v]overlay[out]' \
-map [out] -map 2:a -c:v libx264 -crf 23 -preset veryfast -c:a copy output.mp4

обратите внимание, что некоторые версии AVconv (как версия в репозиториях Ubuntu) нет поддержки для filtergraphs. Если это так, обновитесь до более новой версии avconv или ffmpeg.

как на этапе 2... Я на самом деле не уверен, как это сделать, но я знаю, что ImageMagick can цветокоррекция. Вот несколько полезных ссылок:

http://www.imagemagick.org/Usage/photos/#chroma_key

http://www.imagemagick.org/discourse-server/viewtopic.php?t=14394

http://tech.natemurray.com/2007/12/convert-white-to-transparent.html

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

2
отвечен evilsoup 2023-03-25 01:50

Вы можете сделать это с помощью MLT

melt https://archive.org/download/IMB_SF_R35_C8/IMB_SF_R35_C8_512kb.mp4 in=400 \
    -track https://archive.org/download/IMB_SF_R19_C9/IMB_SF_R19_C9_512kb.mp4 in=450 \
    -filter chroma key=0x00ff0000 variance=0.45 \
    -transition composite

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

3
отвечен rectalogic 2023-03-25 04:07

хромакей доступен в ffmpeg версии 3.0, перед ним вы можете использовать опцию colorkey

ffmpeg -f mpeg -i input.mp4 -i video.mp4 -shortest -filter_complex "[1:v]chromakey=0x70de77:0.1:0.2[ckout];[0:v][ckout]overlay[out]" -map "[out]" output.mp4

для colorkey в ffmpeg v2.8 или выше

 ffmpeg -f mpeg -i input.mp4 -i video.mp4 -shortest -filter_complex "[1:v]colorkey=0x70de77:0.1:0.2[ckout];[0:v][ckout]overlay[out]" -map "[out]" output.mp

оба работают для меня.

0
отвечен Ravikant Tiwari 2023-03-25 06:24

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх