{"id":40370597,"url":"https://github.com/myunikon/sceneclip","last_synced_at":"2026-03-01T09:01:23.103Z","repository":{"id":333634529,"uuid":"1138045454","full_name":"Myunikon/SceneClip","owner":"Myunikon","description":"The Ultimate GUI for yt-dlp and ffmpeg. Download videos, extract audio, and create precise clips.","archived":false,"fork":false,"pushed_at":"2026-02-28T08:02:36.000Z","size":23194,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-28T13:32:05.182Z","etag":null,"topics":["ffmpeg","gui","react","yt-dlp"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Myunikon.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"supportedsites.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-20T07:09:01.000Z","updated_at":"2026-02-28T08:02:37.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Myunikon/SceneClip","commit_stats":null,"previous_names":["myunikon/sceneclip"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/Myunikon/SceneClip","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Myunikon%2FSceneClip","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Myunikon%2FSceneClip/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Myunikon%2FSceneClip/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Myunikon%2FSceneClip/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Myunikon","download_url":"https://codeload.github.com/Myunikon/SceneClip/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Myunikon%2FSceneClip/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29965419,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T06:55:38.174Z","status":"ssl_error","status_checked_at":"2026-03-01T06:53:04.810Z","response_time":124,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["ffmpeg","gui","react","yt-dlp"],"created_at":"2026-01-20T11:06:11.851Z","updated_at":"2026-03-01T09:01:23.094Z","avatar_url":"https://github.com/Myunikon.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./public/sceneclip-banner.png\" width=\"600\" alt=\"SceneClip Banner\"/\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eSceneClip\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cb\u003eThe Ultimate GUI for yt-dlp and ffmpeg\u003c/b\u003e\u003cbr/\u003e\n  \u003csub\u003eDownload videos, extract audio, and create precise clips with correct metadata — no command line required.\u003c/sub\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Built_with-Tauri_v2-blue?style=flat-square\u0026logo=tauri\u0026logoColor=white\" alt=\"Tauri v2\"/\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Frontend-React_18-61DAFB?style=flat-square\u0026logo=react\u0026logoColor=black\" alt=\"React 18\"/\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Language-TypeScript-3178C6?style=flat-square\u0026logo=typescript\u0026logoColor=white\" alt=\"TypeScript\"/\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Core-Rust-DEA584?style=flat-square\u0026logo=rust\u0026logoColor=black\" alt=\"Rust\"/\u003e\n  \u003cbr/\u003e\n  \u003cimg src=\"https://img.shields.io/github/v/release/Myunikon/SceneClip?style=flat-square\u0026label=Version\u0026color=success\" alt=\"Version\"/\u003e\n  \u003cimg src=\"https://img.shields.io/github/downloads/Myunikon/SceneClip/total?style=flat-square\u0026label=Downloads\u0026color=blue\" alt=\"Downloads\"/\u003e\n  \u003cimg src=\"https://img.shields.io/github/license/Myunikon/SceneClip?style=flat-square\u0026label=License\" alt=\"LICENSE\"/\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#features\"\u003eFeatures\u003c/a\u003e •\n  \u003ca href=\"#quick-start\"\u003eQuick Start\u003c/a\u003e •\n  \u003ca href=\"docs/GUIDE.md\"\u003eUser Manual\u003c/a\u003e •\n  \u003ca href=\"docs/TROUBLESHOOTING.md\"\u003eTroubleshooting\u003c/a\u003e •\n  \u003ca href=\"./supportedsites.md\"\u003eSupported Sites\u003c/a\u003e •\n  \u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## Why SceneClip?\n\nCommand-line tools like `yt-dlp` are incredibly powerful, but they come with a steep learning curve — cryptic flags, manual ffmpeg piping, and no visual feedback. **SceneClip bridges that gap.** It wraps the full power of `yt-dlp` and `ffmpeg` in an intuitive desktop interface, so you get professional-grade media downloading without ever touching a terminal.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./public/sceneclip_download.gif\" alt=\"SceneClip Demo - Download Workflow\" width=\"90%\"/\u003e\n  \u003cbr/\u003e\n  \u003csub\u003eDemo — Paste URL, select quality, download with one click\u003c/sub\u003e\n\u003c/p\u003e\n\n---\n\n### Screenshots\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"./public/sceneclip-preview.png\" alt=\"Downloads View\" width=\"400\"/\u003e\n      \u003cbr/\u003e\u003csub\u003e\u003cb\u003eDownloads\u003c/b\u003e — Active queue \u0026 progress tracking\u003c/sub\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"./public/sceneclip-preview1.png\" alt=\"Keyring Manager\" width=\"400\"/\u003e\n      \u003cbr/\u003e\u003csub\u003e\u003cb\u003eKeyring\u003c/b\u003e — Secure credential storage\u003c/sub\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"./public/sceneclip-preview2.png\" alt=\"History View\" width=\"400\"/\u003e\n      \u003cbr/\u003e\u003csub\u003e\u003cb\u003eHistory\u003c/b\u003e — Browse past downloads\u003c/sub\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"./public/sceneclip-preview3.png\" alt=\"Settings\" width=\"400\"/\u003e\n      \u003cbr/\u003e\u003csub\u003e\u003cb\u003eSettings\u003c/b\u003e — Customize your experience\u003c/sub\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n## Features\n\nSceneClip provides a complete media downloading solution with these core capabilities:\n\n| Feature | Description |\n|:--------|:------------|\n| **Smart Detection** | Automatically detects URLs from your clipboard. Just copy a link and SceneClip is ready. |\n| **Precision Clipping** | Download specific segments of videos by setting start/end timestamps. No need for the full file. |\n| **GIF Maker** | Convert video clips into optimized GIF animations with customizable FPS and scale. |\n| **Batch Downloading** | Queue multiple URLs for hands-free, sequential processing. |\n| **SponsorBlock** | Automatically skip sponsor segments, intros, and outros (YouTube). |\n| **Secure Keyring** | Store credentials using your OS's native encrypted vault for premium content access. |\n| **Multi-Language** | Available in English, Indonesian, Malay, and Mandarin Chinese. |\n\nFor a complete guide on all features, see the **[User Manual](docs/GUIDE.md)**.\n\n---\n\n## Tech Stack\n\nSceneClip is built using modern, high-performance technologies:\n\n*   **Core**: [Tauri v2](https://tauri.app) (Rust) - For a tiny footprint and maximum security.\n*   **Frontend**: React 18 + TypeScript + TailwindCSS - Ensuring a snappy, beautiful UI.\n*   **Engine**:\n    *   [yt-dlp](https://github.com/yt-dlp/yt-dlp): The rigorous industry standard for media extraction.\n    *   [FFmpeg](https://ffmpeg.org): For powerful media processing, merging, and conversion.\n    *   [Aria2c](https://aria2.github.io): For multi-connection accelerated downloading.\n\n**[View Full List of Supported Sites](./supportedsites.md)** — Thousands of platforms including YouTube, Twitter, Instagram, TikTok, and more.\n\n---\n\n## Quick Start\n\n### Installation (For Users)\n\nSceneClip bundles **ffmpeg** and **yt-dlp** automatically — no manual installation needed!\n\n| Platform | Installer | Portable |\n|:--------:|:---------:|:--------:|\n| \u003cimg src=\"https://img.shields.io/badge/-Windows-0078D6?style=flat-square\u0026logo=windows\u0026logoColor=white\"/\u003e | `.exe` setup | `.zip` (extract \u0026 run) |\n| \u003cimg src=\"https://img.shields.io/badge/-macOS-000000?style=flat-square\u0026logo=apple\u0026logoColor=white\"/\u003e | `.dmg` | `.zip` (extract \u0026 run) |\n| \u003cimg src=\"https://img.shields.io/badge/-Linux-FCC624?style=flat-square\u0026logo=linux\u0026logoColor=black\"/\u003e | `.deb` | `.AppImage` (portable) |\n\n\u003e **[Download the Latest Release](https://github.com/Myunikon/SceneClip/releases)**\n\n**Note**: Windows SmartScreen may warn you because the app is not code-signed yet. Click **More Info** then **Run Anyway** to proceed.\n\n---\n\n## Project Structure\n\nFor contributors and developers, here is the detailed breakdown of our repository:\n\n```\nSceneClip/\n├── .github/workflows/  # CI/CD Workflows (Release, Builds)\n├── browser_extension/  # Source code for the browser companion extension\n├── docs/               # Documentation (User Guide, FAQ)\n├── public/             # Static assets (images, icons)\n├── scripts/            # Build \u0026 Setup scripts\n│\n├── src/                # Frontend (React + TypeScript)\n│   ├── assets/         # CSS \u0026 Platform icons\n│   ├── components/     # UI Components\n│   │   ├── common/     # Shared components (Shortcuts, Notifications)\n│   │   ├── dialogs/    # Modals (Add, Guide, Confirmation)\n│   │   ├── downloads/  # Download list \u0026 items view\n│   │   ├── history/    # History view components\n│   │   ├── layout/     # App shell \u0026 header\n│   │   ├── providers/  # Context (Updater, AppGuard, Clipboard)\n│   │   └── settings/   # Settings pages (Network, System, etc.)\n│   ├── hooks/          # Custom React Hooks\n│   ├── lib/            # Utilities \u0026 Locales (i18n)\n│   ├── store/          # Zustand State Management\n│   └── main.tsx        # Entry point\n│\n├── src-tauri/          # Backend (Rust)\n│   ├── resources/      # Sidecar plugins (Python scripts)\n│   ├── src/            # Rust Source code\n│   │   ├── commands/   # Modularized Tauri Commands\n│   │   └── ytdlp.rs    # Core yt-dlp wrapper logic\n│   └── tauri.conf.json # Configuration\n│\n└── README.md\n```\n\n---\n\n## Privacy \u0026 Security\n\nWe believe in **Local Processing** and **Zero Knowledge**.\n\n### Local Storage\nSceneClip does **not** have a cloud backend.\n*   **Passwords**: Your Saved Passwords in the Keyring Manager are encrypted using the OS's native secure vault (Windows Credential Manager / macOS Keychain). We cannot access them.\n*   **Cookies**: Imported cookies are stored locally in `AppData` and used solely by `yt-dlp` to authenticate with video sites on your behalf.\n*   **History**: Your download history resides in a local JSON file on your machine.\n\n### Zero Telemetry\nSceneClip does not track your downloads, search history, or personal data. Network requests are made strictly to:\n1.  The video sites you are downloading from.\n2.  GitHub API (only if you click \"Check for Updates\").\n\n---\n\n## Developer Guide\n\nInterested in contributing? Follow these steps to set up your environment.\n\n### 1. System Prerequisites\n\nYou need **Node.js 18+** and **Rust (Stable)** installed on all platforms. Then, follow your OS specific steps:\n\n\u003cdetails open\u003e\n\u003csummary\u003e\u003cb\u003eWindows\u003c/b\u003e\u003c/summary\u003e\n\u003cbr\u003e\n\n1.  **Install C++ Build Tools**:\n    Download \"Visual Studio Build Tools\" and ensure \"Desktop development with C++\" is selected.\n    \n2.  **Install Rust**:\n    Download the installer from [rust-lang.org](https://www.rust-lang.org/tools/install).\n\n3.  **WebView2**:\n    Windows 10/11 usually has this pre-installed. If not, download the \"Evergreen Bootstrapper\".\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eLinux\u003c/b\u003e\u003c/summary\u003e\n\u003cbr\u003e\n\nYou need build-essential and WebKitGTK libraries.\n\n**Debian / Ubuntu**:\n```bash\nsudo apt update\nsudo apt install libwebkit2gtk-4.0-dev build-essential curl wget file libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev\n```\n\n**Arch Linux**:\n```bash\nsudo pacman -Syu\nsudo pacman -S --needed webkit2gtk base-devel curl wget file openssl appmenu-gtk-module gtk3 libappindicator-gtk3 librsvg\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003emacOS\u003c/b\u003e\u003c/summary\u003e\n\u003cbr\u003e\n\nYou need Xcode Command Line Tools.\n\n1.  **Install Xcode CLI**:\n    ```bash\n    xcode-select --install\n    ```\n\n2.  **Install Rust**:\n    ```bash\n    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n    ```\n\u003c/details\u003e\n\n### 2. Setup \u0026 Run\n\nOnce the prerequisites are ready:\n\n1.  **Clone Repository**:\n    ```bash\n    git clone https://github.com/Myunikon/SceneClip.git\n    cd SceneClip\n    ```\n\n2.  **Install NPM Dependencies**:\n    ```bash\n    npm install\n    ```\n\n3.  **Setup Binaries (CRITICAL Step)**:\n    We use a script to download the correct `yt-dlp`, `ffmpeg`, and `aria2c` binaries for your OS.\n    ```bash\n    npm run setup-binaries\n    ```\n\n4.  **Run Development Server**:\n    This starts the React frontend and the Tauri Rust backend.\n    ```bash\n    npm run tauri dev\n    ```\n\n---\n\n## Contributing\n\nContributions are welcome! Here's how you can help:\n\n1.  **Report Bugs**: Open an issue on [GitHub Issues](https://github.com/Myunikon/SceneClip/issues). Please include terminal logs (see [Troubleshooting](docs/TROUBLESHOOTING.md)).\n2.  **Suggest Features**: Open a feature request issue with a detailed description of the use case.\n3.  **Submit Pull Requests**: Fork the repo, create a branch, make your changes, and submit a PR.\n\nPlease ensure your code follows the existing style and includes appropriate tests where applicable.\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003cb\u003eEnjoying SceneClip?\u003c/b\u003e\n  \u003cbr/\u003e\n  Give us a star on \u003ca href=\"https://github.com/Myunikon/SceneClip\"\u003eGitHub\u003c/a\u003e to support development!\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003csub\u003eMade with love by \u003ca href=\"https://github.com/Myunikon\"\u003eMyunikon\u003c/a\u003e\u003c/sub\u003e\n  \u003cbr/\u003e\n  \u003csub\u003eDistributed under MIT License\u003c/sub\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmyunikon%2Fsceneclip","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmyunikon%2Fsceneclip","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmyunikon%2Fsceneclip/lists"}