原创 開源的屏幕畫筆工具(基於WPF InkCanvas)

GitHub LiveDraw   app運行後初始效果app 全展開效果支持直線、箭頭、矩形、圓形、文字、選擇、擦錯、激光筆等模式。 具體實現基於.NET 中的InkCanvas控件實現。 發佈基於.Net Core 3.0 

原创 FFMPEG錄屏(1)----錄製桌面

首先錄製桌面有很多種方法,原生windows api進行GDI抓屏,Mirror,Direct等,本文針對ffmpeg gdi抓屏進行介紹,也開始錄屏軟件開發之旅。 準備ffmpeg,無所謂是動態庫、靜態庫,請自行前往下載並引入工程。 在

原创 FFMPEG錄屏(2)----壓縮H264

在前一篇中,我們講解了GID抓屏的整體流程,此時已經拿到了圖像的原始數據BGRA,其他抓屏手段不管是Mirror Driver還是DX HOOK,得到的原始數據大都是此。 在壓縮之前不妨先了解一下H264的編碼基礎知識。 雷神對於RGB

原创 FFMPEG錄屏(12)---- 捕獲桌面(Duplication)

最近增加了對Duplication API捕獲桌面的支持,記錄一下過程和其中遇到的問題。 參考資料 Desktop Duplication Api AccquireNextFrame DXGI_OUTDUPL_POINTER_SH

原创 React 白板組件分享 FabricJs

fabric-whiteboard 基於NodeJs、React開發的白板組件,通過這次也學習瞭如何新建、開發、測試、發佈單獨的React組件。半吊子前端,不喜勿噴嘿嘿。 還有一些功能和優化要做,持續更新中 ScreenShot

原创 FFMPEG錄屏(11)---- aresample重採樣pcm

本文利用ffmpeg中的filter對pcm數據進行重採樣。 參考官網例子:filtering_audio.c 初始化filter int filter_aresample::init(const FILTER_CTX & ctx

原创 React 白板組件分享

fabric-whiteboard 基於NodeJs、React開發的白板組件,通過這次也學習瞭如何新建、開發、測試、發佈單獨的React組件。半吊子前端,不喜勿噴嘿嘿。 還有一些功能和優化要做,持續更新中 ScreenShot

原创 FFMPEG錄屏(10)---- 基於Electron的UI工程

EasyRecorder EasyRecorder is a cross-platform screen recorder which is written by node-js and depended on scree

原创 FFMPEG錄屏(9)---- AAC、H264合成MP4

在進行合成MP4之前請仔細閱讀FFMpeg官方例子中的muxing.c文件,該文件通過生成測試數據合成MP4文件。 並閱讀如下文章對FFMpeg的時間基、時間戳,以及音視頻同步原理進行理解。 <Compute PTS and DT

原创 FFMPEG錄屏(5)---- 捕獲揚聲器和麥克風(基於WASAPI)

最近微軟已經公佈了對Windows7維護的截止時間,考慮到捕獲基於dshow-capture的依賴還需要安裝額外的軟件,所以還是實現了基於Windows CoreAudio API的音頻捕獲以及GDI的桌面捕獲。 如下爲微軟官方

原创 FFMPEG錄屏(3)----捕獲系統聲音和麥克風

系統聲音捕獲方式同樣有很多手段,老一點的WAVEAPI,WASAPI,portaudio等等,這裏我們通過ffmpeg對virtual-audio-capturer進行捕獲。 首先安裝,screen-capture,他會同時爲你添加兩個D

原创 FFMPEG錄屏(4)---- 聲音混流

聲音混流基於FFmpeg中的AVFilter,參考資料如下: 最簡單的基於FFmpeg的AVfilter的例子-純淨版 ffmpeg filter學習--混音實現 利用ffmpeg的filter混音   混流實現利用FFMpeg的amix

原创 FFMPEG錄屏(6)---- 獲取音頻設備列表(WASAPI)

繼續使用WASAPI獲取Windows系統音頻設備列表 獲取默認揚聲器或麥克風 int device_audios::get_default(bool input, std::string & id, std::string &

原创 FFMPEG錄屏(7)----捕獲桌面(GDI)

補充通過GDI捕獲桌面方法 微軟API和DEMO GDI Capturing an Image Desktop Duplication API 建議是WIN7使用GDI(錄製時關閉AERO會有效率上的顯著提升),WIN8及以上使用