Я хочу захватить окно и наложить его на другое видео.
Это моя команда:
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
фон моего окна черный.
Как я могу заменить этот черный цвет прозрачностью?
это возможно с помощью ffmpeg? (Я думаю, что это возможно с помощью фильтров хромакея/цветового ключа, но я не уверен и не знаю, как использовать эти фильтры)
Спасибо.
ОБНОВИТЬ:
GDIgrab предоставляет канал RGB, поэтому здесь может работать фильтр цветового ключа.
Пытаться
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
Возможно, вам придется использовать значение, близкое к 0, если 0 не захватывает всю прозрачную область.
...(X,Y),16),255,0...
вместо...(X,Y),0),255,0...
Гьян
Мария
Гьян
format=yuv444p
фильтр передgeq
и вместо16
, возможно, вам придется использовать значение 0 или близкое к 0