Chromakey过滤器,在使用ffmpeg录制游戏屏幕时显示透明键盘

Chromakey过滤器,在使用ffmpeg录制游戏屏幕时显示透明键盘,ffmpeg,chromakey,Ffmpeg,Chromakey,我正试图显示一个像这样的透明键盘(他正在使用OBS studio): 因此,我将所有“NohBoard v1.2.2”颜色设置为绿色(0x00FF00),除了字母,然后: ffmpeg -y -f gdigrab -framerate 30 -draw_mouse 0 -i title="NohBoard v1.2.2" keyboard.mp4 ffmpeg -y -i keyboard.mp4 -c: png -vf "chromakey=0x00FF00:similarity=.200"

我正试图显示一个像这样的透明键盘(他正在使用OBS studio):

因此,我将所有“NohBoard v1.2.2”颜色设置为绿色(0x00FF00),除了字母,然后:

ffmpeg -y -f gdigrab -framerate 30 -draw_mouse 0 -i title="NohBoard v1.2.2" keyboard.mp4
ffmpeg -y -i keyboard.mp4 -c: png -vf "chromakey=0x00FF00:similarity=.200" keyboard1.mp4
ffmpeg -y -i gameplay.avi -i keyboard1.mp4 -filter_complex "[1:v] scale=560x180 [kb]; [0:v][kb] overlay=x=W-w-520:y=H-h-0 [done]" -shortest -map [done] test.mkv

到目前为止,一切都很好,但是我可以使用1个命令吗?

只需使用gdi cap作为第一个输入,并在缩放之前运行colorkey*

ffmpeg-y-i gameplay.avi-f gdigrab-framerate 30-draw_mouse 0-i title=“NohBoard v1.2.2”-filter_complex”[1:v]colorkey=0x00FF00:similarity=0.200,scale=560x180[kb];[0:v][kb]overlay=x=W-W-520:y=H-H-0[done]“-最短-地图[done]测试。mkv

  • gdigrab发送RGB帧,因此colorkey将比chromakey更快,chromakey需要在设置关键帧之前转换为YUV像素