C#录制视频
這是一個使用C#語言制作的錄制框架,支持錄制桌面,多屏,聲音,攝像頭,某個應用程序的界面
?
1.安裝
使用此框架需要安裝擴展包Kogel.Record,可以Nuget上搜索
或者使用Nuget命令
Install-Package Kogel.Record安裝完成包后會出現一個DLL文件夾,里面會有一些依賴的DLL
?選中全部后右擊-屬性,設置復制到輸出目錄-始終復制
?
?
2.定義
需要在應用程序的主入口點初始化下全局配置
//初始化DLL配置 Global.InitDllPath();?
?還需要在App.config中設置兼容.NetFramework2.0
<startup useLegacyV2RuntimeActivationPolicy="true"><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" /><supportedRuntime version="v2.0.50727"/></startup>?
?
3.錄制桌面
使用ScreenRecorder類
首先創建桌面錄制類對象
//視頻存放路徑 string recorderPath = AppDomain.CurrentDomain.BaseDirectory + DateTime.Now.ToString("MMddHHmmss") + ".avi"; //初始化錄制器 (第一個參數是路徑,第二個參數是幀數,第三個參數是是否錄制聲音) var recorder = new ScreenRecorder(recorderPath, 10, true);還可以設置畫質(第四個參數)Raw為原畫畫質,建議不要使用(一分鐘幾個G),默認為MSMPEG4v2(高清,標清)
recorder = new ScreenRecorder(recorderPath, 10, true, AForge.Video.FFMPEG.VideoCodec.Raw);開始錄制
//開始并設置每幀回調 recorder.Start(VideoStreamer_NewFrame);暫停錄制
recorder.Pause();結束錄制
recorder.End();?
第一次使用此框架VS可能會彈出警告
?選中“從以下位置引發時除外”和取消選中“引發此異常類型時中斷”,此問題后續就不會再出現
?
?
4.Demo示例
?
?
?
此框架還支持錄制桌面,多屏,聲音,攝像頭,某個程序的界面
框架開源,完整Demo可以去Github上下載:
https://github.com/a935368322/Kogel.Record.Test.git
如有問題也可以加QQ群討論:
技術群 710217654
總結
- 上一篇: Asp.Net Core下的开源任务调度
- 下一篇: 大量SQL的解决方案——sdmap