ReClip: Self‑Hosted Downloader for 1000+ Sites – One‑Click MP4/MP3 Capture
ReClip is an open‑source self‑hosted video/audio downloader built with Flask and a lightweight HTML/JS UI, supporting over 1000 websites via yt‑dlp, offering MP4 video and MP3 audio download, batch processing, quality control, and easy deployment through local run, Docker, or Docker‑Compose, with configurable environment variables and a performance comparison against other tools.
Overview
ReClip is an open‑source self‑hosted video/audio downloader built with Python + Flask for the backend and native HTML/CSS/JS for the UI. It wraps yt‑dlp and ffmpeg, enabling one‑click download of MP4 video or MP3 audio from over 1000 websites.
Supported Platforms
Video: YouTube, TikTok, Instagram, Twitter/X, Facebook, Vimeo, Twitch, Dailymotion, etc.
Social: Reddit, Pinterest, Tumblr, Threads, LinkedIn.
Audio: SoundCloud.
Other: Loom, Streamable, and any site listed in yt‑dlp’s supported‑sites list.
Quick Start
Local run
# Install dependencies
brew install yt-dlp ffmpeg
# Or apt install ffmpeg && pip install yt-dlp
# Clone project
git clone https://github.com/averygan/reclip.git
cd reclip
# Start service
./reclip.shOpen http://localhost:8899 in a browser.
Docker
docker build -t reclip . && docker run -p 8899:8899 reclipDocker Compose
version: '3'
services:
reclip:
build: .
ports:
- "8899:8899"
volumes:
- ./downloads:/app/downloadsUsage Flow
Paste one or more video URLs into the input box.
Select MP4 (video) or MP3 (audio) format.
Click Fetch to load video information and thumbnail.
Choose the desired quality (144p – 4K/8K for video; 128 kbps – 320 kbps for audio).
Click Download for a single file or Download All for batch download.
Technical Stack
Backend
Framework: Python + Flask
Code size: ~150 lines in a single file
Dependencies: Flask, yt‑dlp (only two external packages)
Frontend
Technology: native HTML, CSS, JavaScript
Features: single‑file UI, zero compilation, responsive design for mobile, tablet, and desktop
Download Engine
Core: yt‑dlp + ffmpeg
Capability: supports 1000+ sites and multiple format conversions
Feature Details
Multi‑format support
MP4 – full‑resolution video download for offline viewing or archiving.
MP3 – audio extraction for music, podcasts, or audiobooks.
Quality control
Automatic detection of available resolutions.
Resolution range from 144p up to 4K/8K, depending on source.
Audio bitrate selectable between 128 kbps and 320 kbps.
Batch processing
Paste multiple URLs (one per line); duplicate links are automatically deduplicated.
Download all videos in a single operation.
Simple UI
No framework dependencies, zero compilation steps.
Responsive layout works on phones, tablets, and desktops.
Configuration Options
Environment variables
PORT (default 8899) – web service port.
DOWNLOAD_DIR (default ./downloads) – directory for saved files.
MAX_CONCURRENT (default 3) – maximum concurrent downloads.
yt‑dlp configuration
# yt-dlp config file
--format best
--embed-thumbnail
--add-metadataPerformance Comparison
Feature support matrix (✓ = supported, ✗ = not supported, ⚠️ = limited):
ReClip – self‑hosted, Web UI, batch download, open source.
youtube‑dl – open source only; no self‑hosted service, no UI, no batch download.
Online download sites – Web UI only; no self‑hosted service, batch download limited, not open source.
IDM – batch download supported; no self‑hosted service, no UI, not open source.
Reference Resources
- Project: https://github.com/averygan/reclip
- yt-dlp: https://github.com/yt-dlp/yt-dlp
- Supported sites list: https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md
- ffmpeg: https://ffmpeg.org/AI Open-Source Efficiency Guide
With years of experience in cloud computing and DevOps, we daily recommend top open-source projects, use tools to boost coding efficiency, and apply AI to transform your programming workflow.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
