Files
video_concat/README.md
youfu 37ec549544 v5: standalone Tauri rewrite — Rust backend + TypeScript UI
Complete rewrite from the Python/Tkinter app to a native Tauri 2 desktop
app. Drops the song-detection feature, so it needs no Python and no ML
model — just ffmpeg. Replaces video_concat.py entirely.

- Rust backend (src-tauri): stream-copy concat via ffmpeg with honest
  real-time progress (-progress pipe:1, out_time vs total duration), held
  at 99% through the +faststart finalising pass so the bar never jumps
- ffprobe duration scanning parallelised across threads; cancel kills the
  whole ffmpeg process tree; CREATE_NO_WINDOW hides console flashes
- BiliBili Live filename helper ported to Rust (bililive_rename)
- TypeScript UI, no framework: tiny h() DOM helper, drag-and-drop,
  reorderable/checkable file list with live totals, light/dark theme,
  reusable toast + progress components
- Optional delete-originals-after-merge with a clear warning
- New app icon (three clips merging into one); build.bat assembles a
  portable folder with ffmpeg/ffprobe bundled next to the exe
- Ignore tauri-generated gen/schemas (regenerated on every build)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 22:24:59 +08:00

1.4 KiB

Video Concat

A small, focused desktop app that merges split stream recordings into one file using ffmpeg stream-copy (-c copy, no re-encoding — fast and lossless). Built with Tauri 2 (Rust backend + TypeScript UI).

This is a standalone spin-off of Stream Studio with the song-detection feature removed, so it needs no Python and no ML model — just ffmpeg.

Features

  • Drag-and-drop / browse to add videos, reorder, select which to merge.
  • Stream-copy concat with honest real-time progress (and a +faststart finalising pass so the output seeks instantly).
  • BiliBili-Live filename helper ([date][uploader][title] → readable name).
  • Optionally delete the originals after a successful merge.

Build a standalone (copy-paste) version

Double-click build.bat. It compiles the app and assembles a portable folder with ffmpeg bundled:

dist-portable\VideoConcat\
  Video Concat.exe   <- double-click this
  ffmpeg.exe         <- bundled
  ffprobe.exe        <- bundled

Copy that whole VideoConcat folder to any Windows PC and run it — nothing else to install.

Build requirements (on the build machine only)

  • Node.js
  • Rust (winget install Rustlang.Rustup)
  • Visual Studio 2022 with the Desktop development with C++ workload
  • ffmpeg (in C:\ffmpeg\bin or on PATH)

Develop

Double-click dev.bat (hot-reload UI + Rust). Needs ffmpeg on PATH.