v1.1.1 Stable Windows 10 / 11 (64-bit) • Local SQLite + UTF-8 BOM CSV • Channel-Wide Multi-Language Translation
YT
Shirube Transcript Tool
yt.shirube.fyi • v1.1.1
Download Features Getting Started Installation How to Use Troubleshooting & FAQ Guides Changelog
Architecture & Capabilities

Engineered for Bulk Channel Extraction & Translation

Every component in Shirube YouTube Transcript Tool v1.1.1 is built around deterministic local storage, transparent error reporting, and zero external data leakage.

1. Fast Flat-Playlist Channel Indexing (core/crawler.py)

Instead of requiring a Google Cloud project and burning through the YouTube Data API v3’s 10,000-unit daily quota, the crawler uses yt-dlp with extract_flat="in_playlist". It normalizes @handle, /channel/UC..., and playlist URLs and discovers video IDs, titles, durations, and upload dates without downloading media streams. In test10 mode, it sets playlistend=25 so initial testing starts in 1–2 seconds even on 5,000-video channels.

2. Multi-Language Batch Translation (core/extractor.py)

Select a target translation language (en, ja, es, fr, de, pt, ko, zh-Hans) in the GUI or pass --translate-to in the CLI. You can translate on-the-fly during channel extraction or retroactively translate an existing channel_cache.db using the 🌐 Translate Cached button (--mode translate_existing).

3. SQLite State Machine & Incremental Sync (core/db.py)

All metadata, transcripts, translations, and error logs are stored in channel_cache.db inside your output folder. Upserting a channel never overwrites completed transcripts. You can safely pause a job at any time, retry only failed network errors (retry_failed), or re-run a month later to fetch only newly published videos.

4. Separated User Settings & Sanitized Diagnostics (core/config.py & diagnostics.py)

User preferences are persisted in %APPDATA%\ShirubeYTTranscript\config.json—completely separate from the application folder and output directories—so upgrading to a newer version never resets your configuration. The one-click 🩺 Save Diagnostic Log exporter automatically strips OS usernames, API keys, cookies, and proxy credentials before writing a local troubleshooting report.

Output Files & CSV Schema Specification

All CSV files are encoded in utf-8-sig (UTF-8 with BOM) so Microsoft Excel on Windows opens multi-language text without character corruption.

File Columns / Structure Purpose
videos.csv video_id, title, url, published_at, duration_seconds, transcript_status, transcript_language, transcript_file, error_message Master index of every video discovered on the channel and its extraction status.
transcripts.csv video_id, title, url, language, transcript_text, transcript_source, [translated_language, translated_text, translated_file], retrieved_at Full continuous transcript text + optional batch translation for spreadsheets, Python/Pandas, or LLM pipelines.
errors.csv video_id, url, error_message, retry_count, last_attempted_at Audit log of videos without captions (no_transcript) or temporary network/rate-limit errors (error).
transcripts/{id}.txt Metadata header + [MM:SS] or [HH:MM:SS] timestamped lines Complete timestamped transcript per video (plus {id}.{target_lang}.txt when translated).