Skip to content
This repository was archived by the owner on Jun 30, 2026. It is now read-only.
Sénior RIOTCOKE edited this page May 31, 2026 · 6 revisions

Welcome to the Stream Clipper Wiki!

Stream Clipper (v1.3.1) is a robust, multi-platform tool designed to capture live stream segments from YouTube, Twitch, and Kick. It handles everything from real-time processing with FFmpeg to direct, one-click hosting uploads.


📍 Current Status

Version: 1.3.1

Stable Features:

  • Multi-platform live clipping (YouTube, Twitch, Kick).
  • Automated API integrations for direct uploads to Catbox, qu.ax, and Videy.
  • Built-in SQLite job queuing and background stale-clip cleanup.
  • Production-ready automated deployment and server hardening scripts.

🗺️ Project Roadmap

  • Add support for additional streaming platforms (e.g., Rumble).
  • Expand API documentation for third-party frontend integrations.

📚 Documentation Directory

1. Architecture & Core Stack

Stream Clipper is built for high performance and reliability, targeting Ubuntu/Debian environments.

  • Backend: Node.js 20 LTS, Express, better-sqlite3
  • Video Processing: fluent-ffmpeg, yt-dlp
  • Process Management: PM2 (configured via ecosystem.config.js)
  • Web Server/Proxy: Nginx with Let's Encrypt SSL

2. Installation & Deployment

For production environments, the project includes an automated deployment shell script that provisions a bare-metal server or VPS from scratch.

chmod +x deploy.sh
sudo ./deploy.sh

The deployment script automatically handles package updates, Node.js/FFmpeg installation, Nginx configuration, PM2 service registration, and Certbot SSL generation.

3. Configuration & Environment

Your environment variables dictate API access, hardware utilization, and file management. Create a .env file in the root directory.

Core Settings:

  • PORT=4242
  • CLIP_MAX_AGE_HOURS=1 (Controls the automated background cleanup of stale files)
  • MAX_CLIP_SECONDS=300 (Sets the maximum duration users can request)
  • MAX_CONCURRENT_JOBS=5 (Adjust this based on your server's CPU capabilities)
  • FFMPEG_THREADS=0 (0 defaults to FFmpeg auto-threading)

Required API Credentials:

  • YOUTUBE_API_KEY
  • KICK_CLIENT_ID & KICK_CLIENT_SECRET
  • VIDEY_API_KEY & VIDEY_API_SECRET
  • CATBOX_USERHASH

4. Security & Hardening

Because Stream Clipper processes video files and exposes an API, security is critical.

  • Token Management: The application utilizes CLIPPER_API_KEY and CLIPPER_BROWSER_KEY to authorize legitimate requests and prevent unauthorized abuse of your server resources.
  • Server Hardening: Run the included harden.sh script to lock down the server immediately after deployment.
chmod +x harden.sh
sudo ./harden.sh

This configures UFW (allowing only ports 80, 443, and SSH while blocking direct access to port 4242) and sets up Fail2ban to protect against SSH brute-force attacks and Nginx abuse.