New OBS plugin and helper tools.JrYouTubeChat
This is a combination of 3 "tools" to assist in interacting with your youtube audience during a livestream. It includes: An OBS plugin dock, a python utility, and an html browser source. Plus a small modification to the OBS source code.
What does it do:
- First, a small modification to the OBS source, which is not strictly necessary, which automatically broadcasts a message when you select a youtube broadcast to connect to from the broadcast connect dialog. This change makes everything that follows automatic.
- Next, the OBS plugin goes through all of your scenes and sources and changes any browser source which links to a youtube chat to update to the current video id; this ensures any chat browser source is automatically updates to the current livestream
- Next, the OBS plugin will (auto) launch a python script which connects to the youtube chat (not using youtube api which is rate limited but direct fetching of chat browser page and parsing results using Pytchat), and fetches all chat messages.
- These chat messages are displaying in a listbox in the OBS dock.
- The python script will also interface with a blink(1) hardware device to alert you with a physical rgb light if any configured keywords are mentioned. This will let audience get your attention if there is something you should pay attention to.
- Any item in the chat list of message can be double clicked, and websocket will be used to send a message to a special browser source you can add to a scene, which will display the highlighted message, along with any youtube avatar, in a lower thirds overlay (using exeldro's open source Downstream Keyere plugin). See screenshot. This can be used to highlight someones comment on screen when you want to react to it. You can even configure and toggle automatic rotation through messages if you just want them shown as they come in.
- Lastly, you can configure various hotkeys to move through the message list and toggle items, to facilitate using something like a streamdeck to control what's shown.
Available with my other open source OBS plugins, though by no means easy to set up currently, at github: https://github.com/dcmouser/obsPlugins