diff --git a/README.md b/README.md index 664dfe0f..94e217ff 100644 --- a/README.md +++ b/README.md @@ -41,14 +41,14 @@ Platform notes: Recordly can automatically emphasize activity with zoom suggestions, smooth cursor movement, add motion effects, and place the final composition inside a styled frame with wallpapers, colors, gradients, blur, padding, and shadows.

- Recordly cursor and zoom demo video + Recordly cursor and zoom demo video

## Dynamic webcam bubble overlays Add webcam footage as an overlay bubble, position it with presets or custom coordinates, mirror it, control shadow and roundness, and optionally make it react to zoom so it stays visually balanced during motion.

- Recordly webcam overlay demo video + Recordly webcam overlay demo video

## Timeline editing built for demos @@ -397,4 +397,3 @@ Created by [@webadderall](https://x.com/webadderall) --- - diff --git a/README.zh-CN.md b/README.zh-CN.md index 1aa0d240..b1ca9f55 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -1,9 +1,7 @@ -# Recordly - 语言: [EN](README.md) | 简中

- Recordly logo + Recordly logo

@@ -11,20 +9,19 @@ AGPL 3.0 license

-### 制作精致、专业级的屏幕录制内容。 -[Recordly](https://www.recordly.dev) 是一款**开源屏幕录制器**和编辑器,适合制作**操作讲解、演示、产品视频**等内容。 +### 无需额外剪辑,也能做出精致的屏幕录制。 +[Recordly](https://www.recordly.dev) 是一款**开源屏幕录制器**和编辑器,适合制作**操作讲解、演示、产品视频**等内容。 +**欢迎提交 PR。** [赞助](https://ko-fi.com/webadderall/goal?g=0) -**欢迎贡献。** [赞助](https://ko-fi.com/webadderall/goal?g=0) - -https://github.com/user-attachments/assets/1446cd12-c053-4b9c-b49f-d9c93db77fc4 +https://github.com/user-attachments/assets/9b66c71d-ac97-49ff-a0c9-63ac26edf2e4 --- ## Recordly 是什么? -Recordly 是一款桌面应用,用于录制并编辑屏幕内容,内置面向演示视频的动态呈现工具。你不需要先把原始素材交给动效设计师去补缩放、光标润色或样式化背景,Recordly 可以在一个地方免费完成整套流程。 +Recordly 是一款桌面应用,用于录制并编辑屏幕内容,内置面向演示视频的动态呈现工具。你不需要再把原始素材交给动效设计师去补缩放、光标润色或样式化背景,Recordly 可以在一个地方免费完成整套流程。 -Recordly 运行于: +Recordly 支持: - **macOS** 14.0+ - **Windows** 10 Build 19041+ @@ -32,7 +29,7 @@ Recordly 运行于: 平台说明: -- **macOS** 使用原生的基于 ScreenCaptureKit 的捕获辅助程序。 +- **macOS** 使用基于 ScreenCaptureKit 的原生捕获辅助程序。 - **Windows** 在支持的系统版本上使用原生 Windows Graphics Capture(WGC)辅助程序,并支持原生 WASAPI 音频。 - **Linux** 通过 Electron 捕获 API 录制。目前 Linux 还不支持隐藏真实光标。 @@ -44,26 +41,26 @@ Recordly 运行于: Recordly 可以根据操作自动强调重点区域,平滑光标运动,添加动态效果,并将最终画面放进带有壁纸、纯色、渐变、模糊、留白和阴影的样式化边框中。

- Recordly cursor and zoom demo video + Recordly cursor and zoom demo video

## 动态摄像头气泡叠加 你可以把摄像头素材作为气泡叠加层加入画面,使用预设位置或自定义坐标摆放,支持镜像、阴影和圆角调节,也可以让它跟随缩放变化,保证动态镜头里整体视觉更协调。

- Recordly webcam overlay demo video + Recordly webcam overlay demo video

## 为演示设计的时间线编辑 使用拖拽式时间线工具处理缩放、裁剪、变速区域、注释、额外音频区域以及裁切感知编辑,并将工作保存为 `.recordly` 项目文件,之后随时回来继续编辑。

- Recordly timeline editor screenshot + timeline editor

## 扩展与市场 -Recordly 拥有一个社区驱动的扩展系统。任何人都可以构建和发布扩展来为 Recordly 添加新功能——光标点击音效、设备边框、浏览器模拟外壳、壁纸、渲染钩子、设置面板等等。 +Recordly 拥有一个社区驱动的扩展系统。任何人都可以构建和发布扩展来为 Recordly 添加新功能,例如光标点击音效、设备边框、浏览器模拟外壳、壁纸、渲染钩子、设置面板等等。 浏览并安装社区扩展:[Recordly 扩展市场](https://marketplace.recordly.dev/extensions)。 @@ -152,11 +149,11 @@ Recordly 拥有一个社区驱动的扩展系统。任何人都可以构建和 # 截图

- Recordly editor screenshot + Recordly recording interface screenshot

- Recordly recording interface screenshot + Recordly editor screenshot

@@ -321,12 +318,12 @@ Recordly 将平台相关的捕获层与基于渲染器的编辑、导出流程 **捕获** - Electron 负责录制流程和应用级控制 -- macOS 使用原生的 ScreenCaptureKit 辅助程序 -- Windows 在可用时使用原生 Windows Graphics Capture(WGC)以及原生音频辅助程序 +- macOS 使用原生 ScreenCaptureKit 辅助程序 +- Windows 在可用时使用原生 Windows Graphics Capture(WGC)辅助程序和原生音频辅助程序 **编辑** - 时间线区域定义缩放、裁剪、变速、音频叠加和注释 -- 光标和摄像头样式由编辑器状态统一控制 +- 光标和摄像头样式都保存在编辑器状态中 **渲染** - 场景合成由 **PixiJS** 负责 @@ -375,6 +372,8 @@ https://github.com/webadderallorg/Recordly/issues - buildwithfur - Tobias - Anonymous Supporter +- Tandava Appadoo +- Digitalfastmind - Roberto Marcelino - Rajan RK - Francesco @@ -389,13 +388,11 @@ Recordly 基于 **AGPL 3.0** 发布。 --- ---- - # 致谢 ## 鸣谢 -Recordly 最初是从 [OpenScreen](https://github.com/siddharthvaddem/openscreen) 分叉而来,之后已逐步演变为不同的项目。 +Recordly 最初是从 [OpenScreen](https://github.com/siddharthvaddem/openscreen) 分叉而来,之后已逐步演变为一个不同的项目。 创建者 [@webadderall](https://x.com/webadderall) diff --git a/CursorLoop.gif b/docs/media/CursorLoop.gif similarity index 100% rename from CursorLoop.gif rename to docs/media/CursorLoop.gif diff --git a/CursorSwayDemo.gif b/docs/media/CursorSwayDemo.gif similarity index 100% rename from CursorSwayDemo.gif rename to docs/media/CursorSwayDemo.gif diff --git a/demo.gif b/docs/media/demo.gif similarity index 100% rename from demo.gif rename to docs/media/demo.gif diff --git a/feature1.gif b/docs/media/feature1.gif similarity index 100% rename from feature1.gif rename to docs/media/feature1.gif diff --git a/feature2.gif b/docs/media/feature2.gif similarity index 100% rename from feature2.gif rename to docs/media/feature2.gif diff --git a/feature3.png b/docs/media/feature3.png similarity index 100% rename from feature3.png rename to docs/media/feature3.png diff --git a/Minimal Cursor.svg b/src/assets/cursors/custom/minimal-cursor.svg similarity index 100% rename from Minimal Cursor.svg rename to src/assets/cursors/custom/minimal-cursor.svg diff --git a/src/components/video-editor/SettingsPanel.tsx b/src/components/video-editor/SettingsPanel.tsx index d7bdef8c..71c9ce53 100644 --- a/src/components/video-editor/SettingsPanel.tsx +++ b/src/components/video-editor/SettingsPanel.tsx @@ -40,7 +40,7 @@ import { isVideoWallpaperSource, } from "@/lib/wallpapers"; import { type AspectRatio } from "@/utils/aspectRatioUtils"; -import minimalCursorUrl from "../../../Minimal Cursor.svg"; +import minimalCursorUrl from "@/assets/cursors/custom/minimal-cursor.svg"; import { useI18n, useScopedT } from "../../contexts/I18nContext"; import type { AppLocale } from "../../i18n/config"; import { SUPPORTED_LOCALES } from "../../i18n/config"; diff --git a/src/components/video-editor/videoPlayback/cursorRenderer.ts b/src/components/video-editor/videoPlayback/cursorRenderer.ts index f463c3f0..0402c412 100644 --- a/src/components/video-editor/videoPlayback/cursorRenderer.ts +++ b/src/components/video-editor/videoPlayback/cursorRenderer.ts @@ -2,7 +2,7 @@ import { Assets, BlurFilter, Container, Graphics, Sprite, Texture } from "pixi.j import { MotionBlurFilter } from "pixi-filters/motion-blur"; import { getRenderableAssetUrl } from "@/lib/assetPath"; import { extensionHost } from "@/lib/extensions"; -import minimalCursorUrl from "../../../../Minimal Cursor.svg"; +import minimalCursorUrl from "@/assets/cursors/custom/minimal-cursor.svg"; import { type CursorStyle, type CursorTelemetryPoint,