我用python做了個錄屏軟件
最近碰到了很多錄屏的需求,剪了好多視頻。一直苦于網(wǎng)絡(luò)上的錄屏軟件如“愛拍”、“愛剪輯”等,沒充會員就有水印,限制分辨率等。而window10自帶的錄屏軟件又只能錄“一個軟件”。

身為白嫖黨的我,怎么可以忍受充錢呢!!!所以我決定自己寫一個錄屏軟件,用到的庫為:
PyQt5 制作GUI頁面
QThread 多線程
Pillow 獲取屏幕
Pyaudio 獲取錄音數(shù)據(jù)
Pynput 獲取鼠標(biāo)位置
Opencv 寫入視頻
Wave 寫入音頻
#Q1 加載頁面
首先是加載頁面,這里使用了PyQt5中的QSplashScreen,用來在啟動軟件的時候給出進度提示,而不需要干等。

#Q2 主頁面
接著是主界面,用到了PyQt5中的QWidget,然后只有4個按鈕,是不是非常簡潔?從左到右功能分別是:
開始錄制
結(jié)束錄制
是否錄音
選擇保存目錄

#Q3 錄屏選中框
接著是錄屏選中框了,它的主體就是 那4個小三角形,別看它很簡單,它的實現(xiàn)代碼可是占了全部的30%,涉及到了以下知識:
窗口去邊框
鼠標(biāo)事件重寫(按下、釋放、移動)
畫布
窗口縮放
窗口移動
鼠標(biāo)圖標(biāo)設(shè)置
窗口透明

#Q4 錄制結(jié)果保存
接下來就是錄制結(jié)果了,按照按鈕的功能來錄制,錄制結(jié)束后,右上角會有提示框:

點擊提示框即可呼出視頻保存目錄下的資源管理器,如果是錄屏+錄音的話會同時保存.mp4文件以及.wav文件。如果沒有選擇錄音的話只會保存視頻文件。

#Q5 剪輯
最后一步當(dāng)然是剪輯了,我用的比較多的達芬奇,把視頻和音頻都拉進資源管理器就可以愉快的剪輯啦!

不過目前還有一個bug,就是我發(fā)現(xiàn)錄制后的 視頻和音頻文件不等長,即使用了線程同步也是一樣
又是一個新坑。不過做完這個我的目的也已經(jīng)達到了,就是學(xué)習(xí)PyQt5(沒錯,這才是我的目的)!喜歡的記得關(guān)注一下噢。說不定后續(xù)我優(yōu)化一下又開源了呢
