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