Skip to content

Streams

Streams represent individual encoded tracks of a video (video, audio, muxed, or the original file).

Create Stream

Add a new stream to a video.

POST /api/streams

Request Body:

json
{
  "video_id": 1,
  "name": "720p",
  "type": "video",
  "input_params": {
    "codec": "h264",
    "width": 1280,
    "height": 720,
    "bitrate": "2500k"
  }
}

Update Stream

PUT /api/streams/{id}

Request Body:

json
{
  "name": "720p Updated",
  "input_params": { ... }
}

Delete Stream

DELETE /api/streams/{id}

Stream Types

TypeDescription
originalThe source file as uploaded
videoVideo-only encoded track
audioAudio-only encoded track
muxedCombined video + audio track

Stream Statuses

StatusDescription
pendingWaiting to be processed
runningCurrently encoding
completedSuccessfully encoded
failedEncoding failed (check error_log)

Stream Properties

FieldTypeDescription
ulidstringUnique identifier
video_idintegerParent video ID
namestringDisplay name
typestringStream type
statusstringProcessing status
widthintegerVideo width in pixels
heightintegerVideo height in pixels
sizeintegerFile size in bytes
languagestringLanguage code (e.g., en, es)
channelsintegerAudio channels
progressintegerEncoding progress (0-100)
metaobjectFFprobe metadata
input_paramsobjectEncoding parameters
error_logstringError details (if failed)
started_atdatetimeWhen encoding started
completed_atdatetimeWhen encoding finished

Released under the MIT License.