place.stream.media

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; every record is written with the streamer's session.

Changed on
post/xrpc/place.stream.media.finalizeLivestream

Request

  • The document declares no server URL.
  • Auth
    none declared

Request body

livestreamstring uri

AT-URI of the place.stream.livestream record to finalize into a VOD. Either this or livestreams is required.

livestreamsstring[]

Several livestream records whose recordings make up one VOD: a streamer who started a new record mid-stream splits the recording across them. Recordings are concatenated in the records' creation order, whatever order they are listed in. All must belong to one streamer.

titlestring

Title of the video record; the first livestream's title when empty.

descriptionstring

Description of the video record.

publishboolean

Publish the place.stream.video record as soon as the VOD is finalized, instead of leaving a draft.

endLivestreamboolean

Also end any of the livestream records that were never stopped, so the streamer's page stops reading as live.

Response

Success

uploadIdstring required

Identifier for the finalize job. Retained for backwards compatibility; the draft flow no longer requires the client to poll getUploadStatus.

draftUristring

The ats:// URI of the draft VOD created for this finalize, when publish is not set. The draft reaches status 'ready' when processing completes.

livestreamsstring[]

The livestream records the VOD is made of, in recording order.

objectsinteger

How many recorded objects will be concatenated.

endedstring[]

Livestream records that are now ended (already, or by endLivestream).

Changes

    • breaking

      the response property became optional for the status

    • breaking

      added subschema #3 to the response property oneOf list for the response status

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      the request property became optional

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • breaking

      the request property became required

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the optional property from the response with the status

    • warning

      removed the optional property from the response with the status

    • warning

      removed the optional property from the response with the status

    • info

      the response property became required for the status

    • info

      removed subschema #3 from the response property oneOf list for the response status