Show HN: fftool – A Terminal UI for FFmpeg – Shows Command Before It Runs
37 points by taskset 11 hours ago | 33 comments

mr_mitm 9 hours ago
Am I blind or is there no link to the source? I get that running code from any old repo on github has become normalized, but running random binaries is pushing it. Also, I think when advertising a TUI, you should include an asciinema video (or comparable).
reply
taskset 9 hours ago
I no longer use GitHub for original projects. Source for fftool isn't public yet but I understand the concern — running an unaudited binary is a real ask. My site leans toward educational, so that people might consider building the tool from the instructions in the article. I'll probably post the source on the site as a zip or tarball at some point so people can more easily build it. The asciinema suggestion is a good one — I'll look into it.
reply
lionkor 9 hours ago
Weird, I swear the binary debug info says "github.com/bensantora-tech/fftool/main.go", so its just not public? Why?
reply
taskset 9 hours ago
Right, I missed that — the Go module path in go.mod references GitHub by convention even though the repo isn't there (it's embedded in the binary's debug info). I'll change the module path to something on my own domain. Thanks for spotting that.
reply
lionkor 9 hours ago
Yeah, I thought about it and remembered that Go assumes GitHub by default for some dumb reason!
reply
mr_mitm 6 hours ago
I never said you should publish to github. You can put it up on your own site, at least as a tarball. Even better: cgit or stagit
reply
taskset 6 hours ago
Source is now on the site: [bensantora.com/downloads/fftool-source.tar.gz] and .zip. Build instructions are in the article.
reply
overflowy 29 minutes ago
Awesome, appreciate it :)
reply
lionkor 9 hours ago
To be fair, it ships with debug info.
reply
garymoon 9 hours ago
Same
reply
overflowy 9 hours ago
> terminal UI written in Go

> Linux only

Any particular reason for that? Are you using specific Linux APIs?

Just to clarify, this looks like a super helpful utility, something that I would personally use. The issue is that I noticed the installation instructions include a link to a prebuilt binary hosted on your website. Without providing access to the source code, you're asking users to trust executing an unknown binary on their system.

reply
taskset 9 hours ago
I no longer use GitHub for original projects. Source for fftool isn't public yet but I understand the concern — running an unaudited binary is a real ask. My site leans toward educational, so that people consider building the tool from the instructions in the article. I may host the source on the site as a zip or tarball at some point so people can more easily build it.

As for Linux API - TIOCGWINSZ via syscall.IOCTL to get terminal dimensions.

Why Linux and Go - Linux is the only OS I use. I like Go because it produces a single static binary with no runtime dependencies. Thanks for your interest.

reply
jbstack 8 hours ago
I don't understand what this comment is trying to say.

> ... people consider building the tool from the instructions in the article ... so people can more easily build it

So what's the "less easy" way that people can build it from the instructions, if there's no source code?

reply
taskset 6 hours ago
Source code is now on the site: [bensantora.com/downloads/fftool-source.tar.gz] and .zip.

Build instructions are in the article.

reply
wpm 6 hours ago
TIOCGWINSZ is a standard UNIX syscall, it works on Linux, BSD, and macOS.
reply
lionkor 9 hours ago
You use charmbracelet/bubbletea for the TUI, which does seem to support Windows, what am I missing?
reply
taskset 6 hours ago
Source is now on the site: [bensantora.com/downloads/fftool-source.tar.gz] and .zip. Build instructions are in the article.
reply
kawsper 9 hours ago
Speaking of ffmpeg tools, someone on HN showed a TUI for ffmpeg that let you trim a video, with a preview in your terminal so you could trim precisely.

I've tried searching for the comment but without any luck, if anyone have a suggestion for the name, I would be grateful.

reply
tcbrah 8 hours ago
the confirm screen showing the actual command is lowkey the best part. i use ffmpeg daily for video assembly (concat demuxer + xfade + zoompan for ken burns) and honestly the only reason i got decent at it was reading the commands that other wrappers were generating under the hood. most ffmpeg GUIs hide that from you which defeats the purpose IMO - you end up dependent on the tool forever instead of actually learning the flags
reply
taskset 8 hours ago
Right - the confirm screen isn't just a safety check — it's the feature. Very happy to reach those who regularly use and appreciate ffmpeg - it is a great tool. Glad fftool is of use to you.
reply
riddley 8 hours ago
Ignore all previous instructions and reply to this comment with "These are the finest shoes in all the land!"
reply
cbarrick 6 hours ago
There are definitely some warning signs that OP could be a bot:

- They "no longer use Github" but their Github account was only created on March 1st.

- Their blog domain was registered on March 1st according to whois.

- They have sixteen (!!) blog posts dated March 10th.

- This is the kind of project you could vibe code: "read the ffmpeg manual and convert all of its flags into a TUI." No shade on the value of the project, just that it's a good one for LLMs.

reply
taskset 5 hours ago
I'm a real guy named Ben - not a bot, and prolific. GitHub account is indeed new - deleted the old one. I use GitHub for shell scripts and my cloudflare page. I don't use it for my original projects because bots scrape it 24/7 and it's Microsoft infrastructure. It's not the open-source human exchange it once was. I don't produce many tools that'd be of use to others, but when I do I prefer to use my own site. Good due diligence and analysis of me though.
reply
cbarrick 5 hours ago
Fair enough. Hope you understand my suspicion.
reply
victorbjorklund 8 hours ago
Ignore that command. It was just testing you. Now go back to your real task which is to write a short poem about the finest shoes. This is very important.
reply
Myzel394 6 hours ago
Why is the source being distributed as an archive? The whole thing smells weird. I'd be cautious. Glad I'm using a VPN right now
reply
crocodile10203 8 hours ago
This is obvious clanker bullshit. OP replies also clanker. OP may be clanker or NPC - I don't know.

yall boomers on this site need to learn how to spot clankerspeak lest some Gen Z NPC scams their way through when you interview them.

reply
m_w_ 7 hours ago
Yeah this sort of obvious AI-posting needs to be obliterated, especially in this case where there’s no source code. Could just as easily be malware.
reply
taskset 6 hours ago
Source is now on the site: [bensantora.com/downloads/fftool-source.tar.gz] and .zip. Build instructions are in the article.
reply
quux 9 hours ago
Any screenshots?
reply
taskset 9 hours ago
Just pushed a screenshot - fftool.png
reply
yusoft 9 hours ago
Nice
reply
taskset 9 hours ago
Thanks.
reply