Skip to main content

A tool used to process and analyze chat data from past live streams, providing summarized information about chat activity over the stream's lifetime.

Project description

Chat Analyzer

PyPI version PyPI status Documentation Status

Chat Analyzer is 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 software

Example of a visualization chart Example of a visualization chart

Paired with the visualizer hosted on chatanalyze.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.

  • Editors

    • Making 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 / Creators

    • Draw 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 streamers

    • Immitation 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?

Installation

This tool is distributed on PyPI and can be installed with pip:

pip install chat-analyzer

To update to the latest version, add the phrase --upgrade to the end of the above command.

Alternatively, the tool can be installed with git:

git clone https://github.com/David-Fryd/chat-analyzer.git
cd chat-analyzer
python setup.py install

Usage

Basic to intermediate/advanced usage can be found on the Getting Started page of the documentation.

A simple command might look like:

chat_analyzer 'https://www.twitch.tv/videos/{VIDEO_ID}' -o

Command line

usage: 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]
                    source

More complete documentation can be found on the Command Line Usage page.

Output

For non-developers, I highly recommend you use the visualizer on chatanalyze.com to 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 .json file. 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 the Output Specifications page.

Known issues

  • Reported Users Per Second (UPSec/avgUniqueUsersPerSecond) is actually Users Per Sample (UPSample).

    • UPSec is not as simple as dividing unique users per sample by sample length

    • As 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 Thanks

This project wouldn’t exist without Xenova 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 the chat_downloader directory. 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 :)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chat-analyzer-1.0.6b3.tar.gz (93.2 kB view details)

Uploaded Source

Built Distribution

chat_analyzer-1.0.6b3-py3-none-any.whl (102.3 kB view details)

Uploaded Python 3

File details

Details for the file chat-analyzer-1.0.6b3.tar.gz.

File metadata

  • Download URL: chat-analyzer-1.0.6b3.tar.gz
  • Upload date:
  • Size: 93.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.7.9

File hashes

Hashes for chat-analyzer-1.0.6b3.tar.gz
Algorithm Hash digest
SHA256 3b4ed80f5d09d2ae8a1ba84d21c0ab6d0dcaca923d9909d25cedfa8291e7d875
MD5 fac792604c0fc11445d72e9ae05b66f8
BLAKE2b-256 169f313eaafb2b6408e8e5fd91f20d123ef06fcdf30a79402a4afdb9cf81b2ed

See more details on using hashes here.

File details

Details for the file chat_analyzer-1.0.6b3-py3-none-any.whl.

File metadata

File hashes

Hashes for chat_analyzer-1.0.6b3-py3-none-any.whl
Algorithm Hash digest
SHA256 740a1ab821f89d3ccbed7b1c455cfd5139491c1660309029d4872a37daa691b0
MD5 9b903dbf6261172e18394990fd9c8723
BLAKE2b-256 1a7ac4cdfc37b0de994632681ac0d328af1c98971db051b7d19dff7cf8e70d24

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page