Transcoding

Parallel media processing
for predictable turnaround.

Jobs distributed across concurrent lanes. 3–6 playback-ready renditions per file, adaptive streaming outputs, and thumbnails on completion.

Parallel workers3–6 renditionsAdaptive outputsPlayback manifestsAuto retryCustom profiles

Pipeline

From upload to playback.

01< 1s

Job queued

Upload or import triggers a transcoding job. The job enters the queue with priority and source metadata attached.

02Queue-dependent

Worker claim

An available media worker picks up the job. Multiple workers can run in parallel so processing does not depend on a single lane.

03~45–90s / 5min 1080p source

Rendition encode

The job creates multiple quality renditions such as 360p, 480p, 720p, and 1080p based on the channel's playback profile.

04~5–15s

Segment & manifest

Playback outputs are prepared for adaptive streaming, with manifests and rendition files written to the delivery path.

05~5–10s

Thumbnail & preview

Thumbnails are extracted at configured intervals. A grid preview sprite is generated for hover scrubbing in the library.

06~60–120s total

Ready

The video's status updates to ready. HLS playback is immediately available. The original file is retained in S3.

Timing estimates for a 5-minute 1080p source on typical hardware. Actual times depend on source resolution, bitrate, worker count, and encoding profile.

Worker architecture

Resilient by design.

Workers are stateless processes that poll the job queue. Any number of workers can run simultaneously — scaling is a matter of adding more worker instances, not changing the platform code.

Heartbeats prevent jobs from being stuck on a crashed worker. A job with a stale heartbeat is automatically re-queued and picked up by the next available worker.

Parallel execution

Multiple workers run concurrently. A job that would take 10 minutes on one worker takes the same time regardless of queue depth if enough workers are available.

Heartbeat monitoring

Workers emit heartbeats during encoding. A stale heartbeat triggers stale-job detection — the job is re-queued automatically.

Automatic retry

Failed jobs are retried up to a configured limit. Persistent failures are marked with an error state visible in the library UI.

Queue-aware routing

Jobs are picked up in order of submission. Priority overrides are available at the API level for time-sensitive content.

HLS playlists + segments

Master playlist referencing per-rendition playlists. Segments stored in S3, served directly from your delivery domain.

Playback manifests

Playback manifests reference the available renditions so the player can switch quality levels cleanly during playback.

Thumbnails

Still frames extracted at configured intervals. Used in the library preview grid and as the video's poster image.

Original retained

The source file is retained alongside the processed output. Re-processing with a new profile does not require re-upload.

Outputs

What gets produced.

Every transcoding job produces adaptive playback outputs and thumbnails. All outputs land in the channel's configured storage path. The original source file is retained alongside the output — no destructive operations on the source.

Encoding profiles (resolution ladder, bitrates, codecs) are configurable per channel. Changing a profile applies to new jobs only — existing outputs are not affected unless the video is manually re-transcoded.

Profiles are channel-scoped and version-tracked

Need to scale your encoding pipeline?

Let's talk about your source volumes, target renditions, and worker configuration requirements.