2026-03-15 14:51:29 +01:00
2026-03-15 14:51:29 +01:00
2026-03-15 14:51:29 +01:00
2026-03-15 14:51:29 +01:00
2026-03-15 14:51:29 +01:00
2026-03-15 14:51:29 +01:00
2026-03-15 14:51:29 +01:00
2026-03-15 14:51:29 +01:00
2026-03-15 14:51:29 +01:00
2026-03-15 14:51:29 +01:00
2026-03-15 14:51:29 +01:00
2026-03-15 14:51:29 +01:00

YouTube Summarizer

This is a local-first desktop app for summarizing YouTube videos with Ollama.

It uses:

  • Tauri for the desktop shell
  • a bundled Python backend for transcript/audio processing in release builds
  • Ollama on localhost for summarization and translation
  • SQLite for local history

What It Does

Given a YouTube URL, the app can:

  • fetch a transcript via the YouTube transcript API or via Whisper
  • generate an English summary with a local Ollama model
  • optionally translate that summary into German and Japanese
  • store the results locally so they can be reopened later

Local-Only Behavior

This repository is intentionally reset to a clean publishable state:

  • no Discord webhook integration
  • no remote PHP/MySQL sync
  • no bundled production data or pre-filled database
  • runtime data is stored in the OS app data directory, not in the repo

End User Requirements

If you ship a built installer, the user should only need:

  • Ollama installed locally
  • the Ollama model they want to use pulled locally

Notes:

  • The installer is designed to bundle the backend helper plus ffmpeg / ffprobe.
  • Whisper model weights are not bundled; the selected Whisper model is downloaded on first use and then cached locally.

Developer Requirements

For development in this repo you still need:

  • Python 3.8+
  • Rust/Cargo
  • FFmpeg in PATH
  • Ollama running locally on http://localhost:11434

Python dependencies are listed in requirements.txt.

Run In Development

macOS/Linux:

./run.sh

Windows:

run.bat

Or directly:

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cargo run --manifest-path src-tauri/Cargo.toml

The app prefers a bundled backend executable when one is present under src-tauri/resources/backend, and otherwise falls back to the local Python environment for development.

Build A Shippable Bundle

  1. Make sure the build machine has Python, Rust/Cargo, and ffmpeg / ffprobe available on PATH.
  2. Run:
python3 tools/prepare_bundle.py
  1. Then build the installer:
cargo tauri build

What tools/prepare_bundle.py does:

Build once on each target OS you want to ship. For Windows 10, build on Windows.

Build On GitHub Actions

A Windows build workflow is included at .github/workflows/windows-installer.yml.

It runs on windows-latest, installs ffmpeg and NSIS, prepares the bundled Python backend with tools/prepare_bundle.py, builds an NSIS installer, and uploads the result as a workflow artifact named windows-installer.

Notes

  • If Python is not on your PATH for development, set YTS_PYTHON to the interpreter you want the Tauri backend to use.
  • If you want to test a prebuilt backend executable during development, set YTS_BACKEND_BIN to its full path.
  • If ffmpeg or ffprobe are not on PATH during bundle prep, set YTS_FFMPEG and YTS_FFPROBE to their full paths before running tools/prepare_bundle.py.
  • Generated thumbnails and the SQLite database are created on first run in the app's local data directory.
Description
A command-line tool for summarizing YouTube videos with translation support.
Readme 77 KiB
Languages
Python 44.6%
Rust 27.4%
JavaScript 21.8%
HTML 4.9%
Shell 0.7%
Other 0.6%