We were inspired by the way League of Legends highlights are generated instantaneously after a play during Worlds. We wanted to try and make it something available to all Twitch users.
What it does
The script downloads and analyzes a vod from Twitch, when something exciting happens, it would recognize the spike of chat messages and record that time frame. Then it downloads the top 5 most exciting plays for the user.
How I built it
After a recommendation from a Twitch dev, we started by grabbing the .m3u8 playlist file and the chat log for the vod. Then we started to analyze the logs to find the top 5 highlights. Lastly, we look for these highlights' time frames to download the clips.
Challenges I ran into
- Chat history wasn't readily available for us to access through the Twitch API, we did find a way through Rechat. Though there was little documentation for that and we had to spend time looking through the example code.
- The .m3u8 index file was not accessible through the Twitch API, we tried multiple other methods as workarounds, but none of them helped.
- Chat history file from Rechat was bigger than we anticipated and we had to do some clean up with the data.
Accomplishments that I'm proud of
- Using the current tools we have from the Twitch API, we got what was not provided from the API originally.
What I learned
- Using the Twitch API to our advantage even though it wasn't providing us with what we need
- Figuring out Rechat with little amount of documentation
What's next for TwitchMontage
- Make each montage customizable with options like length and the amount of highlights in a montage