yuka-friends / Windrecorder

Windrecorder is a memory search app by records everything on your screen in small size, to let you rewind what you have seen, query through OCR text or image description, and get activity statistics.
GNU General Public License v2.0
2.7k stars 110 forks source link
ffmpeg productivity rewind search streamlit

Windrecorder

🦝 Windrecorder | Personal Memory Search Engine

An Open Source Mac App Rewind / Copilot Recall alternative tool on Windows to help you retrieve memory cues.

English | 简体中文


Windrecorder is a memory search app by records everything on your screen in small size, to let you rewind what you have seen, query through OCR text or image description, and get activity statistics. All its capabilities run completely locally, without the need for an Internet connection or uploading any data, you should own all your data.

Windrecorder

Windrecorder currently does:


[!WARNING] This project is still in the early stages of development, and you may encounter some minor problems in experience and use, feel free to submit issue feedback, follow updates, and initiate discussions or roadmap in Discussions. You are also welcome to help us optimize and build the project, submit PR / code review.

🦝 Installation

🦝 How to use

[!TIP] Best practice: Set Run on system startup in webui to record everything without any fuss.

Recording will be automatically paused when there is no change in the picture or the screen is sleeping. When the computer is idle and no one is using it, the tool will automatically maintain the database, compress, and clean up expired videos.

Just set it and forget it!

🦝 How it works

Windrecorder

Windrecorder offers two recording modes for your convenience:

  1. Automatic Flexible Screenshots:

    Upon starting the recording, Windrecorder takes screenshots every 3 seconds (by default), indexing them when content or text changes, allowing real-time rewind. Additionally, every 15 minutes, past screenshots are automatically converted into videos.

    This option consumes low system resources and is suitable for users who need to store, rewind, and search for memory cues.

  2. Direct Video Recording via FFmpeg:

    When recording begins, Windrecorder records video in 15-minute segments, indexing the video clips after recording completion (hence, there may be a 15-minute delay in data querying).

    This option consumes moderate system resources and enables smooth and complete recording of computer activities.

When the screen remains static, window titles or screen content are on the exclusion list, or the computer enters lock screen, recording pauses automatically and performs idle maintenance (compressing and cleaning videos, conducting image recognition embedding, etc.) until the user returns to continue operating the computer.

Video recording size SQlite database size
Per Hour: 2-100 Mb (depends on screen change\number of monitors)
Per Month: 10-20 Gb (depends on screen time) Different video compression presets can compress these data to 0.1-0.7 times the size Per Month: About 160 Mb

🦝 Q&A | Frequently Asked Questions

Q: The mouse pointer flicker during recording (Direct Video Recording via FFmpeg)

Q: There is no data in the recent period when opening webui.

Q: When opening webui, it prompts: FileNotFoundError: [WinError 2] The system cannot find the file specified: './db\\user_2023-10_wind.db-journal'

Q: Windows.Media.Ocr.Cli OCR is not available/the recognition rate is too low

More third-party OCR support will be added in the future;

🧡

Thanks to the following projects


🧡 Like this tool? Also check out YUKA NAGASE's gentle music on Youtube and streaming music platforms, thank ya!

"Your tools suck, check out my girl Yuka Nagase, she's amazing, I code 10 times faster when listening to her." -- @jpswing

Vote Windrecorder on Product Hunt:

Windrecorder - search & rewind everything happened on your screen | Product Hunt


🧠 In addition to Windrecorder, what other tools provide similar functions?

Feel free to supplement, and hope you find the tool that suits you:

For more research and discussion on HackerNews: