c# github 录屏_C#录制视频 - osc_mfn168vg的个人空间 - OSCHINA - 中文开源技术交流社区...

这是一个使用C#语言制作的录制框架(基于AForge),支持录制桌面,多屏,声音,摄像头,某个应用程序的界面

1.安装

使用此框架需要安装扩展包Kogel.Record,可以Nuget上搜索

或者使用Nuget命令

Install-Package Kogel.Record

安装完成包后会出现一个DLL文件夹,里面会有一些依赖的DLL

322fac119225b10e82c11e5fd61938b3.png

选中全部后右击-属性,设置复制到输出目录-始终复制

7433efddcba1fd900b69416a3820527b.png

2.定义

需要在应用程序的主入口点初始化下全局配置

//初始化DLL配置

Global.InitDllPath();

3bd8bca6b7f6f4d39668f6dfa74599f6.png

还需要在App.config中设置兼容.NetFramework2.0

2830a0df4b1785300c71c1cdd0e9377b.png

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);

///

///每帧录制帧数回调///

///

///

private void VideoStreamer_NewFrame(objectsender, NewFrameEventArgs eventArgs)

{//显示图片流

this.picScreen.Image =(Bitmap)eventArgs.Frame.Clone();

}

暂停录制

recorder.Pause();

结束录制

recorder.End();

第一次使用此框架VS可能会弹出警告

f4f58b426930f033d30847274860dcff.png

选中“从以下位置引发时除外”和取消选中“引发此异常类型时中断”,此问题后续就不会再出现

4.Demo示例

ccb7fb6f30890342555a3408c050dcf0.png

此框架还支持录制桌面,多屏,声音,摄像头,某个程序的界面

框架开源,完整Demo可以去Github上下载:

如有问题也可以加QQ群讨论:

技术群 710217654

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值