# Design a video transcoding service: system design interview question

> A video service must produce playable renditions, recover from worker failures, and obey a compute budget.

Source: https://sysround.com/questions/design-video-transcoding-service
Updated: 2026-11-05


Difficulty: hard. Levels: Senior, Staff+.

## How the interviewer opens it

"Design a service that converts uploaded videos into several formats for online playback. It must process large workloads reliably and keep compute costs within a fixed budget."

## What to clarify first

- Scale and source files
- Required outputs
- Playback formats
- Read and write mix
- Latency
- Compute budget
- Consistency and availability
- Durability and retention
- Tenants and invalid media
- Scope limits

## Scope of a strong answer

Core requirements:

- Accept uploaded videos and create conversion jobs
- Produce the required video renditions, audio, and manifests
- Report job status and publish complete results
- Recover from worker failures within a compute budget

Usually out of scope:

- Live video
- Player implementation and playback delivery
- DRM
- Encoder algorithm development
- Multi-region disaster recovery

## What interviewers probe

### Playback across renditions

Separate conversions must preserve one timeline. Parallel work can break frame dependencies, segment boundaries, or audio timing.

### Jobs after a worker failure

Workers can finish media uploads without recording success. Duplicate attempts can continue after a replacement starts.

### Work during a demand peak

Video duration and codec choice create unequal costs. More workers reduce delay but can violate the compute budget.

## Common mistakes

- Treating a queue and a worker pool as a complete design
- Splitting media at arbitrary byte offsets
- Publishing manifests before every referenced object exists
- Repeating all conversions after one task fails
- Increasing worker count without enforcing the compute budget
- Ignoring temporary files, abandoned outputs, and their storage cost

## The bar by level

- **Senior:** Defines task dependencies, stale-attempt rejection, and repeatable publication. Explains media boundaries and bounded retries. Enforces tenant shares and both compute limits.
- **Staff+:** Separates latency promises from budget guarantees. Handles uncertain costs, active reservations, and retry storms. Justifies task granularity and defines recovery after encoder defects.

Practice this question with an AI interviewer: https://sysround.com/practice/new?problem=video-transcoding


---
SysRound (https://sysround.com) is an AI practice tool for system design interviews. It has a voice or typed AI interviewer and a shared whiteboard. At the end, you get feedback on each skill and a model answer. The AI feedback can be wrong.
