jrudess / streamdvr

DVR for streaming entertainment
GNU General Public License v3.0
65 stars 16 forks source link

Recording Twitch Chat #139

Closed camjac251 closed 3 years ago

camjac251 commented 5 years ago

Would it be possible to record Twitch chat along side usernames? I've been trying to find a project where someone has made offline VOD viewing available with chat but nobody has one yet, except for 1 or 2 projects that records chat into a video. There's many python projects for parsing Twitch Chat and some even logging it but not a project that ties both the vod recording and chat together along with playback with chat parsing.

Live channels can't have the chat recorded using the Twitch Chat Replay in real time but I believe they can through the Twitch IRC relay. I was able to find https://github.com/tmijs/tmi.js which might work for logging the chat in real time and supports a lot of features of the twitch frontend. Examples https://docs.tmijs.org/v1.4.2/Examples.html

https://github.com/freaktechnik/twitch-chatlog for saving VOD chat replays

jrudess commented 5 years ago

I've thought about taking chat logs then storing them in a .srt subtitle file, so you could overlay the chat onto the video stream with nearly any player. But its just a thought at the moment.

jrudess commented 3 years ago

I'm spending less time using StreamDVR, so I'm not interested in implementing any site-specific features myself. I'd be happy to accept pull-requests though.

The architecture for StreamDVR is that every site specifies which plugin it uses in its own site.yml config file. Right now, all sites are using the basic plugin. One generic plugin can work for all sites because all the site-specific code is being handled by either youtube-dl or streamlink.

But once sites start getting custom features, a new src/plugins/twitch.ts class needs to be created. It can still extend from src/plugins/basic.ts, but all twitch specific API code would go in the new twitch plugin.