Пример документации FFMPEG для chromakey не работает для png-файла с зеленым фоном - PullRequest
0 голосов
/ 04 июня 2019

Я новичок в FFMPEG, и я пытаюсь сделать простую зеленую фоновую цветную маркировку изображений PNG. В документации FFMPEG в 38.16 Chromakey - есть пример скрипта:

ffmpeg -i input.png -vf chromakey = green out.png

, для которого сказано, что «Сделайте каждый зеленый пиксель во входном изображении прозрачным» Это именно то, что я хотел. Я пробовал много разных изображений PNG, но в результате всегда получается копия входного изображения. Также я заменил слово «зеленый» на 0x00FF00 или 0x008000 и до сих пор безуспешно. Только при замене зелёного на чёрный, а затем результат, как и ожидалось - прозрачный. Я работаю на Windows с предварительно собранными двоичными файлами FFMpeg. Что мне не хватает? Спасибо.

Ответы [ 2 ]

0 голосов
/ 07 июня 2019

Да

ffmpeg -i input.png -vf colorkey=0x008000 out.png

работает. Я также обнаружил / после столь большого прочтения другой связанной информации /, что "кеинга" МОЖЕТ также работать. Вот как

ffmpeg -i input.png -vf "chromakey=0x008000:0.1:0.1" -c copy -c:v png out.png

это тоже нормально работает - причина в кодеке -c: v png.

Немного больше информации - когда я сравнил результаты метода @Gyan и второго метода - второй метод дает гораздо более сглаженный результат.

0 голосов
/ 05 июня 2019

При работе с пиксельными форматами RGB (как в PNG) используйте фильтр цветовых клавиш.Кроме того, укажите цвет в виде шестнадцатеричных кодов, так как цветовые метки ffmpeg могут не соответствовать ожидаемому, например, зеленый цвет равен 0x008000, а не 0x00FF00.

Использовать

ffmpeg -i input.png -vf colorkey=0x00FF00 out.png
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...