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