place.stream.playback.getVideoPlaylist

did:web:stream.place

Documentation

Get an HLS CMAF playlist for a video. 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 getVideoBlob, addressed by content hash. The `uri` is an AT-URI pointing at a playable record — today only place.stream.video records are supported, but the surface is collection-agnostic so other record types can join later.

main query

Get an HLS CMAF playlist for a video. 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 getVideoBlob, addressed by content hash. The `uri` is an AT-URI pointing at a playable record — today only place.stream.video records are supported, but the surface is collection-agnostic so other record types can join later.

Parameters

end integer Optional

End time in milliseconds. Omit to include all remaining content. Local to the clip's timeline when playing back a sourceClip record.

sid string Optional

Opaque playback session identifier. Omit on the master playlist request; the server generates one and embeds it in every sub-playlist URL it returns. Players never have to construct it themselves — they just follow the URLs the master playlist hands them, which carry the sid into media-playlist + segment requests. Used downstream to correlate a player's playlist + segment fetches for view-count accounting.

start integer Optional

Start time in milliseconds from the beginning of the video. Defaults to 0. For a place.stream.video record whose source is a place.stream.media.defs#sourceClip, this is in the clip's local timeline (0 == the clip's start).

track string Optional

Track ID (stringified u32 matching the MUXL container) for a single-track media playlist. Omit for the master playlist.

uri string at-uri Required

AT-URI of the record to play back (e.g. at://did:plc:.../place.stream.video/<rkey>).

Output

Encoding*/*

Errors

VideoNotFound No record indexed at the supplied AT-URI.
TrackNotFound The requested track ID is not present in the video's blob.
BlobNotFound The record references a blob this node hasn't indexed an origin for.
UnsupportedCollection The AT-URI points at a collection this endpoint doesn't know how to play back.
Try It

Requests are sent directly from your browser. Some servers may block requests due to CORS.

Base URL for XRPC calls (e.g., https://api.bsky.social)
Parameters
End time in milliseconds. Omit to include all remaining content. Local to the clip's timeline when playing back a sourceClip record.
Opaque playback session identifier. Omit on the master playlist request; the server generates one and embeds it in every sub-playlist URL it returns. Players never have to construct it themselves — they just follow the URLs the master playlist hands them, which carry the sid into media-playlist + segment requests. Used downstream to correlate a player's playlist + segment fetches for view-count accounting.
Start time in milliseconds from the beginning of the video. Defaults to 0. For a place.stream.video record whose source is a place.stream.media.defs#sourceClip, this is in the clip's local timeline (0 == the clip's start).
Track ID (stringified u32 matching the MUXL container) for a single-track media playlist. Omit for the master playlist.
AT-URI of the record to play back (e.g. at://did:plc:.../place.stream.video/<rkey>).
View raw schema
{
  "type": "query",
  "errors": [
    {
      "name": "VideoNotFound",
      "description": "No record indexed at the supplied AT-URI."
    },
    {
      "name": "TrackNotFound",
      "description": "The requested track ID is not present in the video's blob."
    },
    {
      "name": "BlobNotFound",
      "description": "The record references a blob this node hasn't indexed an origin for."
    },
    {
      "name": "UnsupportedCollection",
      "description": "The AT-URI points at a collection this endpoint doesn't know how to play back."
    }
  ],
  "output": {
    "schema": null,
    "encoding": "*/*"
  },
  "parameters": {
    "type": "params",
    "required": [
      "uri"
    ],
    "properties": {
      "end": {
        "type": "integer",
        "description": "End time in milliseconds. Omit to include all remaining content. Local to the clip's timeline when playing back a sourceClip record."
      },
      "sid": {
        "type": "string",
        "description": "Opaque playback session identifier. Omit on the master playlist request; the server generates one and embeds it in every sub-playlist URL it returns. Players never have to construct it themselves — they just follow the URLs the master playlist hands them, which carry the sid into media-playlist + segment requests. Used downstream to correlate a player's playlist + segment fetches for view-count accounting."
      },
      "uri": {
        "type": "string",
        "format": "at-uri",
        "description": "AT-URI of the record to play back (e.g. at://did:plc:.../place.stream.video/<rkey>)."
      },
      "start": {
        "type": "integer",
        "description": "Start time in milliseconds from the beginning of the video. Defaults to 0. For a place.stream.video record whose source is a place.stream.media.defs#sourceClip, this is in the clip's local timeline (0 == the clip's start)."
      },
      "track": {
        "type": "string",
        "description": "Track ID (stringified u32 matching the MUXL container) for a single-track media playlist. Omit for the master playlist."
      }
    }
  },
  "description": "Get an HLS CMAF playlist for a video. 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 getVideoBlob, addressed by content hash. The `uri` is an AT-URI pointing at a playable record — today only place.stream.video records are supported, but the surface is collection-agnostic so other record types can join later."
}

Lexicon Garden

@