eSearch 录屏功能完全指南:常规录屏与超级录屏自动运镜实战详解
【免费下载链接】eSearch截屏 离线OCR 搜索翻译 以图搜图 贴图 录屏 万向滚动截屏 屏幕翻译 Screenshot Offline OCR Search Translate Search for picture Paste the picture on the screen Screen recorder Omnidirectional scrolling screenshot Screen translator 支持Windows Linux macOS项目地址: https://gitcode.com/GitHub_Trending/es/eSearch
本文围绕 eSearch 的录屏模块展开,系统讲解两大录屏能力:面向会议、游戏等长视频场景的常规录屏,以及面向教程、操作演示、自带自动运镜的超级录屏。你将掌握两种模式的完整操作流程(音频输入、摄像头虚拟背景、裁切导出、运镜关键帧编辑、帧级导航与多格式导出),并结合仓库源码理解其底层实现(MediaRecorder 采集、FFmpeg 分段转换、帧缓冲编辑器),做到既能上手操作、也能读懂原理。
一、两种录屏模式:先分清再选择
eSearch 的录屏功能在设置中被划分为两个入口,官方设置页的定位如下(见 src/renderer/setting/setting.ts):
分为标准录屏和超级录屏,标准录屏适合长时间录制,超级录屏适合录制操作演示,提供自动运镜效果。
| 维度 | 常规录屏(标准录屏) | 超级录屏 |
|---|---|---|
| 适用场景 | 会议、游戏等长视频 | 教程、计算机操作演示 |
| 是否支持声音 | 支持(系统内录 / 麦克风) | 不支持声音 |
| 特色功能 | 摄像头 + AI 虚拟背景 | 自动运镜、帧级编辑 |
| 时长 | 无固定限制(可按需分段转换) | 默认最大 5 分钟(考虑性能) |
| 录制结束 | 控制面板裁剪首尾后保存 | 全屏编辑器精修后导出 |
两者在源码中也是完全独立的实现:常规录屏 基于MediaRecorder+ FFmpeg 转码;超级录屏 则是逐帧编码 + 内存中的帧序列编辑。
二、常规录屏:长视频录制完整流程
2.1 开始录制与控制面板
启动录屏后,屏幕中央会弹出录制控制面板,点击面板上的红色按钮即可开始录制(源码中对应 recorder.ts 的startStop按钮:开始前显示start_record图标,录制中切换为stop_record图标)。
控制面板在录制开始前提供三个核心设置:
- 格式:选择输出格式,源码中支持
mp4、webm、gif、mkv、mov、ts、mpeg、flv共 8 种(见 recorder.ts); - 选择输入音频:勾选要录制的音频输入设备,见下文;
- 摄像头:勾选开启后,摄像头画面会以画中画形式叠加到录屏中。
开始录制后,控制面板自动切换为录制状态:显示当前录制时间、停止录制按钮和放弃录制按钮。
2.2 音频输入:系统内录与麦克风
录制控制面板中可以勾选录音设备来控制音频输入。eSearch 将音频来源分为两类:
- 系统内录:即录制电脑内部声音(如播放器的声音)。源码中通过
getUserMedia的mandatory.chromeMediaSource: "desktop"捕获桌面音频(见 recorder.ts); - 麦克风:通过
navigator.mediaDevices.enumerateDevices()枚举所有audioinput设备并列出(见 recorder.ts),可多选、组合录制。
前提条件:系统内录选项只有在设置中开启「系统内录」后才会出现在面板里(设置项
录屏.音频.启用系统内录,源码注释说明该选项可避免某些平台下桌面音频采集导致应用崩溃,见 recorder.ts)。
2.3 摄像头与 AI 虚拟背景
在控制面板开启摄像头后,你可以在设置中配置摄像头行为,尤其是虚拟背景——当你不希望真实环境出镜时,可以通过 AI 技术替换背景。设置项录屏.摄像头.背景.模式提供五种模式(见 setting.ts):
| 模式值 | 含义 |
|---|---|
none | 正常显示真实背景 |
hide | 隐藏背景(只保留人物) |
blur | 模糊背景 |
img | 用图片替换背景 |
video | 用视频替换背景 |
配套设置还包括:背景模糊程度(录屏.摄像头.背景.模糊)、背景图片路径(录屏.摄像头.背景.imgUrl)、背景视频路径(录屏.摄像头.背景.videoUrl)、图片/视频填充模式(cover裁剪适应 /fit拉伸填充,见 setting.ts)、以及摄像头镜像(录屏.摄像头.镜像)。
文档也给出了务实建议:最好的方式是在一个独立的摄像头录制环境(比如一面白墙),虚拟背景更多是娱乐性质的功能,因为复杂环境下 AI 抠像效果有限。
2.4 录制中的操作
录制进行时,顶部会出现一条录制条:
- 实时显示录制时间(源码中
setInterval(getTime, 500)每 500ms 刷新一次,见 recorder.ts); - 停止录制:结束并进入后处理;
- 暂停 / 继续:录制期间可暂停,暂停时段不计入总时长(源码用
timeL时间戳数组记录有效录制区间来计算实际时长,见 recorder.ts); - 放弃录制:直接丢弃本次录制并关闭窗口(见 recorder.ts)。
2.5 录制结束:裁切首尾并保存
停止录制后,录制窗口切换为编辑状态(源码showControl(),见 recorder.ts):
- 修改首尾时间裁切录屏:通过「开始时间」「结束时间」两个时间输入框(支持
时:分:秒.毫秒格式及上下箭头微调)框定保留区间,视频预览会实时跟随; - 选择保存位置:点击保存按钮后弹出系统保存对话框;
- 等待视频处理完成:处理分三个阶段,界面有对应进度条(见 recorder.ts):
- ts(转换):将录制得到的 webm 临时文件按设置的间隔切段并转码为目标格式;
- clip(裁剪):按你裁切的首尾时间对相关分段进行截取;
- join(合并):将多个分段按格式合并(gif 用
filter_complex concat,mp4/webm 等用concat demuxer + copy,见 recorder.ts)。
处理失败时可点击进度条重试,展开「FFmpeg 错误日志」可查看具体命令与输出(见 recorder.ts)。所有转码均通过调用 FFmpeg 命令行完成,Linux 上要求系统可执行ffmpeg命令,Windows/macOS 则随应用打包 ffmpeg(见 recorder.ts),因此使用前请确保 FFmpeg 可用。
三、超级录屏:自动运镜的操作演示录制
3.1 什么是超级录屏
超级录屏专为教程、计算机操作演示设计,核心能力是自动运镜:录制过程中自动聚焦鼠标所在位置,观众能始终看清当前操作区域,无需手动跟拍。出于性能考虑(逐帧编码与帧缓冲占用内存),默认最大只支持录制 5 分钟。
需要特别说明:超级录屏不支持录制声音,需要讲解配音时请另行录制音轨。
3.2 编辑窗口布局
录制结束后,编辑窗口会全屏展示。从上到下依次为:
- 播放器:预览录制内容,支持帧级跳转播放;
- 播放器控制器:播放/暂停、时间跳转、进度条等;
- 预览轴:整体时间进度概览,可点击跳转;
- 运镜轴:超级录屏的核心编辑区,见下文;
- 帧轴:当前帧附近的帧预览缩略图;
- 导出:选择格式并导出成品。
[!TIP] 在当前帧下,可使用截屏打开该帧,进行编辑、保存等操作。当然,这不会影响录屏内容本身,因为录屏编辑器不是专业的视频编辑器,截图编辑仅用于素材再利用。
3.3 播放器与帧跳转
播放器可以以帧为单位跳转播放,帧轴同样支持点击跳转到任意帧。底部还提供了精确到毫秒的时间轴与进度条,配合导航快捷键可实现快速定位(见下文 3.6)。
3.4 运镜轴:四条轨道详解
运镜轴由4 条轴组成,从上到下分别是镜头轴、速度轴、事件轴和移除轴(对应源码中uiData的clipList、speed、eventList、remove四组数据,见 videoEditor.ts)。
注意:运镜轴按帧均匀显示,而不是按时间显示,所以可能与预览轴的播放指示存在错位,编辑时需留意。
- 镜头轴:管理镜头关键点。双击镜头轴空白位置可新建关键点;
- 速度轴:控制播放速度变化区间。拖动可创建关键区间,区间可移动、可改变大小,右键删除区间;
- 事件轴:标记事件(如按键、鼠标点击等操作事件)区间,操作方式同上;
- 移除轴:标记需要删除的帧区间,实现掐头去尾、删帧,操作方式同上。
3.5 镜头位置编辑
点击镜头关键点即可进入该关键帧的镜头编辑状态(源码对应 videoEditor.ts):
- 拖动框选:移动镜头聚焦位置(改变取景中心,对应
clipControl的拖拽逻辑); - 滚轮缩放:改变镜头大小,即变焦效果(源码中滚轮事件按
deltaY等比缩放,见 videoEditor.ts); - 过渡:镜头的改变有过渡时间和过渡动画。可改变过渡完成的帧(将关键点移到目标帧),可设置过渡的时间(输入框单位为毫秒,见 videoEditor.ts)。
编辑完成后点击保存,镜头位置变更即写入运镜数据;也可「移到上一帧 / 下一帧」快速在相邻关键点间切换。
3.6 导航快捷键
在预览轴、运镜轴顶部、帧轴上点击均可直接跳转。此外支持按钮 + 修饰键的精准跳转:
| 按钮 | 基础 | +Ctrl | +Shift |
|---|---|---|---|
</> | 跳转 1 帧 | 跳转 10 帧 | 跳转 100 帧 |
<</>> | 跳转 1 秒 | 跳转 10 秒 | 跳转 60 秒 |
3.7 帧轴
帧轴显示当前暂停帧附近的几个帧预览,方便逐帧核对操作细节。每帧下方提示两类信息:
- 该帧的时间;
- 该帧对应播放序列的编号(从 0 开始)。
如果删除了某些帧(通过移除轴),后面的帧还会提示其未删除前的编号(也就是运镜轴的编号),便于理解删帧后的对应关系。
3.8 导出
超级录屏支持导出为Gif、mp4、webm、apng、png等格式(见 videoEditor.ts 的outputType,其中 gif 可选抖动算法floyd-steinberg,webm/mp4 可选编码器),并支持设置导出分辨率。导出流程对应 videoEditor.ts,完成后若开启了「导出后关闭」会自动关闭窗口。
四、录屏相关设置一览
以下设置项均可在 eSearch 设置页的「录屏」分组中修改,定义位于 src/renderer/setting/setting.ts:
| 设置项 | 说明 | 取值范围/选项 |
|---|---|---|
录屏.自动录制 | 打开录屏后自动开始录制 | 开关(超级录屏默认开启) |
录屏.自动录制延时 | 自动录制的倒计时 | 0–10 秒 |
录屏.视频比特率 | 录制视频比特率 | 1–40 Mbps,步进 0.5 |
录屏.提示.键盘.开启/位置/大小 | 键盘按键提示(展示 Ctrl、Shift 等按键动画) | 位置可拖动,大小 0.25–5 倍 |
录屏.提示.鼠标.开启 | 鼠标按键提示 | 开关 |
录屏.提示.光标.开启/样式 | 光标提示与自定义样式 | 开关 + 样式文本 |
录屏.摄像头.开启/镜像 | 摄像头画中画及镜像 | 开关 |
录屏.摄像头.背景.模式 | 虚拟背景模式 | none / hide / blur / img / video |
录屏.摄像头.背景.模糊 | 背景模糊强度 | 像素值 |
录屏.摄像头.背景.imgUrl/videoUrl | 背景图片/视频路径 | 文件路径 |
录屏.摄像头.背景.fit | 背景填充方式 | cover(裁剪适应)/ fit(拉伸填充) |
录屏.音频.启用系统内录 | 是否允许系统内录 | 开关(开启后界面才可选内录) |
录屏.转换.分段 | 边录边转的分段间隔,0 为不分段 | 秒 |
录屏.转换.格式 | 常规录屏输出格式 | mp4 / webm / gif / mkv / mov / ts / mpeg / flv |
录屏.转换.码率 | 转码码率 | Mbps(超级录屏同样适用) |
录屏.转换.帧率 | 转码帧率 | fps(超级录屏同样适用) |
录屏.转换.其他 | 追加的 FFmpeg 参数 | 自由文本 |
录屏.转换.高质量gif | 高质量 GIF(palette 调色板转换) | 开关(转换速度会很慢) |
录屏.超级录屏.编码选择 | 超级录屏编码策略 | 性能优先 / 内存优先 |
录屏.超级录屏.关键帧间隔 | 帧编码关键帧间隔 | 1–500,越小处理越快但内存占用越高 |
录屏.超级录屏.导出后关闭 | 导出完成后关闭编辑器 | 开关 |
五、注意事项与故障排查
- 权限:录屏与录音需要系统授权。若长时间停留在「等待录屏权限和录音权限获取」对话框,请在系统设置中手动批准权限(源码在启动时弹出该提示,见 recorder.ts);
- FFmpeg 依赖:常规录屏的转换、裁剪、合并依赖 FFmpeg。Linux 需确保
ffmpeg命令可用,否则会弹出「请安装 FFmpeg」提示(见 recorder.ts); - 内存:超级录屏将帧序列缓存在内存中,时长受内存约束;主进程在检测到内存不足时会发出「录屏内存不足,将自动结束录屏」的系统通知(见 src/main/main.ts),并可在设置中调整关键帧间隔、编码策略(内存优先)来缓解;
- 时长限制:超级录屏默认最大 5 分钟,可在设置中修改(以当前仓库设置页实际提供的选项为准)。
六、小结
eSearch 的录屏能力覆盖了从「随手录一段长视频」到「精细制作操作演示」的完整链路:常规录屏借助MediaRecorder采集 + FFmpeg 分段转码,实现可裁剪、可多格式输出的长时间录制;超级录屏则通过逐帧编码与运镜轨道(镜头 / 速度 / 事件 / 移除)提供了媲美专业录屏软件的关键帧运镜编辑。理解上述操作流程与源码实现,你就能在录制会议、游戏或教程时,针对不同场景选择最合适的录制与后期方案。
【免费下载链接】eSearch截屏 离线OCR 搜索翻译 以图搜图 贴图 录屏 万向滚动截屏 屏幕翻译 Screenshot Offline OCR Search Translate Search for picture Paste the picture on the screen Screen recorder Omnidirectional scrolling screenshot Screen translator 支持Windows Linux macOS项目地址: https://gitcode.com/GitHub_Trending/es/eSearch
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考