Futbol Veritabanı
8대 리그 클럽·선수·통계—Transfermarkt 데이터
Free, open source live stream graphics for grassroots cricket clubs. Professional scorebar, instant replays, AI commentary and automatic match data — all driven by your existing scoring software. Works with OBS and YouTube. Windows & Mac. All you need is a camera and Wi-Fi.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Professional live stream overlays for grassroots cricket clubs — free, open source, and built for volunteers.
• The problem
• What it does
• How it works
• No scoring software? Manual scoring
• Requirements
• Quick start
• Control panel
• Features at a glance
• Player photos
• Squad roster
• Club badges
• Platform support
• File structure
• Cost comparison
• Version history
• ContributingREADME 전문 보기 ↗Professional live stream overlays for grassroots cricket clubs — free, open source, and built for volunteers.
Download → · Project website →
The biggest update yet — rewritten from the ground up as a single app. No Python, no installer, no command windows: download one file, double-click it, and it sets itself up.
Download CricketStream 3.0 → · Everything that's new
3.0 is released as a beta while it gets its first real matches. The proven Python edition (v2.12) stays available on the
pythonbranch.
Professional cricket broadcast graphics cost thousands of pounds a season. Smaller clubs either go without, or settle for a static scoreboard that tells viewers nothing about what's actually happening on the pitch.
CricketStream Overlay changes that. It gives any club — regardless of budget — the same quality of live graphics you see on broadcast cricket, driven by the scoring software your scorer already uses — or, if your club doesn't use scoring software, by a free manual scoring page on any phone.
All you need is a camera, a laptop and an internet connection.
CricketStream Overlay runs alongside OBS Studio (free streaming software) and your scoring laptop, adding a professional broadcast layer to your YouTube live stream.
match_data.db) as you stream: over, ball, batter, bowler, outcome, extras, and running score. The current over is rewritten live so a scorer's edits and deletions are captured, and completed overs freeze. A Reconcile button then pulls PlayCricket's published scorecard as the authoritative record, and any match can be exported to CSV for analysis. Your own season-long dataset, ready for spreadsheets or a notebook.socials/1st, socials/2nd, socials/3rd per team, falling back to the main folder. All age-group sides route to socials/youth, which uses club stock photos and a discreet first-name + initial for player names — a safeguarding-conscious default for juniors.sponsors/ appears on result posts, scaled to share the width, so adding a one-off match-day sponsor is just dropping in a file.Scorer's laptop Streaming laptop YouTube
──────────────── ────────────────── ───────
NV Play / PCS Pro ───> CricketStream ───> OBS Studio ───> Live Stream
(scoring software) reads output file + Overlay
every 2-3 seconds browser source
The scoring software writes a file on every ball. The server reads it and sends the data to an overlay running inside OBS. OBS mixes the overlay with your camera and streams to YouTube.
No scoring software? A phone at /scoring takes the place of the scorer's laptop — same overlay, same graphics. See the next section.
Interested in the internals? ARCHITECTURE.md has the full picture —
data sources, the journey of a single ball, module map and security model — with diagrams
that render right on GitHub.
Not every club uses NV Play or PCS Pro — and even for clubs that do, the scorer's feed occasionally isn't available. You can still stream with the full broadcast overlay.
Open http://localhost:5000/scoring on a phone or tablet and score the match ball by
ball with big, tap-friendly buttons. Every press drives exactly the same pipeline the
scoring software would — the scorebar and ticker, wicket cards with dismissals spelled out,
milestones, boundary flashes, instant replays, the worm chart, the ball-by-ball database,
and the highlights compiler all work identically.
Setup takes a minute: enter the two team names, paste each XI (one name per line — or leave it blank and players are named automatically), set the overs, pick who bats first, and start scoring.
bind_host = 0.0.0.0 on club Wi-Fi), a volunteer can score from a deckchair while the
laptop streams. The page is protected by the same club password as the control panel.On match day, CricketStream asks how the game is being scored — choose Manual scoring and it prints the link to open. If your scorer does run NV Play, the file feed remains the better option (zero extra effort on your side) — but the manual page is also a ready-made plan B if the scorer's feed drops out mid-match.
PlayCricket-powered extras (auto fixture detection, season stats on player cards, club badge matching) are optional either way — manual scoring works with none of them configured, which also makes it the quickest way for clubs outside the ECB/PlayCricket ecosystem to use this project.
If NV Play has to run inside a Windows VM (common on a Mac), keeping that VM on the same machine that's also running OBS and the server can push it past its thermal limit — a VM crash mid-match takes the scorer's progress with it.
The bridge lets NV Play run on a second, cheap machine instead (an old laptop, a mini PC — anything that can run NV Play). Run CricketStream there and choose Scorer's machine, elsewhere on its setup page — it asks for the NV Play output folder and shows a connection token — then paste that machine's URL and token into the control panel's "NV Play on separate hardware" fields instead of the PCS output folder. Works over the same Tailscale connection used for remote access.
Full setup steps, a security rundown, and troubleshooting: BRIDGE.md.
Keep the scorer's laptop scoring and nothing else — the streaming laptop runs OBS, the server and the overlay, and can be restarted or fiddled with mid-match without reaching across to the scorer. The scoring laptop runs the same CricketStream download, set up as The scorer's laptop, and the streaming laptop finds it on the club wifi automatically (no address to type). This is the option for two laptops already on the same local network; use the NV Play bridge above instead if they aren't (e.g. reached over Tailscale).
Full setup steps and troubleshooting: TWO_LAPTOP_SETUP.md.
A Raspberry Pi with a touch screen, on the clubhouse wall, can run the whole stream: Start the stream switches the streaming laptop on (Wake-on-LAN), opens OBS and gets match day ready; the match-day checklist, Go live, the YouTube title and the cameras are big buttons; the score fills the screen for the bar, with a picture of the stream in the corner that goes full screen when tapped; and Finish ends the stream and switches the laptop off again. A PIN keeps the controls to the people who should have them.
It's off unless you switch it on (the streaming laptop's match-day screen → Clubhouse
screen), and nothing about it is specific to one club. Setup, including the laptop's
Wake-on-LAN: CLUBHOUSE_SCREEN.md.
Hardware:
Software (all free):
Optional:
New to this? Read your platform's quick start first:
SETUP_GUIDE_WINDOWS.mdSETUP_GUIDE_MAC.mdFOR_NON_TECHNICAL_USERS.md walks you through every step in plain English.One file. You run the same one every time — on every machine.
CricketStream.exe (Windows) or CricketStream-mac.zip (Mac, one download covers both Apple Silicon and Intel) — and put it in a folder of its own (say, Documents → CricketStream).It works out for itself what still needs doing:
| First run | CricketStream opens in its own window and asks which computer is this? — the streaming laptop, or the scorer's laptop — then the setup questions for that one: your club details, a preview of your stream in your colours with every graphic · writes config.ini |
| Every run after | Opens on this computer's job — on the streaming laptop the match-day screen (Start match day: OBS, today's fixture, season stats, pre-flight check, then the control panel in the same window, logged in); on the scorer's laptop, sharing the score, with a green light when the streaming laptop is collecting it |
Nothing to install first, no files to edit, no console window and no browser tabs, and nothing to remember on a Saturday morning beyond "double-click the thing I double-clicked last time". Questions it needs answering come up in the window, an Activity view shows everything it did (and saves it in logs/ beside the app), and closing the window asks before it stops anything that's running. Everything setup asked can be changed later from Settings in the control panel, live. Everything it keeps — settings, match data, badges, sponsor logos — lives in the folder beside it, so one folder is the whole install (and the whole backup).
Two laptops? The scorer's machine runs the very same file; on its first screen click The scorer's laptop (or Set this computer up as an NV Play bridge when the scorer is elsewhere). See
TWO_LAPTOP_SETUP.md.On a Mac the same screens open in the browser for now, with a Terminal window behind them; the control panel is a web page on every platform, so phones and tablets can use it.
If anything goes wrong, it tells you what and waits — these windows never close on an error you haven't read.
Double-clicking runs the job this machine was set up for. From a terminal, each part can also be run directly:
CricketStream setup the setup page again (change the club's details or this machine's role)
CricketStream start match day on the streaming laptop (--remote/--local, --manual/--nvplay)
CricketStream server just the server: overlay, control panel, scoring page
CricketStream agent [folder] scorer's laptop on the same wifi
CricketStream bridge scorer's machine elsewhere (token-gated, over Tailscale)
CricketStream simulate rehearse with a simulated match (--list for scenarios)
CricketStream obs-setup build OBS's scenes and sources (OBS must be open)
CricketStream telemetry log bandwidth, drops and match context to diagnostics/
CricketStream camera-encoder read a Reolink camera's own encoder settings
CricketStream refresh-cam reload the OBS camera source on a timer (RTSP drift)
CricketStream quality-test drive the quality ladder down and back while live
On the streaming laptop the control panel opens in CricketStream's own window when match
day starts, already signed in. It's also at http://localhost:5000/control in any browser.
Using it from your phone or tablet: choose Phones and tablets too on the match-day screen (it needs a club password), then click This machine at the top of the panel for a QR code to scan. The panel is fully responsive and designed to work at phone-screen size.
API keys and settings load automatically from config.ini — values you entered in
[API], [OBS], [Scoring], and [Stream] are seeded into the panel on first run.
You do not need to re-enter them manually.
It lets you:
C)The panel has five tabs — Match day, Graphics & sponsor, After the match, Pictures (badges, player photos, sponsor logos and match photos) and Setup — under a pinned bar with the live status, Save, the camera buttons and the match-day checklist. Drag a tile by the grip in its title to put each tab in your own order.
| Feature | Requires |
|---|---|
| Manual ball-by-ball scoring from a phone | Nothing — just a browser at /scoring |
| Scorebar with batter/bowler names | NV Play output file (or manual scoring) |
| Ball-by-ball ticker | NV Play output file |
| Fall-of-wicket card with dismissal detail | NV Play output file |
| Player card with photo + season stats | NV Play output file + player photos (Pictures tab) + PlayCricket API key |
| Opposition player stats | PlayCricket API key |
| Squad roster (resolves brothers / duplicate accounts) | Set in control panel |
| Over summary / partnership / worm panels | NV Play output file |
| Player milestones (50s/100s) | NV Play output file |
| Boundary & six flashes | NV Play output file |
| Drinks-break weather | Open-Meteo (free) |
| Score only (no names) | PlayCricket widget (internet) |
| Instant replay | OBS WebSocket + replay buffer |
| Highlights compiler | FFmpeg (free) |
| AI over commentary | Anthropic API key |
| AI match report & social posts | Anthropic API key |
| Ball-by-ball database + CSV export | NV Play output file (logs as you stream) |
| Result post for any past match | PlayCricket API key |
| Per-team / youth social photo folders | socials/1st, socials/2nd, socials/3rd, socials/youth |
| One-click RTSP camera into OBS | OBS WebSocket |
| Bowler milestones (five-fors, hat-tricks) | NV Play output file (or manual scoring) |
| Auto-tagged, captioned highlights with chapters | FFmpeg + OBS WebSocket |
| Adaptive stream quality / congestion monitor | OBS WebSocket |
| Match simulator for rehearsals | Nothing — runs offline |
| Auto match detection | PlayCricket API key |
| YouTube broadcast manager + sponsor viewer-minutes |
Player cards show a circular headshot next to the batter's name and season stats.
Setup: control panel → Pictures → Player photos → Add photos…, naming each after the player. With the squad roster entered, the tab lists who still needs a photo, with an Add photo… button beside each. Because NV Play provides surnames only, the overlay matches names loosely, so you don't have to be exact — any of these names will match a batter shown as "Smith":
Smith.jpg
smith.png
J_Smith.jpg
JOHN_SMITH.png
Square images around 400x400 work best. Supported formats: JPG, PNG, WebP. No restart needed — add a photo and it appears the next time that batter comes in. If no photo is found, the card simply shows initials instead.
The photos are kept in headshots/ beside CricketStream; a club that keeps them elsewhere
can point Setup → Where pictures are kept at that folder.
For players who share a surname (brothers are common at club level), you can also name a
photo by shirt number — 21.png, 28.jpg — and the squad roster (below) will pin it
to the right player.
NV Play only sends surnames, so two brothers both show as "Smith", and a player with two PlayCricket accounts can appear twice in the stats. The squad roster solves both.
In the control panel, open Squad Roster and enter one player per line, mapping their shirt number to their full name:
21 = Steve Smith
28 = John Smith
14 = Paul Smith
The PCS Pro template sends each batter's shirt number alongside their name, so the overlay uses the number to look up the correct full name — and from there the correct photo and the correct season stats. Brothers no longer get mixed up, and where a player has more than one PlayCricket account the stats use their most-played (regular) account automatically.
You only need to do this once per season, and only for players whose surname is shared or
ambiguous. Everyone else resolves fine by surname alone. For this to work, the scorer's
NV Play / PCS Pro squad must have shirt numbers assigned, and you must deploy the v2
scoreboard.template (see the upgrade notes in CHANGELOG.md).
Checking a player's stats match. If a card shows a photo but no stats (or you suspect the wrong record), open this in a browser while the server is running:
http://localhost:5000/player/stats?name=SURNAME&debug=1
It lists every player sharing that surname in the season data, how many innings each has, and which record the overlay will use — making it obvious when a name is ambiguous (add those players to the roster) or when someone has a duplicate PlayCricket account.
Small circular club badges appear next to team names in the scorebar automatically,
matched by PlayCricket club ID. Add them in the control panel's Pictures tab: ours
once, and the opposition's from the Today's opposition button — the club ID and a short
abbreviation come from the day's fixture, so there's nothing to name or look up. If a badge doesn't match, you can also
pick either team's badge from a dropdown in the control panel. See CLUB_LOGOS.md
for full instructions, including how to find opposition club IDs.
| Windows | macOS | |
|---|---|---|
| Full feature set | yes | yes |
| NV Play native | yes | Via VMware Fusion (free) |
| OBS streaming | yes | yes |
| Download | CricketStream.exe (x64; CricketStream-arm64.exe for Arm) | CricketStream-mac.zip (Apple Silicon + Intel) |
A Linux build (CricketStream-linux) is published too, for the scorer agent or bridge on
a spare machine, or for running the server headless.
For Mac users running NV Play: see MAC_VM_SETUP.md for running NV Play
inside a free Windows virtual machine while streaming natively from macOS.
What you download is one file. Everything below it is created as you use it, beside the app:
CricketStream/
├── CricketStream.exe The whole app (CricketStream + CricketStream.command on a Mac)
├── config.ini Your setup answers, API keys, OBS password (written by setup)
├── match_state.json Control-panel settings (made on first run)
├── match_data.db Ball-by-ball database
├── logos/ Club badges (added in the Pictures tab)
├── headshots/ Player photos (added in the Pictures tab)
├── socials/ Match photos for social posts (Pictures tab)
│ ├── 1st/ 2nd/ 3rd/ Optional per-team photo folders
│ └── youth/ Stock photos for youth posts (safeguarding)
├── sponsors/ Sponsor logos (Pictures tab)
└── diagnostics/ Match-day telemetry CSVs
The overlay, control panel, scoring page, fonts and NV Play's scoreboard template are all
built into the app. Put a file of the same name beside it and that copy is used
instead — so overlay.html or control.html can still be edited and picked up with a
browser refresh, no rebuild and no restart.
The source repository:
/
├── cmd/cricketstream/ The app's entry point: role dispatch and subcommands
├── internal/
│ ├── server/ The stream server: every HTTP route, PCS parsing, OBS ops, the ball DB
│ ├── launcher/ Match day on the streaming laptop: fixture, OBS, server, pre-flight
│ ├── setup/ The first-run setup page
│ ├── scoring/ The scorer's-book engine behind /scoring and the simulator
│ ├── simulate/ Match simulator — rehearse the whole broadcast, no scorer needed
│ ├── obs/ obsws/ OBS prep (config while closed), setup (scenes over WebSocket), the client
│ ├── agent/ bridge/ The scorer's-laptop agent and the token-gated NV Play bridge
│ ├── tools/ Telemetry, camera encoder read-out, camera refresher, quality-ladder test
│ ├── resultcard/ matchpage/ socialclips/ winpredict/ voice/ logobg/ Post-match and extras
│ └── … Shared helpers (INI, Python-compatible formatting, assets)
├── overlay.html OBS browser source overlay (1920x1080), built in
├── control.html Operator control panel (served at /control), built in
├── scoring.html Manual ball-by-ball scoring page (served at /scoring), built in
├── scoreboard.template NV Play output template, built in
├── fonts/ brand/ graphics/ Built-in fonts, brand assets and OBS graphics
├── scripts/ makebrand (brand assets), renderscorebar (scorebar screenshots)
├── config.example.ini Every config.ini setting, documented
├── match_state.example.json Settings template
└── docs/ GitHub Pages landing page
config.iniandmatch_state.jsonare git-ignored — they hold your API keys and OBS password once configured. The repo shipsconfig.example.iniandmatch_state.example.jsonas safe templates; the setup page writesconfig.inifor you.
| Provider | Annual cost |
|---|---|
| Professional broadcast graphics | £2,000–£10,000+ |
| CricketStream Overlay | Free |
| Optional AI features (commentary, reports, posts) | a few pence per match |
| Optional PlayCricket API | Free |
The only costs are what you're likely already paying: a camera, a laptop, and a YouTube account.
v3.0.0 (beta) — the whole app rewritten in Go as a single signed download: no Python,
no installer, no project folder, and the same file on every machine. It opens in its own
window: which computer is this, setup with a live preview of your stream, then a match-day
screen with the control panel in the same window. Behaviour, the overlay and the control
panel are unchanged; the tests were ported alongside, and parity with the Python original
is checked in CI. Released as betas until it has been through real matches — the proven
Python edition stays on the python branch and its v2.12 release.
See CHANGELOG.md and PORTING.md.
v2.12 — Social clips, an AI camera spotter, a live win predictor, optional spoken
commentary and an automatic match page, plus fixes from a full code review (a final-ball
boundary could replay twice, and a last-ball wicket could be credited to the next bowler).
See CHANGELOG.md.
v2.11 — A pre-match check that tries every login and connection for real days before a match, and re-runs itself every 6 hours; camera buttons in the panel's pinned bar.
v2.10 — An expired YouTube login now says so; sponsor viewer-minutes from YouTube's live viewer count; one logo per sponsor on the result card; the old per-ball AI lower third removed.
v2.9 — A rebuilt Instagram result card in the style of county result graphics; the simulator now behaves like real NV Play at the end of an over; the ball database no longer misses the last ball of most overs; a match keeps its data when its id changes mid-innings.
v2.8 — Camera cuts about 3.6x quicker over a held-open OBS socket (press C to flick),
one launcher (CricketStream.exe) for the streaming laptop, and OBS set up end to end
before it opens: WebSocket, replay buffer, video, encoder, Safe Mode prompt cleared.
v2.7.3 — Fixed the one-click "add camera" OBS setup, found while wiring up a real new
camera: re-running it could silently drop the camera from the Replay scene, or fail outright,
because of a real OBS-websocket quirk around removing a source referenced by more than one
scene. It now updates the camera in place and keeps it in every scene that needs it. Full
detail in CHANGELOG.md.
v2.7.2 — Fixed a Windows-console encoding bug that could silently kill an in-flight
request the moment the server printed one of its own checkmarks or arrows. Full detail in
CHANGELOG.md.
v2.7.1 — A thin launcher exe for match day, an auto-restart loop when the server crashes
unexpectedly, automated stream-quality-ladder testing, CI compile-checking across all 13
top-level scripts, and scorer_agent.py now asks for the scoreboard folder right in its
console window if it can't find it automatically, instead of exiting and asking you to
re-run it from the command line. Full detail in CHANGELOG.md.
v2.7 — Two independent ways to run NV Play on a separate machine from the one doing OBS
and the stream, both verified on real two-machine hardware: nvplay_bridge.py (Tailscale,
token-gated, for machines that aren't on the same network) and scorer_agent.py (UDP
auto-discovery, for two laptops on the same club wifi). A Mac thermal early-warning check,
match-day diagnostic/camera tooling, and a pre-flight OBS bitrate sanity check round out a
run of fixes driven by real match-day failures. Full detail in CHANGELOG.md.
v2.6.1 — Ten bugs found by a deep code review of everything shipped between v2.4 and
v2.6, all fixed with regression tests (suite now 211): over-final wickets are credited to
the right bowler everywhere (hat-trick chain, five-for graphic, ball database), manual
scoring's edit/undo/restart recovery no longer wedges, and a live manual session now counts
as a healthy feed in the AI commentary, /health, and the watchdog. Full detail in
CHANGELOG.md.
v2.6 — Manual scoring gains an end-of-over recap, edit-any-ball, and a plain-text
scorecard for Play-Cricket entry. The YouTube "title" updater becomes a full broadcast
manager (title, description, privacy, category) over the API, for stream-key streaming
where OBS's Manage Broadcast panel disappears — with hardened credential handling. Plus
fixes from live testing (see CHANGELOG.md).
v2.5 — Manual scoring page (/scoring) for clubs without scoring software; adaptive
stream quality (auto dynamic bitrate + congestion monitor with a quality ladder); match
simulator for full broadcast rehearsals; auto-tagged, captioned highlights with YouTube
chapters; bowler milestone graphics (five-fors, hat-tricks); a 169-test automated suite
wired into CI; and a batch of match-day fixes — including the ball-by-ball database no
longer losing the final delivery of every over. Full detail in
CHANGELOG.md.
v2.4 — Weekend sponsor strap, over-transition timing fix, startup update check, and pre-match/crediting fixes (see changelog).
v2.1.1 — Responsive control panel (stacks to a single column with touch-friendly buttons at phone width, so a Wi-Fi phone operator can run the stream comfortably). config.ini auto-seeding — server.py now reads all config.ini sections on startup and pre-populates any fields still at their defaults, so API keys, club name, kit colour, and folder paths load automatically without needing to re-enter them in the control panel.
v2.1 — Broadcast intelligence & your own data. A local ball-by-ball database (SQLite) that logs every delivery as you stream, survives scorer edits, reconciles against PlayCricket's published scorecard, and exports to CSV. Standalone result posts for any match — home or away, streamed or not — with top batter/bowler worked out from the scorecard, per-team and youth photo folders (safeguarding defaults for juniors), and an all-sponsors strip. One-click RTSP camera setup into OBS. Auto-detected moments (season-best scores, team milestones) on the over summary and woven into the AI commentary; second-innings "at this stage" comparison; full innings scorecard at the break (requires the v2.1 scoreboard template); bowler spell tracker; DLS par score pill when rain is forecast; broadcast animation polish (spring entries, sweeping boundary banners, milestone count-ups); a control-panel health strip and a quickstart pre-flight check; threaded server; hardened security (secrets no longer readable from the browser, atomic state writes, escaped names).
v2.0 — Broadcast layer release. Player cards with photos and live PlayCricket season stats for both sides; squad roster (shirt numbers) to resolve brothers, shared surnames, and duplicate PlayCricket accounts; cumulative worm chart in team colours; full-word dismissals on the wicket card; AI over commentary, match reports, and social posts (Claude); automatic club-badge matching by PlayCricket club ID with a manual picker; drinks-break weather; kit colours that follow the batting team; score-delta over runs and isolated graphics updates for a more robust match-day loop; and a player-stats diagnostic endpoint.
v1.0 — Initial release: live scorebar, ball-by-ball ticker, fall-of-wicket card, boundary flashes, over summaries, partnerships, milestones, innings summaries, instant replay via OBS, highlights compiler, PlayCricket fixture detection, and YouTube title updates.
Contributions are welcome — see CONTRIBUTING.md for how to get started. If you add support for additional scoring software, fix bugs, or improve the overlay design, please open a pull request. If your club uses this and improves it for your own needs, please share the changes so other clubs can benefit.
Questions, match-day problems, or just want to show off your club's stream? Join the CricketStream Discord — the quickest way to reach the maintainer and other clubs using it. Bugs that need fixing are still best raised as a GitHub issue, so they don't get lost in the chat.
Built by Bridestowe & Belstone CC, Devon Cricket League. Scoring data via NV Play and the PlayCricket API (ECB). AI features powered by Claude (Anthropic). Weather data via Open-Meteo. Streaming via OBS Studio.
Free code signing provided by SignPath.io, certificate by
SignPath Foundation — being set up: until it is, the Windows
downloads are unsigned and Windows asks once (More info → Run anyway). Once signed, the
Windows downloads (CricketStream.exe, CricketStream-arm64.exe) are signed, so
Windows shows SignPath Foundation as the publisher; the file's own details name
Bridestowe & Belstone CC. They are built only by this repository's
release workflow, on GitHub's own build machines,
from the source code here — nothing built anywhere else is signed. Every signing request is
approved by hand by an approver before anything is signed.
| Role | Who |
|---|---|
| Committers and reviewers | to be filled in before applying |
| Approvers | to be filled in before applying |
Changes from anyone not listed as a committer are reviewed by a reviewer before they're merged. Everyone listed uses two-factor sign-in for GitHub and SignPath.
CricketStream doesn't collect anything about you or your club, and sends nothing to its
authors, to SignPath, or to anyone else on its own account: no analytics, no tracking.
Everything it keeps — settings, match data, photos, logs — stays in the folder beside
the app (and its window's cache in %LOCALAPPDATA%\CricketStream).
It talks to these services, only to do what you've asked it to:
| Service | When | What it sends |
|---|---|---|
| PlayCricket (play-cricket.com, resultsvault.co.uk) | Fetching today's match, scorecards, season stats | Your club ID and API key |
| YouTube (Google) | Only if you sign in to YouTube from the control panel | The stream title and settings you choose |
| Anthropic (Claude) | Only if you add an AI key and use the AI features | Match facts and figures for commentary and reports; with the camera spotter switched on, camera snapshots |
| Open-Meteo | The weather graphic | Your ground's location |
| Cloudflare | The upload speed test; a Cloudflare Tunnel only if you switch one on | Test data; the control panel's traffic through the tunnel |
| GitHub | Checking for a newer version | Nothing beyond the request itself |
Each service's own privacy policy covers what it does with what it receives.
CricketStream is a single file with no installer. Everything it does to the computer is said
in its window (and the activity log in logs/) as it happens:
[OBS] manage_obs = no in config.ini leaves OBS alone.scoreboard.template in NV Play's Templates folder (an older copy is
kept as scoreboard.template.old).Removing it: close CricketStream, then delete its folder, the desktop shortcut and
%LOCALAPPDATA%\CricketStream. Its OBS scenes stay in OBS until you delete them there, and
NV Play's template until you delete it from NV Play's Templates folder.
See the LICENSE file in the repository. Free to use, modify, and distribute for your club.
CricketStream simulate| Google OAuth |
| Win predictor | PlayCricket API key (this season's scorecards) |
| Spoken commentary | Anthropic API key (for the line) — the voice itself is free and offline |
| AI camera spotter | Anthropic API key + OBS WebSocket |
| Social clips | FFmpeg + tagged replays (Anthropic key optional, for captions) |
| Match page | Nothing extra (richer with Anthropic, PlayCricket and YouTube) |
| Pre-match check, checklist, OBS crash recovery | Nothing extra |
| Club badges in scorebar | Badges added in the control panel's Pictures tab |