Python如何实现屏幕录制功能

  介绍

这篇文章主要介绍Python如何实现屏幕录制功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

Python实现屏幕录制功能的示例:

“““python  +, opencv 实现屏幕录制_by -_Zjh_"““   得到PIL  import  ImageGrab   import  numpy  as  np   import  cv2   时间=p  ImageGrab.grab() #获得当前屏幕   k=np.zeros ((200200), np.uint8)   a、b=p.size #获得当前屏幕的大小   时间=fourcc  cv2.VideoWriter_fourcc (* & # 39; xvid # 39;) #编码格式   时间=video  cv2.VideoWriter (& # 39; test.avi& # 39;,, fourcc,, 16日,(a, b) #输出文件命名为test.mp4,帧率为16,可以自己设置   while 真正的:   ,我=,ImageGrab.grab ()   ,imm=cv2.cvtColor (np.array (im), cv2.COLOR_RGB2BGR) #转为opencv的BGR格式   ,video.write (imm)   ,cv2.imshow (& # 39; imm # 39;,, k)   ,if  cv2.waitKey (1),,, 0 xff ==,奥德(& # 39;提问# 39;):   ,打破   video.release ()   cv2.destroyAllWindows ()

在停止录制的时候我自己采用的是opencv的q键盘退出,实际上还是会有个黑框弹出来,如果有更好的退出录制方式请留下您的建议,本次还有个不足的地方是没有增加录制声音的功能。最近事情太多了,等放假了出一个完整版的GUI程序。好了今天就先到这了,快要考线性系统这门课了,得开始复习了

最近接触了pynput这个强大的三方库,可以全局监听键盘,鼠标事件。把以前的屏幕录制的程序改进一下!请忽略以前的程序,直接看这个!

“““   python 屏幕录制改进版,无opencv黑框显示!   @zhou  2020/1/29_   “““   得到PIL  import  ImageGrab   import  numpy  as  np   import  cv2   import  datetime   得到pynput  import 键盘   import 线程   国旗=False  #停止标志位   def  video_record ():   ,“““   ,屏幕录制!   ,返回:   ,“““=,,name  datetime.datetime.now () .strftime (& # 39; Y % - % - % d  % H - % - % & # 39;), #当前的时间=,,p  ImageGrab.grab(), #,获得当前屏幕   ,,b =, p.size  #,获得当前屏幕的大?,,fourcc  cv2.VideoWriter_fourcc (* & # 39; xvid # 39;), #,编码格式=,,video  cv2.VideoWriter (& # 39; % s.avi& # 39; %的名字,,fourcc,, 20日,(a, b)), #,输出文件命名为test.mp4,帧率为16,可以自己设置   ,while 真正的:   我才能=,ImageGrab.grab ()   imm才能=cv2.cvtColor (np.array (im), cv2.COLOR_RGB2BGR) #转为opencv的BGR格式   video.write才能(imm)   if 才能;国旗:   ,才能打印(“录制结束!“)   ,才能休息   ,video.release ()   def  on_press(重要):   ,“““   ,键盘监听事件! ! !   ,:param 关键:   ,返回:   ,“““   ,#打印(键)   global 旗帜   ,if  key ==, keyboard.Key.esc:   ,国旗=True   打印才能(“stop 监控!“)   return 才能;False  #返回假,键盘监听结束!   if  __name__==& # 39; __main__ # 39;:   ,th=threading.Thread(目标=video_record)   ,th.start ()   ,with  keyboard.Listener (on_press=on_press), as 侦听器:   listener.join才能()

现在录制就不用之前那个黑框了,按esc按键直接停止录制!

<>强PS:在通过代码给大家介绍下python实现屏幕录制

公益诉讼即pollow的安装命令如下:

<代码> pip安装枕头

其中cv2的安装是下面这条命令

<代码> pip安装opencv-python

代码实现:

#,编码:utf - 8   得到PIL  import  ImageGrab   import  numpy  as  np   import  cv2   fps =20   时间=start  3, #,延时录制   最终获得=,,15 #,自动结束时间   时间=curScreen  ImageGrab.grab(), #,获取屏幕对象   身高,,width =curScreen.size   时间=video  cv2.VideoWriter (& # 39; video02.avi& # 39;,, cv2.VideoWriter_fourcc (* & # 39; xvid # 39;),, fps,,(高度,宽度))   imageNum =0   while 真正的:   imageNum 才能+=1   时间=captureImage 才能;ImageGrab.grab(), #,抓取屏幕   时间=frame 才能;cv2.cvtColor (np.array (captureImage), cv2.COLOR_RGB2BGR)   #,才能显示无图像的窗口   cv2.imshow才能(& # 39;捕捉# 39;,,np.zeros ((1, 255), np.uint8))   #才能,控制窗口显示位置,方便通过按键方式退出   cv2.moveWindow才能(& # 39;捕捉# 39;,,height 作用;100年,width 作用;100),   if 才能;imageNum 祝辞,fps  *,开始:   ,,,video.write(框架)   #,才能退出条件,,   if 才能;cv2.waitKey(50),==,奥德(& # 39;提问# 39;),或是imageNum 祝辞,fps  *,结束:   ,才能打破   video.release ()   cv2.destroyAllWindows ()

Python如何实现屏幕录制功能