Windrecorder:连续记录屏幕内容,通过OCR技术识别记录内容

工具软件1年前 (2023)发布 gpts
67 0

这是一款可以持续记录屏幕画面、通过关键词搜索等方式随时找回相关记忆的工具。

它的所有能力(录制、识别处理、存储回溯等)完全运行在本地,无需联网,不上传任何数据,只做应该做的事。

 该项目仍在较早期开发阶段,体验与使用上可能会遇上些小问题。如果遇到,欢迎提出 issue 反馈与关注更新

安装

  • 下载 ffmpeg ,将其中bin目录下的ffmpeg.exe解压至 C:\Windows\System32 下(或其他位于 PATH 的目录下)

  • 安装 Git、Python(安装时勾选 Add python.exe to PATH)、Pip;

    • 注意!目前暂未支持 python 3.12,推荐使用 python 3.10,即上面链接指向的版本
  • 导航到想要安装此工具的目录下(推荐放在空间富足的分区中),通过终端命令 git clone https://github.com/Antonoko/Windrecorder 下载该工具;

    • 可以打开想要安装的文件夹,在路径栏输入cmd并回车,进入当前目录终端,将以上命令贴入、回车执行;
  • 打开目录下的install_update_setting.bat进行工具安装与配置,顺利的话就可以开始使用了!

    • 如因网络原因报错,可在脚本安装依赖前添加代理set https_proxy=http://127.0.0.1:xxxx、或添加大陆镜像源;

如何使用

  • 通过打开目录下的start_record.bat开始记录屏幕;

注意:需要一直将终端窗口最小化放在后台运行来记录。同样地,当需要暂停录制时只需关闭终端窗口即可。

  • 通过打开目录下的start_webui.bat来回溯、查询记忆、进行设置;

最佳实践:在webui中设置开机自启动start_record.bat,即可无感记录下一切。当电脑空闲无人使用时,start_record.bat会自动暂停录制并压缩、清理过期视频;Just set it and forget it!

Roadmap

  •  以较小的文件体积稳定持续地录制屏幕
  •  只识别发生变化的画面,在数据库中存储索引
  •  完善的图形界面(webui)
  •  词云、时间轴、光箱、散点图的数据总结
  •  录制完片段后自动识别,闲时自动维护、清理与压缩视频
  •  多语言支持:已完成界面与 OCR 识别的 i18n 支持。
  •  优化流程,提升性能
  •  添加画面模态的识别,以实现对画面内容描述的搜索
  •  记录前台进程名与记录OCR词语对应位置,以在搜索时作为线索呈现
  •  添加数据库加密功能
  •  添加词嵌入索引、本地/API LLM 查询
  •  添加多屏幕的记录支持(取决于 pyautogui 未来特性加入)

Q&A | 常见问题

Q: 在打开webui时提示:FileNotFoundError: [WinError 2] The system cannot find the file specified: ‘./db\\user_2023-10_wind.db-journal’

  • A: 通常在初次访问 webui 时、start_record.bat 仍正在索引数据时出现。解决方法:在 start_record.bat 后台索引完毕后,删除 db 文件夹下对应后缀为 _TEMP_READ.db 的数据库文件后刷新即可。

Q: 录制过程中鼠标闪烁

  • A:Windows历史遗留问题,可尝试该帖方法解决🤔。(其实习惯了不去在意也还好(逃

Q: Windows.Media.Ocr.Cli OCR 不可用/识别率过低

  • A1: 检查系统中是否添加了目标语言的语言包/输入法:https://learn.microsoft.com/en-us/uwp/api/windows.media.ocr

  • A2: 早期版本的默认策略会将高度大于 1500 的屏幕分辨率视为「高 DPI /高分辨率屏幕」,其录制视频分辨率将缩小至原来的四分之一。比如在 3840×2160 的 4k 显示器上,录制视频的分辨率将为 1920×1080,而这可能导致 OCR 识别准确率的下降。如果你在高分辨率屏幕上使用较小的字体或缩放,可以前往录制与视频存储中关闭此选项,且可以将原视频保留几天后进行压缩的天数设定为较小的值,从而在视频 OCR 索引后一段时间压缩视频体积。

项目链接

https://github.com/Antonoko/Windrecorder

© 版权声明

相关文章