电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

Python實現(xiàn)屏幕錄制功能的代碼

瀏覽:95日期:2022-08-04 16:57:53

前段時間做視頻時需要演示電腦端的操作,因此要用到屏幕錄制,下載了個迅捷屏幕錄制,但是沒有vip錄制的視頻有水印且只能錄制二分鐘,于是鄙人想了下能不能通過萬能的python來實現(xiàn)呢?經(jīng)過一晚上的嘗試發(fā)現(xiàn)這條路是可以走的通的。分享一下自己的想法,整體思路是PIL模塊中的ImageGrab不停的獲得當(dāng)前屏幕,利用opencv寫入視頻流話不多說,直接上代碼,有什么更好的建議,歡迎大家交流!

'''python + opencv 實現(xiàn)屏幕錄制_by-_Zjh_'''from PIL import ImageGrabimport numpy as npimport cv2p = ImageGrab.grab()#獲得當(dāng)前屏幕k=np.zeros((200,200),np.uint8)a,b=p.size#獲得當(dāng)前屏幕的大小fourcc = cv2.VideoWriter_fourcc(*’XVID’)#編碼格式video = cv2.VideoWriter(’test.avi’, fourcc, 16, (a, b))#輸出文件命名為test.mp4,幀率為16,可以自己設(shè)置while True: im = ImageGrab.grab() imm=cv2.cvtColor(np.array(im), cv2.COLOR_RGB2BGR)#轉(zhuǎn)為opencv的BGR格式 video.write(imm) cv2.imshow(’imm’, k) if cv2.waitKey(1) & 0xFF == ord(’q’): breakvideo.release()cv2.destroyAllWindows()

在停止錄制的時候我自己采用的是opencv的q鍵盤退出,實際上還是會有個黑框彈出來,如果有更好的退出錄制方式請留下您的建議,本次還有個不足的地方是沒有增加錄制聲音的功能。最近事情太多了,等放假了出一個完整版的GUI程序。好了今天就先到這了,快要考線性系統(tǒng)這門課了,得開始復(fù)習(xí)了

最近接觸了 pynput 這個強大的三方庫,可以全局監(jiān)聽鍵盤、鼠標(biāo)事件。把以前的屏幕錄制的程序改進一下!請忽略以前的程序,直接看這個!

'''python 屏幕錄制改進版,無opencv黑框顯示!@zhou 2020/1/29_'''from PIL import ImageGrabimport numpy as npimport cv2import datetimefrom pynput import keyboardimport threadingflag=False #停止標(biāo)志位def video_record(): ''' 屏幕錄制! :return: ''' name = datetime.datetime.now().strftime(’%Y-%m-%d %H-%M-%S’) #當(dāng)前的時間 p = ImageGrab.grab() # 獲得當(dāng)前屏幕 a, b = p.size # 獲得當(dāng)前屏幕的大小 fourcc = cv2.VideoWriter_fourcc(*’XVID’) # 編碼格式 video = cv2.VideoWriter(’%s.avi’%name, fourcc, 20, (a, b)) # 輸出文件命名為test.mp4,幀率為16,可以自己設(shè)置 while True: im = ImageGrab.grab() imm=cv2.cvtColor(np.array(im), cv2.COLOR_RGB2BGR)#轉(zhuǎn)為opencv的BGR格式 video.write(imm) if flag: print('錄制結(jié)束!') break video.release()def on_press(key): ''' 鍵盤監(jiān)聽事件!!! :param key: :return: ''' #print(key) global flag if key == keyboard.Key.esc: flag=True print('stop monitor!') return False #返回False,鍵盤監(jiān)聽結(jié)束!if __name__==’__main__’: th=threading.Thread(target=video_record) th.start() with keyboard.Listener(on_press=on_press) as listener: listener.join()

現(xiàn)在錄制就不用之前那個黑框了,按 esc按鍵 直接停止錄制!

PS:在通過代碼給大家介紹下python 實現(xiàn)屏幕錄制

PIL 即pollow 的安裝命令如下:

pip install pillow

其中cv2的安裝是下面這條命令

pip install opencv-python

代碼實現(xiàn):

# coding: utf-8from PIL import ImageGrabimport numpy as npimport cv2fps = 20start = 3 # 延時錄制end = 15 # 自動結(jié)束時間curScreen = ImageGrab.grab() # 獲取屏幕對象height, width = curScreen.sizevideo = cv2.VideoWriter(’video02.avi’, cv2.VideoWriter_fourcc(*’XVID’), fps, (height, width))imageNum = 0while True: imageNum += 1 captureImage = ImageGrab.grab() # 抓取屏幕 frame = cv2.cvtColor(np.array(captureImage), cv2.COLOR_RGB2BGR) # 顯示無圖像的窗口 cv2.imshow(’capturing’, np.zeros((1, 255), np.uint8)) # 控制窗口顯示位置,方便通過按鍵方式退出 cv2.moveWindow(’capturing’, height - 100, width - 100) if imageNum > fps * start: video.write(frame) # 退出條件 if cv2.waitKey(50) == ord(’q’) or imageNum > fps * end: breakvideo.release()cv2.destroyAllWindows()

總結(jié)

到此這篇關(guān)于Python實現(xiàn)屏幕錄制功能的文章就介紹到這了,更多相關(guān)python 屏幕錄制內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 聚天冬氨酸,亚氨基二琥珀酸四钠,PASP,IDS - 远联化工 | 船用锚链|专业锚链生产厂家|安徽亚太锚链制造有限公司 | 偏心半球阀-电动偏心半球阀-调流调压阀-旋球阀-上欧阀门有限公司 | 【甲方装饰】合肥工装公司-合肥装修设计公司,专业从事安徽办公室、店面、售楼部、餐饮店、厂房装修设计服务 | 环讯传媒,永康网络公司,永康网站建设,永康小程序开发制作,永康网站制作,武义网页设计,金华地区网站SEO优化推广 - 永康市环讯电子商务有限公司 | 防水套管_柔性防水套管_刚性防水套管-巩义市润达管道设备制造有限公司 | 基业箱_环网柜_配电柜厂家_开关柜厂家_开关断路器-东莞基业电气设备有限公司 | 户外-组合-幼儿园-不锈钢-儿童-滑滑梯-床-玩具-淘气堡-厂家-价格 | 青岛球场围网,青岛车间隔离网,青岛机器人围栏,青岛水源地围网,青岛围网,青岛隔离栅-青岛晟腾金属制品有限公司 | 食品质构分析仪-氧化诱导分析仪-瞬态法导热系数仪|热冰百科 | PE拉伸缠绕膜,拉伸缠绕膜厂家,纳米缠绕膜-山东凯祥包装 | 营养师网,营养师考试时间,报名入口—网站首页 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 浙江红酒库-冰雕库-气调库-茶叶库安装-医药疫苗冷库-食品物流恒温恒湿车间-杭州领顺实业有限公司 | 棕刚玉-白刚玉厂家价格_巩义市东翔净水材料厂 | 深圳市八百通智能技术有限公司官方网站 | 许昌奥仕达自动化设备有限公司 | 达利园物流科技集团- | 合肥触摸一体机_触摸查询机厂家_合肥拼接屏-安徽迅博智能科技 | 铝合金电阻-无源谐波滤波器-上海稳达电讯设备厂 | 复合土工膜厂家|hdpe防渗土工膜|复合防渗土工布|玻璃纤维|双向塑料土工格栅-安徽路建新材料有限公司 | 干法制粒机_智能干法制粒机_张家港市开创机械制造有限公司 | 禹城彩钢厂_钢结构板房_彩钢复合板-禹城泰瑞彩钢复合板加工厂 | 合肥网带炉_安徽箱式炉_钟罩炉-合肥品炙装备科技有限公司 | 行吊_电动单梁起重机_双梁起重机_合肥起重机_厂家_合肥市神雕起重机械有限公司 | 电梯装饰-北京万达中意电梯装饰有限公司 | 济南网站建设_济南网站制作_济南网站设计_济南网站建设公司_富库网络旗下模易宝_模板建站 | 广州中央空调回收,二手中央空调回收,旧空调回收,制冷设备回收,冷气机组回收公司-广州益夫制冷设备回收公司 | 光纤测温-荧光光纤测温系统-福州华光天锐光电科技有限公司 | 玉米深加工设备|玉米加工机械|玉米加工设备|玉米深加工机械-河南成立粮油机械有限公司 | 抖音短视频运营_企业网站建设_网络推广_全网自媒体营销-东莞市凌天信息科技有限公司 | 黑龙江京科脑康医院-哈尔滨精神病医院哪家好_哈尔滨精神科医院排名_黑龙江精神心理病专科医院 | 郑州爱婴幼师学校_专业幼师培训_托育师培训_幼儿教育培训学校 | 中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折! | 电加热导热油炉-空气加热器-导热油加热器-翅片电加热管-科安达机械 | 丽陂特官网_手机信号屏蔽器_Wifi信号干扰器厂家_学校考场工厂会议室屏蔽仪 | 骨密度仪-骨密度测定仪-超声骨密度仪-骨龄测定仪-天津开发区圣鸿医疗器械有限公司 | 电动垃圾车,垃圾清运车-江苏速利达机车有限公司 | 热镀锌槽钢|角钢|工字钢|圆钢|H型钢|扁钢|花纹板-天津千百顺钢铁贸易有限公司 | 节流截止放空阀-不锈钢阀门-气动|电动截止阀-鸿华阀门有限公司 | [品牌官网]贵州遵义双宁口腔连锁_贵州遵义牙科医院哪家好_种植牙_牙齿矫正_原华美口腔 |