At this level
place.stream.media ยท 13- place.stream.media.createUpload procedure not from the namespace authority Start a resumable upload of arbitrary media content. Returns a TUS upload URL and a short-lived bearer token used to authenticate subsequent chunk requests (no DPoP required on chunks). The DID of the authenticated user is recorded against the upload; on completion a VOD processing task is enqueued.
- place.stream.media.defs defs not from the namespace authority A track backed by a MUXL container
- place.stream.media.deleteVideo procedure not from the namespace authority Delete a place.stream.video record and, on request, the track records its source points at. The content blob and the upload stay, so the record can be published again from the same upload. The caller must be the record's owner or hold livestream.manage from them; the records are deleted with the owner's session.
- place.stream.media.finalizeLivestream procedure not from the namespace authority Turn a finished livestream into a VOD. The server concatenates the MUXL segments it recorded for the livestream(s) into a single content blob, derives the playback sidecars, and publishes the place.stream.media.track records. By default it leaves a draft VOD the streamer publishes later via place.stream.vod.publishDraft; with publish set it publishes the place.stream.video record as soon as the VOD is finalized. The caller must be the streamer, or a moderator they have granted livestream.manage;
- place.stream.media.getUploadStatus query not from the namespace authority Get the processing status of a previously created upload. Only accessible by the DID that created the upload.
- place.stream.media.getVideo query not from the namespace authority Get a hydrated view of a place.stream.video record โ the record itself plus author info plus aggregated view counts summed across every reporting node we've indexed. View counts come from place.stream.media.viewCount records; consumers see one number per metric, with the underlying multi-reporter detail collapsed away.
- place.stream.media.getVideoList query not from the namespace authority List videos newest first. Scoped to a single repo when `repo` is supplied; otherwise lists videos across every indexed repo. Returns hydrated video views with author info and view counts.
- place.stream.media.listVideos query not from the namespace authority A streamer's place.stream.video records (read from their PDS) and this node's uploads for them: everything updateVideo, deleteVideo and publishVideo take. The caller must be the streamer or hold livestream.manage from them.
- place.stream.media.origin record not from the namespace authority An attestation that a MUXL blob is available for download from the publishing node, retrievable via XRPC (com.atproto.repo.getBlob and similar). Published by the Streamplace node that hosts the blob, not by the user who owns the underlying video. The rkey is conventionally the blob's BDASL CID โ atproto lexicon doesn't yet have a literal-rkey syntax so we settle for `key: any` and rely on the convention.
- place.stream.media.publishVideo procedure not from the namespace authority Publish a place.stream.video record for a finished upload, server-side. The caller supplies the record it would otherwise putRecord itself; the server overrides the fields it is authoritative about (source tracks and durationMs, taken from the processed upload) and, if the record carries no thumb, generates one from the video and attaches it. The record is written to the authenticated user's repo. The caller must own the upload, or hold livestream.manage from its owner; the record is written wit
- place.stream.media.track record not from the namespace authority A track for a video stream, either part of the source or a custom additional track. One of: video, audio, subtitles.
- place.stream.media.updateVideo procedure not from the namespace authority Rewrite a place.stream.video record in place: retitle, redescribe or retag it, or point it at a finished upload's tracks (publishing them if the upload has none yet: the repair for a record published without tracks, or the way to point a record at a re-finalized VOD). Fields left out are kept; an empty description or tag list clears it. The caller must be the record's owner or hold livestream.manage from them; the record is written with the owner's session.
- place.stream.media.viewCount record not from the namespace authority A streamplace node's report of view counts for one place.stream.video over a closed time window. Published in the reporting node's server repo (not the streamer's), so a video served by multiple nodes accumulates multiple records โ consumers are expected to sum across trusted reporters. The rkey is conventionally `<windowStart-as-tid>-<video-rkey>` so re-running the aggregator over the same window is idempotent. Counts represent the reporting node's best effort given the data it has; the `tracks