网站首页 > 知识剖析 正文
import cv2
import numpy as np
import pyautogui
def record_screen(output_file, fps=30):
# 获取屏幕宽度和高度
screen_width, screen_height = pyautogui.size()
# 创建视频编码器
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
out = cv2.VideoWriter(output_file, fourcc, fps, (screen_width, screen_height))
while True:
# 捕获屏幕图像
img = pyautogui.screenshot()
# 转换图像颜色空间
frame = np.array(img)
frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
# 将图像写入视频文件
out.write(frame)
# 按下q键停止录屏
if cv2.waitKey(1) == ord('q'):
break
# 释放资源
out.release()
cv2.destroyAllWindows()
print(f'录制已保存为{output_file}')
def main():
output_file = 'screencast.mp4'
fps = 30
print('按下q键停止录屏')
record_screen(output_file, fps)
if __name__ == '__main__':
main()
这段代码使用pyautogui库的screenshot()方法来捕获屏幕图像,并使用opencv-python库的VideoWriter类来创建一个视频编码器,将捕获到的图像写入视频文件。
运行代码后,按下"q"键即可停止录屏,并将录制的视频保存为screencast.mp4文件。
请注意,这只是一个简单的示例,可能在某些系统上无法正常工作或存在一些限制。如果需要更高级的功能,可以考虑使用第三方库,如pyav、imageio等。
为了实现该功能,你需要安装opencv-python和pyautogui库。可以使用以下命令在终端中安装这些库:
pip install opencv-python pyautogui
- 上一篇: 几个可以整蛊你朋友的 Python 程序
- 下一篇: python写一个动态录屏程序
猜你喜欢
- 2025-01-02 界面交互篇:个人中心页布局样式与逻辑交互开发
- 2025-01-02 Python 开发Word转PDF工具实现
- 2025-01-02 程序员用Python实现自动化控制键盘和鼠标
- 2025-01-02 JSX和RN样式以及和web的不同之处
- 2025-01-02 原神增大视野范围方法 原神怎么增加可视范围
- 2025-01-02 137.Python——PySide6:QInputDialog输入对话框的创建与使用
- 2025-01-02 科目二倒车入库模拟机程序代码
- 2025-01-02 用 Python 和 Pygame 实现一个图形界面的俄罗斯方块小游戏
- 2025-01-02 软件测试|超好用超简单的Python GUI库——tkinter(二)
- 2025-01-02 红色警戒轻松搞定高分辨率全屏
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)