152

I work on OpenSubs, a free, open source (AGPL-3.0) subtitle tool that runs entirely in the browser tab.

You drop in a video file, and Whisper transcribes it on your own machine, using transformers.js with WebGPU where available and WebAssembly otherwise. The model (40–250 MB) downloads once and is cached. There is no upload endpoint in the product, so the video has nowhere to go.

After that you can:

  • fix lines by typing over them (click a timestamp to jump to that moment)
  • translate into 20 languages with Chrome's built-in on-device translator
  • pick one of 12 caption styles, including word-by-word highlighting
  • export SRT / VTT / ASS, or burn the subtitles into an MP4 (libass compiled to WebAssembly, encoded with WebCodecs)

A few things I learned building it:

  • Whisper hallucinates on silence and music ("Thanks for watching!", or the Japanese equivalent). A Silero VAD pass runs before Whisper, and a cleanup step drops the known stock phrases.
  • Singing doesn't count as speech for the VAD, so a music video gets a "no speech found" warning. You can still force it.

Honest limits: it only takes video files, not audio-only files. Cue timings can't be edited yet. Builds are release candidates. Everything that runs locally is free with no account; the only paid part is optional cloud translation on our backend (US$5 for 1000 credits), and you can bring your own Claude / OpenAI / DeepL key instead.

Site: https://opensubs.app/ Code: https://github.com/open-subs/opensubs

Feedback welcome, especially on languages where the transcription goes wrong.

top 41 comments
sorted by: hot top new old
[-] antianarchist@sopuli.xyz 9 points 8 hours ago

Nice, another blindly generated app by Claude Code. 37 commits and already announcing it tells it all.

[-] mysterious_cake@feddit.nl 3 points 12 hours ago* (last edited 6 hours ago)

Did whisper improve since last year?

Last time I tried to generate subtitles for a German TV show, the subtitles were more inacurrate than what I would have written down (German is my third language and I struggle to understand anything that isn’t voiceovered) and timing was so bad I didn’t even bother to generate subtitles for the second episode.

[-] geneva_convenience@lemmy.ml 10 points 10 hours ago* (last edited 10 hours ago)

No but other models have. parakeet-unified is currently the best small model.

You can tell OP vibe coded the whole thing from their outdated model choice.

[-] victorz@lemmy.world 6 points 10 hours ago

You can tell OP vibe coded the whole thing from their outdated model choice.

I hate this landscape we're in now. I'm always suspicious of whether something was created by a thieving computer program or a real human. Just like I'm always suspicious of crazy videos these days being AI or not. Neither can I watch an ad anymore without suspicion. It's so much extra mental overhead.

I'm tired, boss.

[-] geneva_convenience@lemmy.ml 6 points 10 hours ago* (last edited 10 hours ago)

You can also just click the repository and see that Claude is a contributor which usually gives it away.

My point is more so that OP didn't even put in the effort to ask claude to look up the current best TTS model to use but instead one-shotted the thing

[-] victorz@lemmy.world 2 points 8 hours ago

Valid point.

My point was more than you didn't even have to check who is a contributor to make sure they were all human. I don't like this future. ☹️

[-] myszka@lemmy.ml 3 points 11 hours ago

I've used Whisper on my private peertube instance recently and the results were pretty decent

[-] zurohki@aussie.zone 27 points 21 hours ago

Whisper hallucinates on silence and music (“Thanks for watching!”, or the Japanese equivalent).

I've had Whisper ask me to donate to anime fansubbing groups. I wonder what it was trained on?

[-] Buckshot@programming.dev 5 points 12 hours ago

Sometimes if I hit the voice typing on my phone, which I'm pretty sure is whisper, and then don't say anything, it just comes out with nonsense.

Just did this and also got...

Thanks for watching!

[-] Kalothar@lemmy.ca 1 points 13 hours ago

What’s the max file size?

I’ve been looking for the fan edit of marvels Infinity saga.

It’s about 50 hours long divided into many many files ranging from 3-10 gb each. Would it be able to handle this? Or what’s the best way to split them up

[-] danielquinn@lemmy.ca 9 points 22 hours ago

It sounds like a pretty cool project, thanks for sharing! As a browser-based project designed to run offline, you might want to consider shipping it as an electron app.

[-] gary_host_laptop@lemmy.ml 2 points 15 hours ago

tauri is better and more efficient for this.

[-] magnue@lemmy.world 1 points 15 hours ago

I'm a lazy reader so don't know if this is implemented but it would be cool if it could be done live with the current audio out of the system. I know this was done for streamers etc using OBS/localvocal but it's a pain to get working in my experience - having to fiddle around with OBS filter settings.

[-] JustEnoughDucks@slrpnk.net 3 points 22 hours ago

Why not just use the whisper plugin for Bazarr?

[-] gary_host_laptop@lemmy.ml 3 points 15 hours ago

i get ya, but also a lot of people don't have a dedicated self hosted setup. recently my hdd died and all my films were there, so now i'm downloading and deleting, which just feels like a drag to start bazarr for one film. this is handy for some people.

this post was submitted on 21 Sep 2026
152 points (92.2% liked)

Open Source

49130 readers
1202 users here now

All about open source! Feel free to ask questions, and share news, and interesting stuff!

Useful Links

Rules

Related Communities

Community icon from opensource.org, but we are not affiliated with them.

founded 7 years ago
MODERATORS