如何以编程方式在 python 中录制 window / GUI 应用程序?
How do I programmatically video record a window / GUI application in python?
我想以编程方式录制 GUI 应用程序(特别是 RViz)的视频,因为我 运行 多次进行实验,并希望将这些录制自动化并与 运行 同步。 RViz 本身不提供录制服务,推荐使用 SimpleScreenRecorder。是否有提供此功能的库?
系统:Linux (Ubuntu)
首选语言:python
我没有找到任何合适的工具,所以我自己写了一个应该适用于所有 Linux 系统的工具:https://github.com/LemonPi/window_recorder
您将其用作上下文管理器,要么不提供 window 个名称以提示您单击 window,要么提供 window 个名称的列表以尝试捕获(第一个有效的匹配)。例如,
from window_recorder.recorder import WindowRecorder
import time
# passing in nothing as the window name will allow you to select the window by clicking
# want to capture an RViz window, which could have name "RViz*" as well
with WindowRecorder(["RViz*", "RViz"], frame_rate=30.0, name_suffix="rviz"):
# do things...
time.sleep(0.1)
start = time.time()
while time.time() - start < 2:
time.sleep(0.1)
我想以编程方式录制 GUI 应用程序(特别是 RViz)的视频,因为我 运行 多次进行实验,并希望将这些录制自动化并与 运行 同步。 RViz 本身不提供录制服务,推荐使用 SimpleScreenRecorder。是否有提供此功能的库?
系统:Linux (Ubuntu)
首选语言:python
我没有找到任何合适的工具,所以我自己写了一个应该适用于所有 Linux 系统的工具:https://github.com/LemonPi/window_recorder
您将其用作上下文管理器,要么不提供 window 个名称以提示您单击 window,要么提供 window 个名称的列表以尝试捕获(第一个有效的匹配)。例如,
from window_recorder.recorder import WindowRecorder
import time
# passing in nothing as the window name will allow you to select the window by clicking
# want to capture an RViz window, which could have name "RViz*" as well
with WindowRecorder(["RViz*", "RViz"], frame_rate=30.0, name_suffix="rviz"):
# do things...
time.sleep(0.1)
start = time.time()
while time.time() - start < 2:
time.sleep(0.1)