SUBSCRIBE · per track
You ask for one track, not the whole show.
A player that wants picture, sound, or captions sends SUBSCRIBE for that track. SUBSCRIBE means you ask to watch that track. In MoQ Boy, the browser does this per track. It sends UNSUBSCRIBE when the picture leaves the view. The catalog can name a track before any frame exists. Asking is what makes the work worth doing.
Relay · fan-in
Many viewers become one job for the publisher.
The relay gathers every request for the same track. It shows the publisher one subscription. A hundred viewers can still mean one encode. The app chooses which requests to follow. The relay only shares the track. It does not make that choice.
N viewers → SUBSCRIBE one track
relay → 1 publisher subscription
encode → only while that sub is live
Publisher · on demand
The costly work starts when someone is watching.
A publisher sends a track only while a subscription is active. It can wait to encode until then. MoQ Boy turns video encode off when nobody wants video. It turns audio encode off when nobody wants audio. If neither is subscribed, the source can sleep. An SI publisher uses the same rule. Captions run only while you have captions on. A smaller detection picture can run while the full picture stays idle.
no video sub → video encoder sleeps
no audio sub → audio encoder sleeps
neither → source can sleep
captions sub → that rendition runs
Idle · unsubscribe
When the last viewer leaves, the track sleeps.
The publisher subscription ends with the last viewer. Idle tracks do not keep spending encode. If you do not ask for captions, that job does not run. If you do not ask for another codec, that transcode does not run. A full-size track can stay dark until you ask for it.