https://github.com/myunikon/sceneclip
The Ultimate GUI for yt-dlp and ffmpeg. Download videos, extract audio, and create precise clips.
https://github.com/myunikon/sceneclip
ffmpeg gui react yt-dlp
Last synced: 4 months ago
JSON representation
The Ultimate GUI for yt-dlp and ffmpeg. Download videos, extract audio, and create precise clips.
- Host: GitHub
- URL: https://github.com/myunikon/sceneclip
- Owner: Myunikon
- License: mit
- Created: 2026-01-20T07:09:01.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-02-28T08:02:36.000Z (4 months ago)
- Last Synced: 2026-02-28T13:32:05.182Z (4 months ago)
- Topics: ffmpeg, gui, react, yt-dlp
- Language: TypeScript
- Homepage:
- Size: 22.1 MB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Support: supportedsites.md
Awesome Lists containing this project
README
SceneClip
The Ultimate GUI for yt-dlp and ffmpeg
Download videos, extract audio, and create precise clips with correct metadata — no command line required.
Features •
Quick Start •
User Manual •
Troubleshooting •
Supported Sites •
Contributing
---
## Why SceneClip?
Command-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.
Demo — Paste URL, select quality, download with one click
---
### Screenshots
Downloads — Active queue & progress tracking
Keyring — Secure credential storage
History — Browse past downloads
Settings — Customize your experience
---
## Features
SceneClip provides a complete media downloading solution with these core capabilities:
| Feature | Description |
|:--------|:------------|
| **Smart Detection** | Automatically detects URLs from your clipboard. Just copy a link and SceneClip is ready. |
| **Precision Clipping** | Download specific segments of videos by setting start/end timestamps. No need for the full file. |
| **GIF Maker** | Convert video clips into optimized GIF animations with customizable FPS and scale. |
| **Batch Downloading** | Queue multiple URLs for hands-free, sequential processing. |
| **SponsorBlock** | Automatically skip sponsor segments, intros, and outros (YouTube). |
| **Secure Keyring** | Store credentials using your OS's native encrypted vault for premium content access. |
| **Multi-Language** | Available in English, Indonesian, Malay, and Mandarin Chinese. |
For a complete guide on all features, see the **[User Manual](docs/GUIDE.md)**.
---
## Tech Stack
SceneClip is built using modern, high-performance technologies:
* **Core**: [Tauri v2](https://tauri.app) (Rust) - For a tiny footprint and maximum security.
* **Frontend**: React 18 + TypeScript + TailwindCSS - Ensuring a snappy, beautiful UI.
* **Engine**:
* [yt-dlp](https://github.com/yt-dlp/yt-dlp): The rigorous industry standard for media extraction.
* [FFmpeg](https://ffmpeg.org): For powerful media processing, merging, and conversion.
* [Aria2c](https://aria2.github.io): For multi-connection accelerated downloading.
**[View Full List of Supported Sites](./supportedsites.md)** — Thousands of platforms including YouTube, Twitter, Instagram, TikTok, and more.
---
## Quick Start
### Installation (For Users)
SceneClip bundles **ffmpeg** and **yt-dlp** automatically — no manual installation needed!
| Platform | Installer | Portable |
|:--------:|:---------:|:--------:|
|
| `.exe` setup | `.zip` (extract & run) |
|
| `.dmg` | `.zip` (extract & run) |
|
| `.deb` | `.AppImage` (portable) |
> **[Download the Latest Release](https://github.com/Myunikon/SceneClip/releases)**
**Note**: Windows SmartScreen may warn you because the app is not code-signed yet. Click **More Info** then **Run Anyway** to proceed.
---
## Project Structure
For contributors and developers, here is the detailed breakdown of our repository:
```
SceneClip/
├── .github/workflows/ # CI/CD Workflows (Release, Builds)
├── browser_extension/ # Source code for the browser companion extension
├── docs/ # Documentation (User Guide, FAQ)
├── public/ # Static assets (images, icons)
├── scripts/ # Build & Setup scripts
│
├── src/ # Frontend (React + TypeScript)
│ ├── assets/ # CSS & Platform icons
│ ├── components/ # UI Components
│ │ ├── common/ # Shared components (Shortcuts, Notifications)
│ │ ├── dialogs/ # Modals (Add, Guide, Confirmation)
│ │ ├── downloads/ # Download list & items view
│ │ ├── history/ # History view components
│ │ ├── layout/ # App shell & header
│ │ ├── providers/ # Context (Updater, AppGuard, Clipboard)
│ │ └── settings/ # Settings pages (Network, System, etc.)
│ ├── hooks/ # Custom React Hooks
│ ├── lib/ # Utilities & Locales (i18n)
│ ├── store/ # Zustand State Management
│ └── main.tsx # Entry point
│
├── src-tauri/ # Backend (Rust)
│ ├── resources/ # Sidecar plugins (Python scripts)
│ ├── src/ # Rust Source code
│ │ ├── commands/ # Modularized Tauri Commands
│ │ └── ytdlp.rs # Core yt-dlp wrapper logic
│ └── tauri.conf.json # Configuration
│
└── README.md
```
---
## Privacy & Security
We believe in **Local Processing** and **Zero Knowledge**.
### Local Storage
SceneClip does **not** have a cloud backend.
* **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.
* **Cookies**: Imported cookies are stored locally in `AppData` and used solely by `yt-dlp` to authenticate with video sites on your behalf.
* **History**: Your download history resides in a local JSON file on your machine.
### Zero Telemetry
SceneClip does not track your downloads, search history, or personal data. Network requests are made strictly to:
1. The video sites you are downloading from.
2. GitHub API (only if you click "Check for Updates").
---
## Developer Guide
Interested in contributing? Follow these steps to set up your environment.
### 1. System Prerequisites
You need **Node.js 18+** and **Rust (Stable)** installed on all platforms. Then, follow your OS specific steps:
Windows
1. **Install C++ Build Tools**:
Download "Visual Studio Build Tools" and ensure "Desktop development with C++" is selected.
2. **Install Rust**:
Download the installer from [rust-lang.org](https://www.rust-lang.org/tools/install).
3. **WebView2**:
Windows 10/11 usually has this pre-installed. If not, download the "Evergreen Bootstrapper".
Linux
You need build-essential and WebKitGTK libraries.
**Debian / Ubuntu**:
```bash
sudo apt update
sudo apt install libwebkit2gtk-4.0-dev build-essential curl wget file libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev
```
**Arch Linux**:
```bash
sudo pacman -Syu
sudo pacman -S --needed webkit2gtk base-devel curl wget file openssl appmenu-gtk-module gtk3 libappindicator-gtk3 librsvg
```
macOS
You need Xcode Command Line Tools.
1. **Install Xcode CLI**:
```bash
xcode-select --install
```
2. **Install Rust**:
```bash
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
```
### 2. Setup & Run
Once the prerequisites are ready:
1. **Clone Repository**:
```bash
git clone https://github.com/Myunikon/SceneClip.git
cd SceneClip
```
2. **Install NPM Dependencies**:
```bash
npm install
```
3. **Setup Binaries (CRITICAL Step)**:
We use a script to download the correct `yt-dlp`, `ffmpeg`, and `aria2c` binaries for your OS.
```bash
npm run setup-binaries
```
4. **Run Development Server**:
This starts the React frontend and the Tauri Rust backend.
```bash
npm run tauri dev
```
---
## Contributing
Contributions are welcome! Here's how you can help:
1. **Report Bugs**: Open an issue on [GitHub Issues](https://github.com/Myunikon/SceneClip/issues). Please include terminal logs (see [Troubleshooting](docs/TROUBLESHOOTING.md)).
2. **Suggest Features**: Open a feature request issue with a detailed description of the use case.
3. **Submit Pull Requests**: Fork the repo, create a branch, make your changes, and submit a PR.
Please ensure your code follows the existing style and includes appropriate tests where applicable.
---
Enjoying SceneClip?
Give us a star on GitHub to support development!
Made with love by Myunikon
Distributed under MIT License