Package: chat-analyzer
Chat AnalyzerChat Analyzeris a tool used to process and analyze chat data
from past live streams, providing summarized information about chat activity over the stream’s lifetime.
The information currently reported primarily revolves around the activity per second for various metrics,
with future plans to incorporate semantic analysis into the program (happy chats? sad? excited, wholesome, etc…).Here’s a video covering the start-to-end usage of the softwarePaired with the visualizer hosted onchatanalyze.com, easily understand and interpret
how your chat responds to your performance!Currently both YouTube and Twitch VODs are supported.Target Audience:Anyone can use this tool on anyone’s streams, enabling people beyond the creators themselves to view and use chat analytics data.EditorsMaking a clips channel? Need to edit down an 18 hour stream into a 20 minute youtube video? Quickly find
parts of the stream where chat went crazy and look there first! Chat activity is
generally a great proxy for how exciting/engaging the stream is at any moment in time. Not only
will you more quickly find the most interesting sections of the stream, but you’ll
ensure that you don’t miss any moments that you might have might have slept through during your 18 hour-long
editing session.Are you a creator that edits your own videos? Focus more on creating the content you love, and less on the tedious
work of editing.Streamers / CreatorsDraw specific connections between the content you make and how it engages your community. What type of content makes
your chat go wild? What strategies/types of content are more effective than others?See the exact moments people decide to subscribe/become members- what type of content moves people so much that
they decide to support you and your stream?Small/Upcoming streamersImmitation is the best form of flattery. Pick a popular streamer and see what parts of their stream generate the most engagement!
What type of content/strategies can you use to make your stream more engaging?InstallationThis tool is distributed onPyPIand can be installed withpip:pip install chat-analyzerTo update to the latest version, add the phrase--upgradeto the end of the above command.Alternatively, the tool can be installed withgit:git clone https://github.com/David-Fryd/chat-analyzer.git
cd chat-analyzer
python setup.py installUsageBasic to intermediate/advanced usage can be found on theGetting Startedpage of the documentation.A simple command might look like:chat_analyzer 'https://www.twitch.tv/videos/{VIDEO_ID}' -oCommand lineusage: chat_analyzer [-h] [--version] [--platform {youtube,twitch}]
                    [--mode {url,chatfile,reanalyze}]
                    [--save-chatfile-output SAVE_CHATFILE_OUTPUT]
                    [--interval INTERVAL] [--print-interval PRINT_INTERVAL]
                    [--highlight-percentile HIGHLIGHT_PERCENTILE]
                    [--highlight-metric {usersPSec,chatsPSec,activityPSec}]
                    [--description DESCRIPTION] [--output OUTPUT] [--nojson]
                    [--debug] [--break BREAK]
                    sourceMore complete documentation can be found on theCommand Line Usagepage.OutputFor non-developers, I highly recommend you use the visualizer onchatanalyze.comto view the output of the program.
Simply follow the instructions and upload the output json file to the visualizer.All of the analytical data is output in a single.jsonfile. Certain datapoints exist regardless of the platform
the VOD is from, some datapoints are specific to the platform.More complete documentation can be found on theOutput Specificationspage.Known issuesReported Users Per Second (UPSec/avgUniqueUsersPerSecond) is actually Users Per Sample (UPSample).UPSec is not as simple as dividing unique users per sample by sample lengthAs sample size -> video duration, UPSample -> Total unique users.For now it is a fine approximation for small sample durations,
but in the future should be remedied either by improving UPSec calc algorithm
or simply by reporting UPSample instead.Special ThanksThis project wouldn’t exist withoutXenova and their chat-downloader!
All of the platform-standardization and downloading logic that they worked on for their downloader made the analyzer
infinitely easier to write. In order to avoid compatability issues, this software comes packaged with a frozen version
of the downloader src, and all credit goes to Xenova for the contents in thechat_downloaderdirectory. Since this
was also my first ever python project made for distribution, their organizational structure and style was
invaluable reference for the packaging/distribution process. If you are willing, go on over to their repo and show them some support as well :)