Reading note

This page shows how TV video can move on MoQ.

MPEG-TS is the packet format TV gear already sends. MoQ is a fast way to stream live video over the web.

This site does not take that video in.

The diagram uses packaging: mpeg2ts from a public draft. Read the steps, or write to us.

From the dock to a subscriber

  1. 01 · InContribution MPEG-TS
  2. 02 · Objectspackaging: mpeg2ts
  3. 03 · JoinSubscriber join / switch
  4. 04 · OptionalLOC decode path

SRT + TS · contribution

The video on the wire stays a transport stream.

Chris Allen at Red5 puts it simply: stations already send video with SRT. The video inside that session is MPEG-TS. Satellite, fiber, and current gear use the same 188-byte packets. MoQ does not replace that stream. A publisher maps it.

MOQT · catalog

Whole source packets become objects.

The publisher puts the packets into MoQ objects and groups. A catalog describes the track with packaging set to mpeg2ts. A relay can store and share that track. It does not have to read the inner tables (PAT, PMT, and PCR). Object edges match packet-group edges. Timing stays inside the packets. In unmodified mode, the publisher does not change PIDs.

"packaging": "mpeg2ts",
"mpeg2tsMode": "unmodified-program",
"mpeg2tsPacketSize": 188,
"mpeg2tsRandomAccess": true

Subscriber · RAP

Join where a player can start. Switch quality on purpose.

When mpeg2tsRandomAccess is true, every group opens where a player can start. The tables are included. Drop an object and the rebuilt stream breaks until the next start point. Other bitrates of the same program share an altGroup. A switch is a new packet stream. Recover the clock from the first PCR on the new track. Read that track’s PAT and PMT before you hand packets to a decoder.

LOC · optional

Players that never speak MPEG-2 take a different track.

A publisher that has decoded the picture can publish one frame per object. It sets packaging to loc and mpeg2tsMode to media-frames. A player that only shows pictures uses that track. It can ignore the transport stream. Gear that still wants MPEG-TS stays on the mpeg2ts track.

"packaging": "loc",
"mpeg2tsMode": "media-frames"

What the draft is for

RAP / join

Start where a player can start

A group begins where a player can start. The first object includes the tables a player needs (PAT and PMT). If you miss an object, you wait for the next start point.

Alternate bitrates

When you switch quality, read the tables again

Tracks in one altGroup are the same program at different rates. Video group edges share the same time position. After a switch, treat the packet stream as a new stream. A full multiplex is not another quality of the same show.

MPTS

Carry every channel, or just one

A multi-program stream can pass through whole. Or you can publish one track per program. Separate shows stay on separate tracks. altGroup is for other qualities of the same show. It is not for the channel next door.

PCR continuity

The stream clock is not arrival time

PCR stays inside the packets. A publisher does not break the clock inside a group. Objects may arrive faster than real time. You restore the original pace. The relay does not.

SCTE-35

Ad cues can ride in the stream

Splice info stays in the stream on the PID named by mpeg2tsScte35Pid. The same cues can also ride a side timeline. Then you can read them without walking every packet.

Authorization

Access rules stay in the catalog

Who may watch is signaled in the catalog. A publisher may also encrypt the object payloads. The catalog says so. A relay can still see names and timing.

Partners

The open stack is at moq.dev. moq.pro is a separate host. We build our own tools on top of their work. We don't run those sites.

Sources

  • Chris Allen, “MPEG-2 Transport Streams and MOQ: Yes, MPEG-TS Is Still Relevant Today,” Red5, 20 May 2026. Reviewed by Paul Gregoire. red5.net/blog
  • P. Gregoire (Red5) and G. Simon (Quortex), “MPEG-2 Transport Stream Packaging for MOQT,” draft-gregoire-moq-msfts-01, 24 September 2026. Individual Internet-Draft. Work in progress. Not an RFC. Discussion lives on the MoQ working-group list.
  • Open implementation, libraries, and self-hosted relay: moq.dev.
  • Interactive bench for the same story, owned and served by colorbars.dev (it may still be dark): colorbars.dev/mpeg-ts.