Show HN: Recut, a native Mac app that automatically removes silence from videos
getrecut.com
getrecut.com
I'm primarily a web developer, but I decided to learn Swift and build it as a native app instead of doing it with Electron and a JS framework.
The main goal with this app was to save myself time creating screencasts, but I've heard from people doing YouTube and podcasts that it's saving them a lot of time too.
Part of that goal involved keeping the app itself fast, which was a big part of why I chose to go the native route. (AVFoundation was another big reason!)
One thing I'm pretty proud of is the waveform rendering. It loads the whole file and then downsamples it to various resolutions, and then switches between them as you zoom in and out. The result is that zooming feels very snappy because the app goes out of its way to avoid drawing more than necessary. The trial is free/no email required if you want to see how it works.
Happy to field any questions (or feature requests for that matter) :)
Curious, why'd you decide to go native instead of Electron? Having done it now, do you think that was that the right call?
I started with doing some proof of concept stuff in Electron + Svelte, but pretty quickly it felt like I was hitting a use case that HTML video is not meant for. It's not good at frame-accurate... anything. There was a big old github issue talking about web support for editors like this and it seemed like it was a long way off, if ever.
So then I started looking into native stuff. The AVFoundation library looked like a massive leg up. It takes care of reading and writing video and audio, and it's got some good functionality around managing editor concepts like tracks, clips, etc.
I looked at Swift UI first, and that felt sort of familiar coming from a React background -- one way data flow and such -- but it also didn't seem fully baked yet, and it would limit the app to 10.15 and newer. I know plenty of devs who hang on to old MacBooks and previous macOS versions for a long while (I'm one myself!) so I didn't want to rule out a huge swath of folks by choosing Swift UI either.
That left regular Swift and the old standby AppKit stuff. I used the book Hacking with macOS to get going, which was an amazingly helpful guide.
So far I think Swift was a good choice. Time will tell, I guess :)
Cool work!
What if your tool was available in real time for people who wanted it and then I could have normal videos.
I don’t know if anyone is using it for this yet but it’s kinda fun to drag in a recording of a zoom call or something, and play it back with silence (mostly) cut out. Not quite real time yet, since it has to load the file first, but this could be done.
You could also provide a way to export a list of cut points suitable for feeding to some other workflow. E.g., ffmpeg.
These may go beyond the simplicity and spirit of your app, which seems very nice.
I’m mainly a web developer creating content for web developers, and so most of my following wouldn’t really want this tool. But I’ve gotten to know a handful of other content creators that could use something like this, and I think that probably helped to spread the word on Twitter a bit.
I tried the scripts first, and wrote one of my own too, but I built this because I wanted more interactivity.