NoteTaker is an automated video note generation tool. It can automatically extract and convert Bilibili videos into rich, visually illustrated Markdown notes via an LLM processing pipeline.
NoteTaker adopts a two-step core workflow:
- Extract video subtitles and utilize an LLM to analyze and summarize the subtitle content, identifying key visual moments and deducing their corresponding timestamps.
- Automatically dispatch FFmpeg using the AI-extracted timestamps to capture video frames, then seamlessly insert these screenshots into the Markdown notes to create an illustrated reading experience.
Supported Features:
- Automated downloading of remote videos and subtitles (via BBDown).
- If a video lacks subtitles, it will automatically dispatch a Python audio recognition script to locally generate them.
- Support for processing multi-part (playlist) videos.
Before running the program, please ensure the following dependencies are properly installed and correctly configured in your environment:
- FFmpeg: Used for precise frame extraction based on timestamps.
- BBDown: Integrated component for downloading Bilibili audio and video.
- Python: A Python environment containing the
funasrspeech recognition library. It is highly recommended to useuvfor dependency management.
The project uses environment variables for baseline configuration. Please create a .env file in the root directory and fill in the following parameters:
# AI model service authentication (Supports OpenAI-compatible API gateways)
OPENAI_API_KEY=your_api_key_here
CUSTOM_OPENAI_URL=https://api.openai.com/v1/
CUSTOM_GREAT_MODEL_NAME=gpt-4o
# Third-party executables/environments path configuration
BBDown_PATH=/path/to/BBDown
PYTHON_PATH=/path/to/virtual_envs/bin/python
# Output directory for archived notes
NOTE_OUTPUT_PATH=/path/to/your/Notes/DirectoryIt is highly recommended to use NoteTaker with Obsidian by setting the NOTE_OUTPUT_PATH to a directory within your Obsidian vault for the best reading experience.
You can download the pre-compiled binary files from GitHub Releases.
Compile and run the core program using the following command:
cargo run --releaseIn the interactive command-line interface that appears, input the BV number (BV 号) / video link you wish to process, follow the terminal prompts, and the process will be fully automated.
