Hopp til innhold
Tilbake til prosjektene

01 — Casestudie

galdr

En skrivebordsapp på tvers av plattformer for å konvertere, transkribere og redigere media — uten å røre en terminal.

2026 · Tauri 2 · Rust · React · TypeScript · FFmpeg · whisper.cpp

Problemet

FFmpeg er ekstremt kraftig, men beryktet fiendtlig. Kommandolinjeflagg er lette å ta feil av, batch-operasjoner er kjedelige å skripte, og det finnes ingen måte å forhåndsvise resultatet før man forplikter seg til en render. Eksisterende GUI-er er enten forlatt, plattform-inkompatible, eller prøver å være et fullt NLE.

Hva jeg bygde

Galdr pakker FFmpeg (og whisper.cpp for transkripsjon) i et runetema, monokrom skrivebords-GUI. Slipp filer inn, velg en forhåndsinnstilling eller bygg en egendefinert pipeline, se den eksakte FFmpeg-kommandoen genereres i sanntid, og kjør batch-jobber parallelt. Hele greia leveres som én signert installasjonsfil med en innebygd auto-oppdaterer.

Hvordan

  • Tauri 2-skall med en Rust-kjerne — innebygd ytelse, bittelét binær, ingen Electron.
  • FFmpeg og whisper.cpp pakket som native binærfiler på Windows, macOS og Linux.
  • Bakgrunnsjobb-kø med PID-basert avbrytelse — stopp én render uten å drepe hele batchen.
  • Sanntids kommandobygger som speiler de eksakte FFmpeg-argumentene, slik at du alltid vet hva som kjører.
  • En tidslinje-redigerer ("Forge") med angre/gjør om og krasj-gjenoppretting — rediger video uten å miste arbeid.
  • Signert innebygd auto-oppdaterer og plattform-uavhengige installasjonsfiler (NSIS / .app / .deb).

Resultat

En ekte, signert, auto-oppdaterende skrivebordsapp — det slags ting de fleste web-utviklere aldri leverer.

Hva jeg lærte

Å pakke native binærfiler på tvers av tre operativsystemer er et pakkemareritt, men det er et mareritt verdt å løse nøyaktig én gang. Når pipeline-en fungerer, blir "lever til alle plattformer" en knapp, ikke et prosjekt.

Stabel

  • Tauri 2
  • Rust
  • React
  • TypeScript
  • FFmpeg
  • whisper.cpp