c#屏幕录制(经典)(含源码和AForge.Video.FFMPEG.DLL)及填坑办法

2021-02-01 10:50:18 浏览数 (1)

一直觉得.net在多媒体处理方面渣得不行。最近需要做一个摄像头的程序,为了方便,用了AForge这个开源项目。AForge项目中有AForge.Video和AForge.Video. DirectShow这两个子项目,可以方便的调用摄像头。但是这两个项目最终只能取得视频帧,并不能保存为视频文件。经高人指点,AForge还有一个子项目AForge.Video.FFMPEG,它可以将图片压制成Avi视频格式。不过这个AForge.Video.FFMPEG在实际使用的时候会遇到不少坑,下面我将我在这次使用中遇到的坑分享给大家。

AForge.NET是一个专门为开发者和研究者基于C#框架设计的,该库是一个开源项目,他包括计算机视觉与人工智能,图像处理,神经网络,遗传算法,机器学习,模糊系统,机器人控制等领域,提供很多图像的处理,和视频处理功能

这个框架由一系列的类库组成。主要包括有:

AForge.Imaging —— 一些日常的图像处理和过滤器 AForge.Vision —— 计算机视觉应用类库 AForge.Neuro —— 神经网络计算库AForge.Genetic -进化算法编程库 AForge.MachineLearning —— 机器学习类库 AForge.Robotics —— 提供一些机器人的工具类库 AForge.Video —— 一系列的视频处理类库 AForge.Fuzzy —— 模糊推理系统类库 AForge.Controls—— 图像,三维,图表显示控件

官网:http://www.aforgenet.com/

  Aforge.Net子项目有个AForge.Video.VFW提供了对Avi文件的操作,AForge后面加入了子项目 AForge.Video.FFMPEG 通过FFmpeg库,提供了对大量视频格式的支持,我们都知道,FFmpeg是一个非常强大的视频处理类库,同样也是开源的,不过 AForge.Video.FFMPEG 还处于实验阶段,目标是用 FFmpeg 取代 AForge.Video.VFW 提供一个更好的对视频文件操作的库,但是该库值目前提供了对视频数据的读写,不支持对音频文件的读写,可能以后会支持

第一坑:引用

你要用AForge.Video.FFMPEG,当然第一步是引用啦。但这个AForge.Video.FFMPEG并不能像AForge其他项目一样可以用Visual Studio自带的NuGet去获得,你会发现NuGet上根本找不到这个项目。

找不到么,那我就去官网找好了,咱们可以去AForge项目官网下载AForge项目的源码和已编译文件。不过这里有俩问题:

  1. AForge项目官网打开速度非常非常非常慢,你可以点链接打开官网,然后打开游戏玩一会儿。(这里我就给各位放个AForge下载页直链:http://www.aforgenet.com/framework/downloads.html)
  2. AForge项目的源码和生成文件最终都是放在GoogleCode上的,国内你懂得。不过这边我们就可以用的小花招就是用迅雷之类的下载器下载,他们的离线下载是可以翻墙的。

0 人点赞