Resource icon

Closed Captioning via Google Speech Recognition 0.0.8

Supported Bit Versions
  1. 32-bit
  2. 64-bit
Source Code URL
https://github.com/ratwithacompiler/OBS-captions-plugin
Minimum OBS Studio Version
28.0.0
Supported Platforms
  1. Windows
  2. Mac OS X
  3. Linux
Provides closed captioning via Google Cloud Speech Recognition API as a standalone OBS plugin, no other tools required.
It's fully optional to viewers and uses Twitch's built in caption support which works on livestreams and in VODs on PC, Android and iOS, no Twitch extension required.


Features:
  • Completely optional for viewers on all platforms
  • Captions only when the microphone source is unmuted and active to ensure safety
  • Works live and in VODs, no Twitch extension required
  • Requires no extra tools or website open
  • Supports many common languages with western character sets
  • Supports OBS delay
  • Open Caption support via OBS Text Sources for sites that don't support closed captions
  • Saving captions transcripts as SRT Subtitle files (.srt)
  • Text filtering with custom word and phrase removal and replacement
  • Supports captioning all stream audio instead of just a single source
Notes:
  • The caption delay is usually less than half a second and should not be noticeable to viewers.
  • The plugin only captions the selected audio source when it's not muted and when it's used on the current active scene to ensure safety and avoid any captioning when the mic is muted for the stream.
  • Only tested on `Twitch.tv`, other streaming services with native caption support might work but not very likely.
  • You can enable and disable the caption preview dock in OBS under `View -> Docks -> Captions`
  • Some video players like MPV can show embedded captions on downloaded VODs but very few support that.
  • The quality of Google's Speech Recognition heavily depends on the speaker and what is being said. The results are usually be pretty good in normal conversational settings like talking to chat but the recognition quality can go down noticeably when using ingame terms or other specialized vocabulary or during hectic speaking.
  • SRT transcript files are generally recommended for saving captions for local recordings. They are supported by many video players, websites and tools and are easy to edit.

Captions should be off by default for most viewers but Twitch does sometimes have them enabled for some viewers for unknown reasons so occasionally some will be confused on how to turn them off and might need it explained.

  • On PC viewers can turn captions on and off using the CC button on the bottom right of the player.

  • On iOS it's a system wide setting: Settings -> General -> Accessibility -> Subtitles & Captioning -> Closed Captions + SHD
    • If it's already off but viewers still see captions they have to turn it on and off again (appears to be a bug on some iOS versions)
  • On Android it's Closed Captions under the player settings options right beneath the quality selection. The option will only show up once the streamer has talked.
Example VOD here


Known Issues/Downsides:


Does NOT support native caption output for languages with foreign character sets like Japanese or Russian, that isn't possible the way Twitch and OBS captions work. Transcripts and Open Captions do work.

Does NOT appear to work with the AMD Hardware encoder in OBS on Windows (other hardware encoders like NVEnc and even AMD on MacOS seem fine)

This uses the built in captions support of Twitch's video player so viewers only get the limited amount of positioning options that the player provides. Viewers can choose between top/bottom and left/center/right for the captions box but can't freely move or resize it or put it into a corner. It's also not possible for streamers to pick a good custom default position for it, the default will be center bottom for all viewers that have captions enabled.
Author
RatWithACompiler
Downloads
78,947
Views
313,126
First release
Last update
Rating
4.72 star(s) 25 ratings

Latest reviews

This plugin is awesome and supports multiple languages. I use it for my Twitch streams.

I prefer this plugin to Twitch extensions because native closed captions are better supported on web and in the mobile apps.

I love how I can switch the language. For my coding streams, I have a fun channel point redemption for French mode and Spanish mode, where I talk about the coding topic in that language, and I can quickly switch the language for that redemption while I'm live, then change it back, allowing viewers to follow along with captions in the right language.

Whenever anyone talks about adding closed captions to their stream, this is the first thing I think about. This is also probably one of my favourite OBS plugins. I don't use too many, but this one is a must for accessibility.

I'm not sure how you're able to offer it for free considering the Google Cloud Speech Recognition API is probably quite costly, but I'm not gonna ask questions...

Thanks for building it!
Awesome plugin but would love support added to Replay Buffer. I can't seem to get it to work so I assume it's not supported.
I've been using this plugin for years and love it. I love that we have the option to caption a track instead of just a source, because that means I can set up captions for multiple people during colabrative streams by adding all their sources to a unique track.

This I think is a long shot, but I was wondering if in future it would be possible for a label of sorts to show up at the beginning of the captions when using a track this way, such as the name of the OBS source? Eg, if my mic was labeled "[Name]" and set to Track 3, then I set Track 3 to be the caption source for the plugin, could the captions then read "[Name] Hello, I am being captioned" ?

I have been looking for a way to have closed captions with speaker recognition, and this plugin is the closest I have ever been able to get to that. Regardless of whether or not that is possible though, I'm very happy this plugin exists, and it is super simple to use.
Unfortunately, the output to a text file does not work. Under "Open Captions" you can define a text file where you can integrate the subtitles directly into the overlay, right? Unfortunately this does not work.

However, the recognition of the spoken word works very well.
WOWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW THIS IS SO AMAZING, I CAN DO ENGLISH AND SPANISH, THANK U SO MUCH MI BROXIX, GOD BLESS U IN CHRIST NAME AMEN; IM SOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO HAPPY AND EXCITED THANK GOD AMEN
Love using this for my solo streams. I hope one day it's expanded to include support for multiple audio sources so I can CC the chat audio of the folks I'm streaming with too. (kina like how google meets works with multiple speakers)
Works great!
works great best cc tool ive used would like some way to have a second source so that i can add a cc for my crew from discord
in the subtitles it gets a bit stuck but the plugin is fine
Love the plugin. Does exactly what is advertised and does it very well.
Only suggestion I have is that it appears to store the TXT/SRT in memory until the stream or recording is finished when transcribing. Is it possible to save it (semi-)real-time? Maybe flush the data to the text file every X seconds or so?
Top