FFmpeg: ¿Cómo reemplazar el color de fondo del video con transparencia? (durante la captura)

Quiero capturar una ventana y superponerla en otro video.

Este es mi comando:

ffmpeg -i MainVideo.avi 
-f gdigrab -framerate 25 -video_size 300x200 -i title="MyWindow" 
-filter_complex "[0]setpts=PTS-STARTPTS[b];[b][1:v]overlay=(main_w-overlay_w):main_h-overlay_h[v]"
-map "[v]" -c:v libx264 -r 25  out.mp4

el fondo de mi ventana es negro.

¿Cómo puedo reemplazar este color negro con transparencia?

¿Es esto posible por ffmpeg? (Creo que es posible con los filtros chromakey/colorkey, pero no estoy seguro y no sé cómo usar esos filtros)

Gracias.

ACTUALIZAR:

Supongamos que este es un cuadro de video que quiero:ingrese la descripción de la imagen aquí

GDIgrab proporciona alimentación RGB para que colorkey pueda funcionar aquí, pero si comparte un cuadro de muestra de la captura, entonces puedo ver si es posible un método alt más efectivo.
@Mulvya, Hola, mi pregunta se actualizó.
Ver aquí _ Pero inserte format=yuv444pel filtro antes de geqy en lugar de 16, es posible que deba usar un valor de 0 o cerca de 0

Respuestas (1)

GDIgrab proporciona una fuente RGB para que el filtro de clave de color pueda funcionar aquí.

Intentar

ffmpeg -i 1.mp4 -f gdigrab -framerate 25 -video_size 300x200 -i title="MyWindow"
-filter_complex
"[1]split[m][a];
 [a]format=yuv444p,geq='if(gt(lum(X,Y),0),255,0)',hue=s=0[al];
 [m][al]alphamerge[ovr];
 [0][ovr]overlay=(main_w-overlay_w):main_h-overlay_h[v]"
-map "[v]" -c:v libx264 -r 25 out.mp4

Es posible que deba usar un valor cercano a 0, si 0 no captura toda el área transparente.

¡Muchas gracias! , me funciona con 16 en lugar de 0. ( ...(X,Y),16),255,0...en lugar de...(X,Y),0),255,0...
@Gyan ¿Puedes compartir un comando que solo cambie el color de fondo a otro color? Mi caso no tiene escala de video, título, etc...