---
id: "aws-mediatailor"
type: "component"
kind: "media-router"
provider: "aws"
category: "edge"
docs: "https://docs.aws.amazon.com/mediatailor/latest/ug/what-is.html"
url: "https://localhost:3000/catalogue/components/aws-mediatailor"
---

# AWS Elemental MediaTailor

Manifest-level server-side ad insertion and linear channel assembly for OTT video.

| | |
|---|---|
| Provider | [aws](https://localhost:3000/catalogue?provider=aws) |
| Kind | [Media router](https://localhost:3000/catalogue/kinds/media-router) |
| Category | Edge |
| Official docs | [https://docs.aws.amazon.com/mediatailor/latest/ug/what-is.html](https://docs.aws.amazon.com/mediatailor/latest/ug/what-is.html) |

## Properties

| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| `cascading` | boolean | — | no | false | inherited |
| `feature` | enum | `ad-insertion`, `channel-assembly` | no | — | inherited |
| `managed` | boolean | — | no | false | **true** |
| `mode` | enum | `sfu`, `mcu`, `p2p`, `ingest` | no | "sfu" | **"ingest"** |
| `originProtocol` | enum | `http`, `https` | no | — | inherited |
| `rerouteOnFailure` | boolean | — | no | false | inherited |
| `streamingFormat` | enum | `hls`, `dash` | no | — | inherited |
| `transport` | enum | `udp`, `tcp`, `both` | no | "both" | **"tcp"** |

Bold values are the ones this component pins.

## Rules that apply · 0

No rule selects this kind or its category.

## Other products of the same kind · 23

- [Amazon Chime SDK](https://localhost:3000/catalogue/components/aws-chime-sdk.md) `aws-chime-sdk` — aws
- [Amazon IVS](https://localhost:3000/catalogue/components/aws-ivs.md) `aws-ivs` — aws
- [AWS Elemental MediaConnect](https://localhost:3000/catalogue/components/aws-mediaconnect.md) `aws-mediaconnect` — aws
- [AWS Elemental MediaPackage](https://localhost:3000/catalogue/components/aws-mediapackage.md) `aws-mediapackage` — aws
- [Cloudflare MoQ](https://localhost:3000/catalogue/components/cloudflare-moq.md) `cloudflare-moq` — cloudflare
- [Cloudflare Realtime SFU](https://localhost:3000/catalogue/components/cloudflare-realtime-sfu.md) `cloudflare-realtime-sfu` — cloudflare
- [RealtimeKit](https://localhost:3000/catalogue/components/cloudflare-realtimekit.md) `cloudflare-realtimekit` — cloudflare
- [Cloudflare Realtime TURN](https://localhost:3000/catalogue/components/cloudflare-turn.md) `cloudflare-turn` — cloudflare
- [Agora](https://localhost:3000/catalogue/components/agora.md) `agora` — default
- [Ant Media Server](https://localhost:3000/catalogue/components/ant-media.md) `ant-media` — default
- [coturn](https://localhost:3000/catalogue/components/coturn.md) `coturn` — default
- [Daily](https://localhost:3000/catalogue/components/daily.md) `daily` — default
- [Icecast](https://localhost:3000/catalogue/components/icecast.md) `icecast` — default
- [Janus](https://localhost:3000/catalogue/components/janus.md) `janus` — default
- [Jitsi Videobridge](https://localhost:3000/catalogue/components/jitsi.md) `jitsi` — default
- [LiveKit](https://localhost:3000/catalogue/components/livekit.md) `livekit` — default
- [Generic media router](https://localhost:3000/catalogue/components/media-router.md) `media-router` — default
- [mediasoup](https://localhost:3000/catalogue/components/mediasoup.md) `mediasoup` — default
- [Red5](https://localhost:3000/catalogue/components/red5.md) `red5` — default
- [SRS](https://localhost:3000/catalogue/components/srs.md) `srs` — default
- [Twilio Video](https://localhost:3000/catalogue/components/twilio-video.md) `twilio-video` — default
- [Wowza Streaming Engine](https://localhost:3000/catalogue/components/wowza.md) `wowza` — default
- [Video Stitcher API](https://localhost:3000/catalogue/components/google-video-stitcher-api.md) `google-video-stitcher-api` — gcp

## Use it in a design

```yaml
nodes:
  - { id: "aws-mediatailor", component: "aws-mediatailor" }
```

## Source (`component` YAML, verbatim)

```yaml
# yaml-language-server: $schema=../../schema/component.schema.json
# AWS Elemental MediaTailor: manifest-level server-side ad insertion and channel assembly in front
# of an origin ("What is AWS Elemental MediaTailor?"). The same page states ad insertion supports
# HLS and DASH for live and VOD, that channel assembly never touches content segments, and that
# origins are reachable only on port 80 (HTTP) or 443 (HTTPS).
schemaVersion: "1"
type: "component"
id: "aws-mediatailor"
kind: "media-router"
provider: "aws"
docs: "https://docs.aws.amazon.com/mediatailor/latest/ug/what-is.html"
defaults:
  managed: true
  mode: "ingest"
  transport: "tcp"
properties:
  feature:
    type: "enum"
    values: ["ad-insertion", "channel-assembly"]
  streamingFormat:
    type: "enum"
    values: ["hls", "dash"]
  originProtocol:
    type: "enum"
    values: ["http", "https"]
```

Human page: https://localhost:3000/catalogue/components/aws-mediatailor
