https://github.com/dan-shields/league-ocr-hud

OCR-driven Node.js program to scrape data from League of Legends, useful for creating custom HUDs

https://github.com/dan-shields/league-ocr-hud

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.4%) to scientific vocabulary

Keywords

league-of-legends nodejs
Last synced: 9 months ago · JSON representation

Repository

OCR-driven Node.js program to scrape data from League of Legends, useful for creating custom HUDs

Basic Info
  • Host: GitHub
  • Owner: Dan-Shields
  • Language: JavaScript
  • Default Branch: master
  • Homepage:
  • Size: 1.45 MB
Statistics
  • Stars: 37
  • Watchers: 6
  • Forks: 4
  • Open Issues: 4
  • Releases: 3
Topics
league-of-legends nodejs
Created over 5 years ago · Last pushed over 2 years ago
Metadata Files
Readme

README.md

League OCR HUD

About

This program creates and updates several .txt files with the latest game state data available, including tower kills, gold, timers etc. These files can then be used in OBS or vMix to update a HUD graphic.

It takes as much data as possible from the League Game Client API, and supplements that with Optical Character Recognition (OCR) using Google's Cloud Vision API.

Right now, the available data is as follows:

  • gametime
  • lefttowers, righttowers
  • leftkills, rightkills
  • leftgold, rightgold
  • leftdrakes, rightdrakes
  • leftheralds, rightheralds
  • baron_timer
  • drake_timer

The output filenames are the above values plus .txt.

Support Requests

If you're struggling to setup this program and want professional installation or are looking to get the program further developed, I'm available for hire. Please contact me at hello@danielshields.uk

Prerequisites

  • Windows 10 64-bit
  • NDI x64 Runtime 4 or newer
  • A Cloud Vision API account with billing enabled and a JSON credentials file (follow the Cloud Vision API quickstart until you get the file)
  • League of Legends on the production PC

Installation

Option 1: From Release (recommended)

Download and unzip the latest release

Option 2: From Source

  1. Install Node.js >=15, Python 3, C++ Redistributable for x64
  2. Clone this repo to somewhere to your production PC
  3. Install dependencies: npm i --production

Usage

  1. Open a dedicated NDI output for the game feed (it must be 1920x1080)
  2. Copy the CV private key JSON file into the project directory and rename it to CV.keys.json
  3. Copy config.example.json to config.json and edit ndiFeed to match your game feed name
  4. Run the executable if present or run npm start
  5. Start spectating a game in League and the output files should populate

Future plans

  • Improve reliability of NDI receiver
  • Support resolutions other than 1920x1080 for the NDI feed
  • Improve logging and error reporting
  • See if OCR processing time can be improved
  • Write some kind of tests

Owner

  • Name: Daniel Shields
  • Login: Dan-Shields
  • Kind: user
  • Location: Copenhagen, Denmark
  • Company: BLAST

Broadcast Software Engineer @blastorg

GitHub Events

Total
  • Issues event: 1
  • Watch event: 8
  • Issue comment event: 1
  • Pull request event: 1
  • Fork event: 1
Last Year
  • Issues event: 1
  • Watch event: 8
  • Issue comment event: 1
  • Pull request event: 1
  • Fork event: 1

Committers

Last synced: 11 months ago

All Time
  • Total Commits: 45
  • Total Committers: 2
  • Avg Commits per committer: 22.5
  • Development Distribution Score (DDS): 0.222
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Dan Shields d****k@g****m 35
Josh Fillingham (Fill) j****m@g****m 10

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 11
  • Total pull requests: 2
  • Average time to close issues: about 2 months
  • Average time to close pull requests: N/A
  • Total issue authors: 7
  • Total pull request authors: 2
  • Average comments per issue: 4.82
  • Average comments per pull request: 0.5
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 1
  • Average time to close issues: 3 days
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 1.0
  • Average comments per pull request: 1.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • shinilee (4)
  • Picus13 (1)
  • NaVTSLOL (1)
  • challenger087 (1)
  • FLAZEPT (1)
  • roobdesigns (1)
  • MathieuNeveu (1)
  • XPE-Alex (1)
Pull Request Authors
  • MathieuNeveu (2)
  • FujuDev (1)
Top Labels
Issue Labels
bug (1) help wanted (1) good first issue (1)
Pull Request Labels

Dependencies

package-lock.json npm
  • 402 dependencies
package.json npm
  • caxa ^2.0.0 development
  • eslint ^7.22.0 development
  • @google-cloud/vision ^2.3.1
  • @jimp/custom >=0.3.5
  • @jimp/plugin-color >=0.8.0
  • @jimp/plugin-resize >=0.8.0
  • @jimp/plugin-threshold >=0.16.1
  • grandiose 0.0.4
  • jimp ^0.16.1