place.stream.playback.getVideoPlaylist

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.

Repository @stream.place did:plc:rbvrr34edl5ddpuwcubjiost not from the namespace authority
Details · query
Kindquery
Authorityplayback.stream.place
Indexed

Showing version bafyreiesek2i3uiec5442muj2mq76ty4tys4uewzndpusz3qzmyz5xah4q. Show the latest

cid bafyreiesek2i3uiec5442muj2mq76ty4tys4uewzndpusz3qzmyz5xah4q

Checks

Valid
  • unlimited-string defs.main.parameters.properties.sidNo maxLength, maxGraphemes or format limits this string.
  • unlimited-string defs.main.parameters.properties.trackNo maxLength, maxGraphemes or format limits this string.
JSONDownload
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "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.",
      "errors": [
        {
          "description": "No record indexed at the supplied AT-URI.",
          "name": "VideoNotFound"
        },
        {
          "description": "The requested track ID is not present in the video's blob.",
          "name": "TrackNotFound"
        },
        {
          "description": "The record references a blob this node hasn't indexed an origin for.",
          "name": "BlobNotFound"
        },
        {
          "description": "The AT-URI points at a collection this endpoint doesn't know how to play back.",
          "name": "UnsupportedCollection"
        }
      ],
      "output": {
        "encoding": "*/*"
      },
      "parameters": {
        "properties": {
          "end": {
            "description": "End time in milliseconds. Omit to include all remaining content. Local to the clip's timeline when playing back a sourceClip record.",
            "type": "integer"
          },
          "sid": {
            "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.",
            "type": "string"
          },
          "start": {
            "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).",
            "type": "integer"
          },
          "track": {
            "description": "Track ID (stringified u32 matching the MUXL container) for a single-track media playlist. Omit for the master playlist.",
            "type": "string"
          },
          "uri": {
            "description": "AT-URI of the record to play back (e.g. at://did:plc:.../place.stream.video/<rkey>).",
            "format": "at-uri",
            "type": "string"
          }
        },
        "required": [
          "uri"
        ],
        "type": "params"
      },
      "type": "query"
    }
  },
  "id": "place.stream.playback.getVideoPlaylist",
  "lexicon": 1
}