diff --git a/README.md b/README.md index 1b11d76..ce44eb0 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,13 @@ ## 前言 **羽云录屏** 是一个强大的录屏 **外壳** 程序,提供了尽可能丰富的机制以及插件系统,来实现一个强大的录屏交互完成录屏任务。 - 这里先说明一下什么是 **外壳程序** 。所谓的外壳程序就是它不实现任何本质功能,也就是说,虽然该软件叫 **羽云录屏** ,但是它没有实现任何录屏功能,它提供了一系列的接口和约定,通过本身强大的插件系统,让更多的开发者专注于录屏功能实现和细节优化上,而不是拘泥于`UI`的实现细节上。==**只要你提供的录屏功能有多强大,我的程序就有多强大。**== + + 这里先说明一下什么是 **外壳程序** 。所谓的外壳程序就是它不实现任何本质功能,也就是说,虽然该软件叫 **羽云录屏** ,但是它没有实现任何录屏功能,它提供了一系列的接口和约定,通过本身强大的插件系统,让更多的开发者专注于录屏功能实现和细节优化上,而不是拘泥于`UI`的实现细节上。**只要你提供的录屏功能有多强大,我的程序就有多强大。** ## 开发原由 之前在找强大的录屏软件的时候,看到迅捷录屏。功能强大易用,但缺点从用户体验来看就是广告横飞,据说开会员的话可以解锁所有功能。在我翻看它的文件夹的文件结构看到了`duilib`和`ffmpeg`,就感觉事情有点不简单。然后简单的用`PE`分析工具很容易判断出它用的是商业授权的录屏`SDK`,利用开源项目来构建。分析到这里,我就有一个大胆的想法。 + 现在开源社区里面简单的录屏软件不多,功能不太强大,在用户体验上有一定差距。有一个强大的直播推流软件`OBS`可以录屏,但需要一些设置,比较专业。那我开发出一个插件系统,让专攻于录制引擎的开源贡献者一起来共同维护一个强大易用的录屏软件。 ## 开发者信息 @@ -15,6 +17,7 @@ ## 协议 由于里面用到了很多来源于开源社区的组件,有些组件是以源代码的形式嵌入到该项目中的。当然这些组件基本都经过了一些调整来适配我的项目,但为了尊重原作者,属于原作者的部分仍保持原有协议。但并不是意味着,我进行大量改写的部分仍遵循原协议。所以,该项目遵守的协议是以非商用源代码开放的`AGPL-3.0`开源许可协议为主,以其他开源协议为辅的。具体详情请见下面的说明: + 对于如下代码文件,遵循本仓库的`AGPL-3.0`协议: * WingRecorder: @@ -96,29 +99,34 @@ 如下是项目实现截图:
-
+
主界面
-
+
设置——通用
-
+
+
设置——录制
+
+
设置——水印
-
-
+
+
设置——插件
-
+
设置——关于
## 关于 UI 说明 由于有些元素借鉴迅捷录屏,所以有些元素设计有相同相似的部分,有些图标来源于该软件本身。但是,有些图标是由本人从`iconfont`和自己稍微修改设计,所有的排版都是由本人进行的。 + 这套`UI`是我之前由本人设计过,只是开始`WPF`占用比较大,当时自己水平不够,设计热键调用程序没能够开源。现在`WPF`占用也不太大了,使用我的虚拟测试引擎的程序最大使用`40MB`大小的内存,比之前刚出来时候一个空窗体的上百兆字节好多了。 ## TODO @@ -128,6 +136,7 @@ ## 注意事项 插件系统采用不兼容式设计,与宿主版本号不同的插件一律不加载,因为我学习`MEF`来实现的插件系统,没有找到方便快捷的方式来实现。如果想要提相关的需求,必须带上源代码,否则本人不再考虑。 + 对于如下需求,本人一概不考虑,如果有需要请自行实现或者找其他仓库: 1. 开发一个具有录屏功能的插件 @@ -142,11 +151,11 @@ 如果你觉得该软件设计的不错,欢迎在在仓库给个 star ,如果有闲钱欢迎捐助。你的支持是我维护该软件的动力:
-
+
支付宝
-
+
微信