# place.stream.playback.getLivePlaylist

> Published by [did:web:stream.place](https://lexicon.garden/identity/did:web:stream.place)

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:web:stream.place/place.stream.playback.getLivePlaylist)
- [Documentation](https://lexicon.garden/lexicon/did:web:stream.place/place.stream.playback.getLivePlaylist/docs)
- [Examples](https://lexicon.garden/lexicon/did:web:stream.place/place.stream.playback.getLivePlaylist/examples)

## Definitions

### `place.stream.playback.getLivePlaylist`

**Type**: `query`

Get an HLS CMAF playlist for a live stream. Returns a master playlist when `track` is omitted, or a single-track media playlist when `track` is supplied. The playlist references each segment + per-track init segment via getLiveSegment. Segments come from an in-memory sliding window fed as the stream is ingested (or replicated to this node), so a playlist is only available while the stream is live here.

#### Parameters

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `sid` | `string` | No | Opaque playback session identifier. Omit on the master playlist request; the server generates one and threads it through the sub-playlist + segment URLs it returns, for view-count correlation. |
| `track` | `string` | No | Track ID (stringified u32 matching the MUXL container) for a single-track media playlist. Omit for the master playlist. |
| `streamer` | `string` | Yes | The streamer to play back: a DID (did:plc/did:web/did:key) or a Bluesky handle, which is resolved to its DID. |

#### Output

**Encoding**: `*/*`

#### Errors

- **StreamNotLive**: No live segments are currently windowed for this streamer on this node.
- **TrackNotFound**: The requested track ID is not present in the live stream.
- **StreamUnavailable**: The streamer's account is unavailable (e.g. banned).

## Raw Schema

```json
{
  "id": "place.stream.playback.getLivePlaylist",
  "defs": {
    "main": {
      "type": "query",
      "errors": [
        {
          "name": "StreamNotLive",
          "description": "No live segments are currently windowed for this streamer on this node."
        },
        {
          "name": "TrackNotFound",
          "description": "The requested track ID is not present in the live stream."
        },
        {
          "name": "StreamUnavailable",
          "description": "The streamer's account is unavailable (e.g. banned)."
        }
      ],
      "output": {
        "schema": null,
        "encoding": "*/*"
      },
      "parameters": {
        "type": "params",
        "required": [
          "streamer"
        ],
        "properties": {
          "sid": {
            "type": "string",
            "description": "Opaque playback session identifier. Omit on the master playlist request; the server generates one and threads it through the sub-playlist + segment URLs it returns, for view-count correlation."
          },
          "track": {
            "type": "string",
            "description": "Track ID (stringified u32 matching the MUXL container) for a single-track media playlist. Omit for the master playlist."
          },
          "streamer": {
            "type": "string",
            "description": "The streamer to play back: a DID (did:plc/did:web/did:key) or a Bluesky handle, which is resolved to its DID."
          }
        }
      },
      "description": "Get an HLS CMAF playlist for a live stream. Returns a master playlist when `track` is omitted, or a single-track media playlist when `track` is supplied. The playlist references each segment + per-track init segment via getLiveSegment. Segments come from an in-memory sliding window fed as the stream is ingested (or replicated to this node), so a playlist is only available while the stream is live here."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
