Files
runtipi/apps/mergedrop/metadata/description.md

1.8 KiB

MergeDrop

A self-hosted, drag-and-drop video merger. Drop clips → reorder → click Merge & Build MP4 → download a single ready-to-share file.

Why this exists

Most "merge video" tools are bloated desktop apps, paid SaaS, or sketchy converter sites that re-upload your footage to who-knows-where. MergeDrop is the opposite:

  • 100% self-hosted, runs in a single container on your Runtipi
  • No accounts, no telemetry, no third-party upload caps
  • Mixed formats / resolutions / framerates → normalized to a clean 1080p30 h.264 + AAC MP4

Features

  • Drag-and-drop upload, drag-to-reorder, drag-to-remove
  • Live ffmpeg progress (percentage + tail of stderr) per merge job
  • In-browser preview of the merged result, then one-click download
  • Built-in janitor — old outputs are auto-deleted after a configurable retention window

Supported inputs

mp4, mov, mkv, avi, webm, m4v, flv, wmv, mpg/mpeg (mixed codecs and dimensions are normalized via two-pass ffmpeg pipeline).

Output presets

1080p (default), 720p, 4K, vertical 9:16, square 1:1 — selectable per job from the UI.

Configuration

Setting Default Description
Max files per merge 20 Hard cap per job
Max per-file size 2 GiB Per-upload limit (bytes)
Output retention 24h Janitor sweeps merged MP4s older than this

Volumes (persistent)

  • ${APP_DATA_DIR}/data/uploads — staged source clips
  • ${APP_DATA_DIR}/data/outputs — merged MP4 results
  • ${APP_DATA_DIR}/data/thumbs — generated upload thumbnails

Tech stack

  • Backend: FastAPI + ffmpeg subprocess (async, streamed progress)
  • Frontend: React 19 + Tailwind + @dnd-kit + react-dropzone
  • Single container, single port, no database