Join in Live  /  SRT mock  /  how it works   ← live receiver  ·  where the feed lands  ·  broadcast chain ↗

Go3 sends. We listen.
The question lands with the picture.

A mock of the real link Guntars described: a broadcaster pushing its Sport 1 channel to us over SRT, nine megabits a second, picture plus four audio tracks. Built, run and tested end to end on one laptop.

01  /  the whole thing, moving

Follow one goal through both sides.

GO3
JOIN IN LIVE
THE
INTERNET
SRT · AES-256
CHANNEL
Sport 1, a mock match
picture + 4 audio tracks
PLAYOUT
in real time,
9 Mbps, never stops
CALLER
dials out to us,
encrypted
LISTENER
always waiting
on one port
DECODE
once, then split
into four outputs
PREVIEW
operators watch,
switch language
RECORD
10 s files,
tonight becomes replay
CROWD
original track,
no commentary
COMMENTARY
Lithuanian track,
what was said
+13.3 dB
“Įvartis! Nordsport…”
BUFF
roar = moment,
words = which team
HOLD 3.0 s
JOIN IN LIVE · LIVE

Northport score! Who gets the next goal?

NorthportEastvaleNo more goals

Two details carry the design. The engine listens to the original sound, where a goal is a crowd, the same in every language. And it holds the question back, because we receive the goal before the viewer sees it.

02  /  measured, not claimed

What the test actually recorded.

9.3Mbps, steady, over SRT
Guntars asked for 9
40.0 smoment detected
the goal is at 40.0 s
+13.3dB of crowd over its
20 second baseline
2.0 sfor Scribe to read
the commentary
3.0 sheld, so the question
lands with the picture
8 sfeed cut, receiver
recovered on its own
0false moments before
the goal
15/15end-to-end checks
passed, 67 s
03  /  four tracks, one signal

Why we listen to the crowd, not the commentator.

Waveforms of the four audio tracks; the original crowd track spikes at the goal at 40 seconds
The real waveforms of the test signal. On the original track the goal is unmistakable and it only happens once. The commentary tracks are mostly voice, different in every language. Detection runs on the top line; the commentary is only used afterwards, to say which team.
04  /  the test signal

75 seconds of a match, on repeat.

Frames from the mock broadcast: stadium, attack, the penalty going in, the goal graphic, celebrations
Real stadium footage with broadcast graphics built in HTML: a ticking scorebug, the channel badge, a GOAL graphic and a burnt-in timecode. Commentary in Lithuanian, Latvian and Estonian was generated, then transcribed back to check each voice really spoke the right language.
05  /  mock vs the real feed

What changes when Go3 switches on.

This mockGo3, from Guntars' reply
WHO CALLSThe mock encoder, as SRT callerGo3, as SRT caller. Same
FROM127.0.0.185.254.183.41, allowlisted on our firewall
TOlocalhost, UDP 9000A public static IP and one UDP port, that we send them
SIGNAL9 Mbps AVC transport stream9 Mbps AVC transport stream. Same
AUDIOOriginal, Lithuanian, Latvian, EstonianOriginal plus EE, LV, LT. Track order to confirm
SOURCEA 75 s file on a loopSport 1, 24 hours a day
PASSPHRASEGenerated locally, never shownGenerated by us, sent to Guntars separately
For go-live: an address, a firewall rule and a passphrase. The receiver code does not change.
06  /  run it

Two commands.

# start both sides: the receiver listens first, then Go3 calls
./run-demo.sh
# Go3 console:    http://localhost:8100   (has the "cut the feed" button)
# JiL receiver:   http://localhost:8200

# the end-to-end test: real SRT, real audio analysis, 15 checks
node test.mjs

./stop-demo.sh