CapScript Pro is a comprehensive desktop application for searching, viewing, and processing YouTube video captions, featuring an integrated transcript viewer, clip downloader, video list creator, and renderer.
- β¨ Overview
- π Core Features
- π οΈ Prerequisites
- π Installation & Usage
- π Obtaining a YouTube Data API Key
- π Finding a YouTube Channel ID
- π Notes
- π License
- β€οΈ Support Me
- π Issues & Feature Requests
CapScript Pro, built with Python and PySide6, extends beyond simple caption searching. It offers an integrated transcript viewer with a synchronized video player, a clip downloader, a video list creator, and a clip rendering tool. This powerful suite allows users to efficiently find specific content within YouTube videos, extract relevant segments, and manage video lists.
- π₯οΈ Intuitive GUI: Modern user interface with a collapsible sidebar and custom title bar.
- π Advanced Caption Search: By Channel ID or multiple Video IDs (direct input or
.txt
file), with keyword/phrase and language specification. Includes real-time progress and logging. - πΊ Integrated Transcript Viewer: Load search results or standalone transcript files. Clickable timestamps synchronize with an embedded YouTube video player for instant playback.
- βοΈ Clip Downloader: Download short video clips around matched timestamps using
yt-dlp
andffmpeg
. Features automatic download and setup of these dependencies. - β Video List Creator: Discover videos by channel, date range, or title keywords. View thumbnails and drag & drop YouTube URLs to add videos. Save lists for use in the Search tab.
- ποΈ Clip Renderer: Concatenate multiple downloaded clips into a single video file using
ffmpeg
, with progress updates. - π API Key Management: Securely save your YouTube Data API key locally, with an option to show/hide the key.
- π Dependency Management: Automatically checks for and offers to download
yt-dlp
andffmpeg
. - π Organized Output: Saves results into structured folders (
transcripts
,transcripts/clips
,video_lists
). - βοΈ Developer & Automation Support: Includes a powerful Command-Line Interface (CLI) for scripting and automated tasks.
- Python: Version 3.8+ recommended. Download Python.
- Python Libraries:
(Or install from
pip install PySide6 google-api-python-client google-auth-httplib2 google-auth-oauthlib youtube-transcript-api requests
requirements.txt
:pip install -r requirements.txt
)
CapScript Pro can be run in two main ways:
- Download the Latest Release:
- Navigate to the Releases page.
- Download the
CapScriptPro.exe
file (or a.zip
archive containing it).
- Run the Application:
- Place the executable (and any accompanying files/folders if from a zip) in a directory.
- Run
CapScriptPro.exe
.
- API Key Configuration:
- On first launch, go to the Search tab, enter your YouTube Data API key, and click "Save Key". It's stored locally in
preferences.ini
.
- On first launch, go to the Search tab, enter your YouTube Data API key, and click "Save Key". It's stored locally in
- Clone the Repository:
git clone https://github.com/bitArtisan1/CapScript-Pro.git cd CapScript-Pro
- Install Dependencies:
pip install -r requirements.txt
- API Key Configuration & Run:
- Launch by running:
python gui_main.py
- Configure the API key in the Search tab as described in Method 1.
- Launch by running:
- Run the GUI Application:
python gui_main.py
For automation or command-line preference, use cli.py
.
Running the CLI: Navigate to the project directory and execute:
python cli.py [ARGUMENTS]
Key CLI Arguments:
--api-key YOUR_API_KEY
: (Optional) Provide API key directly.--save-api-key
: (Optional) Saves the--api-key
topreferences.ini
.--search-type {channel,video}
: (Required)--keyword "YOUR_SEARCH_TERM"
: (Required)--language LANG_CODE
: (Optional, default: "en")--output-dir PATH_TO_DIR
: (Optional, default: "transcripts")- For
--search-type channel
:--channel-id CHANNEL_ID
: (Required)--max-results NUMBER
: (Optional, default: 10)
- For
--search-type video
:--video-ids "ID1,ID2" OR path/to/ids.txt
: (Required)
CLI Example: Search the last 5 videos of a channel for "python tutorial":
python cli.py --search-type channel --channel-id "UCxxxxxxxxxxxxxxxxxxxxxx" --keyword "python tutorial" --language "en" --max-results 5 --api-key "YOUR_API_KEY" --save-api-key
Search specific video IDs for "data science":
python cli.py --search-type video --video-ids "dQw4w9WgXcQ,anotherVideoID" --keyword "data science"
The CLI shares preferences.ini
with the GUI if run from the same root.
- Go to the Google Developer Console and create a new project.
- Navigate to "APIs & Services" > "Dashboard", click "+ ENABLE APIS AND SERVICES", search for "YouTube Data API v3", and enable it.
- Go to "Credentials" > "Create Credentials" > "API key".
- Restrict API Key (Recommended) for security.
- Go to the YouTube channel in your browser.
- The Channel ID is often in the URL:
https://www.youtube.com/channel/UCxxxxxxxxxxxxxxxxxxxxxx
. - If not, right-click page > "View Page Source" or "Inspect". Search (
Ctrl+F
orCmd+F
) forchannelId
orexternalId
.
preferences.ini
(in application root) stores API key and UI settings.- Downloaded
yt-dlp.exe
andffmpeg.exe
are in a localbin
folder. - Default output folders:
transcripts
,transcripts/clips
,video_lists
. - Videos without captions in the selected language are skipped.
- Important: Respect YouTube Data API quotas.
This project is licensed under the GNU-GPL-v3.0 License - see the LICENSE file for details.
If you find CapScript Pro useful, consider supporting by:
- β Starring the repository on GitHub
- π£οΈ Sharing the tool
- π‘ Providing feedback and suggestions
- β Following for more updates

Keywords to help users find CapScript Pro:
YouTube SEO
, Video Content Strategy
, Content Repurposing
, Video Clipping Tool
, Transcription Software
, YouTube Channel Growth
, Video Marketing
, Python Video Utilities
, Open Source Video Projects
, Multimedia Tools
, YouTube Caption Search
, YouTube Transcript Viewer
, YouTube Clip Downloader
, Subtitle Search Tool
, Closed Caption Finder
, Timestamped Captions
, Batch Video Processing
, Automated Video Downloads
, Video Keyword Search
, yt-dlp GUI
, ffmpeg GUI
, Desktop Application
, Python YouTube Tool
For any issues or feature requests, please open an issue on GitHub. Happy coding!