网站首页 > 技术文章 正文
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
猜你喜欢
- 2025-06-08 Java使用输出流OutputStream导出Excel遇到的问题及解决方法
- 2025-06-08 解决Windows 10安装失败或卡18%,62%等
- 2025-06-08 人是由三部分(身体、精神、灵魂)组成的生灵
- 2025-06-08 Flink Collector Output 接口源码解析
- 2025-06-08 录像机认识及安装环境介绍
- 2025-06-08 利用GrayLog的output功能实现简单的GrayLog分布式级联
- 2025-06-08 基于Amos路径分析的软件输出结果界面与参数详解
- 2025-06-08 How to change the output color of echo in Linux
- 2025-06-08 Java 面向对象——测试题,笔试,快进来考考你自己
- 2025-06-08 Changsha's Automobile Output Expected to Exceed 1 Million Units This Year
- 06-22Python开发工程师必会的3个设计模式(工厂、单例、适配器)
- 06-22创建型设计模式——工厂模式和抽象工厂模式
- 06-221. 工厂模式详解
- 06-22工厂模式详解
- 06-22设计模式问题:说一说简单工厂模式?
- 06-22深入设计模式:工厂方法
- 06-22C++设计模式——简单工厂模式
- 06-22什么是工厂模式?工厂模式有哪些类型?如何使用它们?
- 最近发表
- 标签列表
-
- axure 注册码 (25)
- exploit db (21)
- mutex_lock (30)
- oracleclient (27)
- think in java (14)
- javascript权威指南 (19)
- nfs (25)
- componentart (17)
- yii框架 (14)
- springbatch (28)
- oracle数据库备份 (25)
- iptables (21)
- 自动化单元测试 (18)
- mvc模式 (13)
- python编写软件 (14)
- dir (26)
- connectionstring属性尚未初始化 (23)
- output (32)
- panel滚动条 (28)
- centos 5 4 (23)
- sql学习 (33)
- dfn (14)
- http error 503 (21)
- pop3服务器 (18)
- 图表组件 (17)