---
id: "media-router"
type: "kind"
category: "edge"
url: "https://localhost:3000/catalogue/kinds/media-router"
---

# Media router

Routes live audio and video between participants or ingest and origins.

| | |
|---|---|
| Category | Edge |
| Properties | 5 |
| Components | 24 |
| Rules | 0 |

## Properties

| property | type | values | required | default |
|---|---|---|---|---|
| `cascading` | boolean | — | no | false |
| `managed` | boolean | — | no | false |
| `mode` | enum | `sfu`, `mcu`, `p2p`, `ingest` | no | "sfu" |
| `rerouteOnFailure` | boolean | — | no | false |
| `transport` | enum | `udp`, `tcp`, `both` | no | "both" |

## Rules for this kind · 0

No rule selects this kind or its category.

## Components · 24

### vendor-neutral

- [Generic media router](https://localhost:3000/catalogue/components/media-router.md) `media-router` — the kind itself

### aws

- [Amazon Chime SDK](https://localhost:3000/catalogue/components/aws-chime-sdk.md) `aws-chime-sdk` — 2 defaults
- [Amazon IVS](https://localhost:3000/catalogue/components/aws-ivs.md) `aws-ivs` — 4 defaults
- [AWS Elemental MediaConnect](https://localhost:3000/catalogue/components/aws-mediaconnect.md) `aws-mediaconnect` — 2 defaults
- [AWS Elemental MediaPackage](https://localhost:3000/catalogue/components/aws-mediapackage.md) `aws-mediapackage` — 4 defaults
- [AWS Elemental MediaTailor](https://localhost:3000/catalogue/components/aws-mediatailor.md) `aws-mediatailor` — 3 defaults

### cloudflare

- [Cloudflare MoQ](https://localhost:3000/catalogue/components/cloudflare-moq.md) `cloudflare-moq` — 3 defaults
- [Cloudflare Realtime SFU](https://localhost:3000/catalogue/components/cloudflare-realtime-sfu.md) `cloudflare-realtime-sfu` — 2 defaults
- [RealtimeKit](https://localhost:3000/catalogue/components/cloudflare-realtimekit.md) `cloudflare-realtimekit` — 2 defaults
- [Cloudflare Realtime TURN](https://localhost:3000/catalogue/components/cloudflare-turn.md) `cloudflare-turn` — 3 defaults

### default

- [Agora](https://localhost:3000/catalogue/components/agora.md) `agora` — 4 defaults
- [Ant Media Server](https://localhost:3000/catalogue/components/ant-media.md) `ant-media` — 4 defaults
- [coturn](https://localhost:3000/catalogue/components/coturn.md) `coturn` — 4 defaults
- [Daily](https://localhost:3000/catalogue/components/daily.md) `daily` — 2 defaults
- [Icecast](https://localhost:3000/catalogue/components/icecast.md) `icecast` — 4 defaults
- [Janus](https://localhost:3000/catalogue/components/janus.md) `janus` — 3 defaults
- [Jitsi Videobridge](https://localhost:3000/catalogue/components/jitsi.md) `jitsi` — 4 defaults
- [LiveKit](https://localhost:3000/catalogue/components/livekit.md) `livekit` — 4 defaults
- [mediasoup](https://localhost:3000/catalogue/components/mediasoup.md) `mediasoup` — 3 defaults
- [Red5](https://localhost:3000/catalogue/components/red5.md) `red5` — 4 defaults
- [SRS](https://localhost:3000/catalogue/components/srs.md) `srs` — 4 defaults
- [Twilio Video](https://localhost:3000/catalogue/components/twilio-video.md) `twilio-video` — 4 defaults
- [Wowza Streaming Engine](https://localhost:3000/catalogue/components/wowza.md) `wowza` — 4 defaults

### gcp

- [Video Stitcher API](https://localhost:3000/catalogue/components/google-video-stitcher-api.md) `google-video-stitcher-api` — 5 defaults

## Source (`kind` YAML, verbatim)

```yaml
# yaml-language-server: $schema=../schema/kind.schema.json
# Abstract kind: Routes live audio and video between participants or from ingest to origins (SFU, MCU, ingest proxies).
schemaVersion: "1"
type: "kind"
id: "media-router"
category: "edge"
properties:
  mode:
    type: "enum"
    values: ["sfu", "mcu", "p2p", "ingest"]
    default: "sfu"
  transport:
    type: "enum"
    values: ["udp", "tcp", "both"]
    default: "both"
  cascading:
    type: "boolean"
    default: false
  rerouteOnFailure:
    type: "boolean"
    default: false
  managed:
    type: "boolean"
    default: false
```

Human page: https://localhost:3000/catalogue/kinds/media-router
