Closed Captioning OBS plugin using Google Speech Recognition
GPL-2.0 License
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.
Twitch.tv
, other streaming services with native caption support might work but not very likely.View -> Docks -> Captions
Does NOT work with Streamlabs OBS (SLOBS), it doesn't support 3rd party plugins like this.
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.
Embedded Captions in local recordings currently aren't very useful. They only work with certain file formats (ts, mp4, mov) and only very few video players can correctly play them. MPV can play them normally with .ts files, almost no common video players play them in mp4 and mov files. Saving transcripts to separate .srt subtitle files is generally much more useful.
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
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.
obs-plugins
C:\Program Files\obs-studio\
or C:\Program Files (x86)\obs-studio\
obs-plugins
folder into the main OBS folder
obs-plugins
bin
and data
foldersobs-plugins
folderCloud Closed Captions
option on the bottom of Tools
menuSettings
in the new Captions Preview
window and select your audio source for captioning under Caption Source
cloud-closed-captions.plugin
cloud-closed-captions.plugin
file into the plugins
folder in the obs-studio
settings folder
File -> Show Settings Folder
and it should open automaticallyGo
menu press Go to Folder
(or press Cmd+Shift+G)~/Library/Application Support/obs-studio/
and hit enter to go to your obs-studio
folderobs-studio
folder may contain a folder called plugins
already, if not then create onecloud-closed-captions.plugin
file/plugin-package folder into the plugins
folderCloud Closed Captions
option on the bottom of Tools
menuSettings
in the new Captions Preview
window and select your audio source for captioning under Caption Source
libobs_google_caption_plugin.so
into your OBS plugins folder
$HOME/.config/obs-studio/plugins
$HOME/.config/obs-studio/plugins/libobs_google_caption_plugin/bin/64bit/libobs_google_caption_plugin.so
If your OBS setup does not use a audio source that's only the microphone but instead gets a already mixed audio source (that has the microphone mixed with other sounds/game/voices already like from a mixer or GoXLR) you can still make it work as long as your streaming PC has access to only the microphone by itself as well. Steps:
Microphone only
for example, and mute it (so stream doesn't hear the mic twice)Caption Source
to the mic only OBS source that's mutedCaption When
to Mute Source is heard on stream
Mute Source
to your mixed audio OBS source that stream hearsThis way it will use the Microphone only
source to get clean mic audio for captioning but it will still only caption it when the other selected source is unmuted and active so it's still safe. When the mixed source for stream is muted in OBS the captions also get muted.