我正在制作一个屏幕录制软件,可以将手势/鼠标移动捕获为坐标+时间戳,并希望将它们叠加在屏幕录制上。我有一个“框架”文件夹,其中有一个红色圆圈,其余部分是透明的,对应于手势。
我最初让它工作的方式是使用 concat-demux 生成手势的视频,然后我用 ffmpeg 通过对黑色背景进行色差控制并覆盖它来覆盖它,但这非常慢。
有没有更好/更快的方法来做到这一点,可能不会制作我必须进行色度键控的中间视频?我可以访问手势的时间戳以及这些帧应保留在屏幕上的持续时间。
我的管道:
Screen Frames w/ Timestamps+durations --> Concat-demux --> ---------------------------+
|
Gesture Logs --> Frames w/ timestamp+duration --> Concat-demux ---> chromakey --+ |
(has transparency) (loses transparency) | |
V V
Overlay
|
V
Final Video
Example frame from gestures which is the foreground (白色是透明的)
背景没有透明度,因为它是电脑背景
我用来组合我生成的视频的命令是:
ffmpeg -i gestures.mp4 -i screen.mp4 -filter_complex '[0]chromakey=0x000000:.1[bk];[1][bk]overlay' output.mp4