{"id":28043698,"url":"https://github.com/bitartisan1/capscript-pro","last_synced_at":"2025-07-19T04:34:24.249Z","repository":{"id":260232263,"uuid":"669578030","full_name":"bitArtisan1/CapScript-Pro","owner":"bitArtisan1","description":"CapScript Pro is a comprehensive desktop application for searching, viewing, and processing YouTube video captions. It features an integrated transcript viewer, clip downloader, video list creator, and renderer, designed to streamline your video content workflow. Also provides support for CLI use","archived":false,"fork":false,"pushed_at":"2025-05-07T21:29:15.000Z","size":5397,"stargazers_count":10,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-05T00:14:52.893Z","etag":null,"topics":["caption-bot","captions","ffmpeg","gui","language","python","render","script","search","subtitles","transcripts","words","youtube","youtube-api","youtube-bot","youtube-channel","youtube-video","yt-dlp"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bitArtisan1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-07-22T18:22:43.000Z","updated_at":"2025-06-03T20:50:12.000Z","dependencies_parsed_at":"2024-10-30T09:35:33.216Z","dependency_job_id":"b315d134-7fb0-4a64-bfa2-910d83779e99","html_url":"https://github.com/bitArtisan1/CapScript-Pro","commit_stats":null,"previous_names":["bitartisan1/capscript","git-aamar/capscript"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/bitArtisan1/CapScript-Pro","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitArtisan1%2FCapScript-Pro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitArtisan1%2FCapScript-Pro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitArtisan1%2FCapScript-Pro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitArtisan1%2FCapScript-Pro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bitArtisan1","download_url":"https://codeload.github.com/bitArtisan1/CapScript-Pro/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitArtisan1%2FCapScript-Pro/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265889025,"owners_count":23844538,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["caption-bot","captions","ffmpeg","gui","language","python","render","script","search","subtitles","transcripts","words","youtube","youtube-api","youtube-bot","youtube-channel","youtube-video","yt-dlp"],"created_at":"2025-05-11T16:54:44.183Z","updated_at":"2025-07-19T04:34:24.193Z","avatar_url":"https://github.com/bitArtisan1.png","language":"Python","funding_links":["https://ko-fi.com/D1D11CZNM1"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://ko-fi.com/D1D11CZNM1\"\u003e\n    \u003cimg src=\"https://ko-fi.com/img/githubbutton_sm.svg\" alt=\"Support me on Ko-fi\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n  \n# 🎬 CapScript Pro: Advanced YouTube Caption Search \u0026 Clip Tool\n\n\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"Python Version\" src=\"https://img.shields.io/badge/python-3.8+-red.svg\"\u003e\n  \u003cimg alt=\"License\" src=\"https://img.shields.io/badge/license-GPLv3-green.svg\"\u003e \n  \u003ca href=\"https://github.com/bitArtisan1/CapScript-Pro/releases\"\u003e\n    \u003cimg alt=\"Latest Release\" src=\"https://img.shields.io/github/v/release/bitArtisan1/CapScript-Pro\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n**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.**\n\n  \u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://github.com/user-attachments/assets/7e262078-666a-4057-9db7-41c5b5aec8ce\" alt=\"Image Description\" width=700px\u003e\n  \u003c/p\u003e\n\n---\n\n## 📖 Table of Contents\n- [✨ Overview](#-overview)\n- [🌟 Core Features](#-core-features)\n- [🛠️ Prerequisites](#️-prerequisites)\n- [🚀 Installation \u0026 Usage](#-installation--usage)\n  - [Method 1: Pre-built Executable](#method-1-using-the-pre-built-executable-recommended-for-most-users)\n  - [Method 2: Running from Source](#method-2-running-from-source-for-developers-or-users-who-prefer-python)\n  - [Command-Line Interface (CLI)](#command-line-interface-cli-usage)\n- [🔑 Obtaining a YouTube Data API Key](#-obtaining-a-youtube-data-api-key)\n- [🆔 Finding a YouTube Channel ID](#-finding-a-youtube-channel-id)\n- [📝 Notes](#-notes)\n- [📜 License](#-license)\n- [❤️ Support Me](#️-support-me)\n- [🐛 Issues \u0026 Feature Requests](#-issues--feature-requests)\n\n---\n\n## ✨ Overview\nCapScript 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.\n  \n## 🌟 Core Features\n-   **🖥️ Intuitive GUI**: Modern user interface with a collapsible sidebar and custom title bar.\n-   **🔍 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.\n-   **📺 Integrated Transcript Viewer**: Load search results or standalone transcript files. Clickable timestamps synchronize with an **embedded YouTube video player** for instant playback.\n-   **✂️ Clip Downloader**: Download short video clips around matched timestamps using `yt-dlp` and `ffmpeg`. Features **automatic download and setup** of these dependencies.\n-   **➕ Video List Creator**: Discover videos by channel, date range, or title keywords. View thumbnails and **drag \u0026 drop YouTube URLs** to add videos. Save lists for use in the Search tab.\n-   **🎞️ Clip Renderer**: Concatenate multiple downloaded clips into a single video file using `ffmpeg`, with progress updates.\n-   **🔑 API Key Management**: Securely save your YouTube Data API key locally, with an option to show/hide the key.\n-   **🔗 Dependency Management**: Automatically checks for and offers to download `yt-dlp` and `ffmpeg`.\n-   **📁 Organized Output**: Saves results into structured folders (`transcripts`, `transcripts/clips`, `video_lists`).\n-   **⚙️ Developer \u0026 Automation Support**: Includes a powerful **Command-Line Interface (CLI)** for scripting and automated tasks.\n\n---\n\n## 🛠️ Prerequisites (FOR DEVELOPER USE ONLY, NOT REQUIRED FOR RELEASES)\n1.  **Python**: Version 3.8+ recommended. [Download Python](https://www.python.org/downloads/).\n2.  **Python Libraries**:\n    ```bash\n    pip install PySide6 google-api-python-client google-auth-httplib2 google-auth-oauthlib youtube-transcript-api requests\n    ```\n    *(Or install from `requirements.txt`: `pip install -r requirements.txt`)*\n---\n\n## 🚀 Installation \u0026 Usage\n\nCapScript Pro can be run in two main ways:\n\n### **Method 1: Using the Pre-built Executable (Recommended for most users)**\n\n1.  **Download the Latest Release**:\n    *   Navigate to the **[Releases page](https://github.com/bitArtisan1/CapScript-Pro/releases)**.\n    *   Download the `CapScriptPro.exe` file (or a `.zip` archive containing it).\n2.  **Run the Application**:\n    *   Place the executable (and any accompanying files/folders if from a zip) in a directory.\n    *   Run `CapScriptPro.exe`.\n3.  **API Key Configuration**:\n    *   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`.\n\n### **Method 2: Running from Source (For developers or users who prefer Python)**\n\n1.  **Clone the Repository**:\n    ```bash\n    git clone https://github.com/bitArtisan1/CapScript-Pro.git\n    cd CapScript-Pro\n    ```\n2.  **Install Dependencies**:\n    ```bash\n    pip install -r requirements.txt \n    ```\n3.  **API Key Configuration \u0026 Run**:\n    *   Launch by running: `python gui_main.py`\n    *   Configure the API key in the **Search** tab as described in Method 1.\n4.  **Run the GUI Application**:\n    ```bash\n    python gui_main.py\n    ```\n---\n\n### **Command-Line Interface (CLI) Usage**\n\nFor automation or command-line preference, use `cli.py`.\n\n**Running the CLI:**\nNavigate to the project directory and execute:\n```bash\npython cli.py [ARGUMENTS]\n```\n\n**Key CLI Arguments:**\n*   `--api-key YOUR_API_KEY`: (Optional) Provide API key directly.\n*   `--save-api-key`: (Optional) Saves the `--api-key` to `preferences.ini`.\n*   `--search-type {channel,video}`: **(Required)**\n*   `--keyword \"YOUR_SEARCH_TERM\"`: **(Required)**\n*   `--language LANG_CODE`: (Optional, default: \"en\")\n*   `--output-dir PATH_TO_DIR`: (Optional, default: \"transcripts\")\n*   **For `--search-type channel`**:\n    *   `--channel-id CHANNEL_ID`: **(Required)**\n    *   `--max-results NUMBER`: (Optional, default: 10)\n*   **For `--search-type video`**:\n    *   `--video-ids \"ID1,ID2\" OR path/to/ids.txt`: **(Required)**\n\n**CLI Example:**\nSearch the last 5 videos of a channel for \"python tutorial\":\n```bash\npython cli.py --search-type channel --channel-id \"UCxxxxxxxxxxxxxxxxxxxxxx\" --keyword \"python tutorial\" --language \"en\" --max-results 5 --api-key \"YOUR_API_KEY\" --save-api-key\n```\nSearch specific video IDs for \"data science\":\n```bash\npython cli.py --search-type video --video-ids \"dQw4w9WgXcQ,anotherVideoID\" --keyword \"data science\"\n```\nThe CLI shares `preferences.ini` with the GUI if run from the same root.\n\n---\n\n## 🔑 Obtaining a YouTube Data API Key\n1.  Go to the [Google Developer Console](https://console.cloud.google.com/) and create a new project.\n2.  Navigate to \"APIs \u0026 Services\" \u003e \"Dashboard\", click \"+ ENABLE APIS AND SERVICES\", search for \"YouTube Data API v3\", and enable it.\n3.  Go to \"Credentials\" \u003e \"Create Credentials\" \u003e \"API key\".\n4.  **Restrict API Key (Recommended)** for security.\n\n---\n\n## 🆔 Finding a YouTube Channel ID\n1.  Go to the YouTube channel in your browser.\n2.  The Channel ID is often in the URL: `https://www.youtube.com/channel/UCxxxxxxxxxxxxxxxxxxxxxx`.\n3.  If not, right-click page \u003e \"View Page Source\" or \"Inspect\". Search (`Ctrl+F` or `Cmd+F`) for `channelId` or `externalId`.\n\n---\n\n## 📝 Notes\n-   `preferences.ini` (in application root) stores API key and UI settings.\n-   Downloaded `yt-dlp.exe` and `ffmpeg.exe` are in a local `bin` folder.\n-   Default output folders: `transcripts`, `transcripts/clips`, `video_lists`.\n-   Videos without captions in the selected language are skipped.\n-   **Important**: Respect YouTube Data API quotas.\n\n---\n\n## 📜 License\n\nThis project is licensed under the GNU-GPL-v3.0 License - see the [LICENSE](LICENSE) file for details.\n\n---\n\n## ❤️ Support Me\nIf you find CapScript Pro useful, consider supporting by:\n-   ⭐ Starring the repository on GitHub\n-   🗣️ Sharing the tool\n-   💡 Providing feedback and suggestions\n-   ➕ Following for more updates\n  \n\u003ca href=\"https://ko-fi.com/D1D11CZNM1\"\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/ba118768-9054-416f-b7b2-adaa69a53434\" alt=\"Support me on Ko-fi\" width=\"200\" /\u003e\n\u003c/a\u003e\n\n---\n\n## 🏷️ Tags for Discovery\nKeywords to help users find CapScript Pro:\n\n`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`\n\n---\n\n## 🐛 Issues \u0026 Feature Requests\n\u003cp align=\"center\"\u003e\n  For any issues or feature requests, please \u003ca href=\"https://github.com/bitArtisan1/CapScript-Pro/issues\"\u003eopen an issue on GitHub\u003c/a\u003e. Happy coding!\n\u003c/p\u003e\n  \n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/36a3e590-bad2-463d-a25e-f56d65c26761\" alt=\"octodance\" width=\"100\" height=\"100\" /\u003e\n\u003c/p\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitartisan1%2Fcapscript-pro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbitartisan1%2Fcapscript-pro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitartisan1%2Fcapscript-pro/lists"}