1

У меня есть видео с прозрачным фоном. Как я могу заменить эту прозрачность на цвет (например, белый)?

1 ответ1

3

Самый быстрый способ - через оверлейный фильтр.

ffmpeg -i in.mov -filter_complex
       "[0]split=2[bg][fg];[bg]drawbox=c=blue@1:replace=1:t=fill[bg];
        [bg][fg]overlay=format=auto" -c:a copy new.mov

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

См. Https://ffmpeg.org/ffmpeg-utils.html#Color для получения синтаксиса цвета. Вы можете указать правильные кодеры.

Вам понадобится ffmpeg версии 4.0 или новее.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .