Media & video
- Real-time transcription
- Media pipelines
- Queue architecture
The problem
Two workloads wanted the same infrastructure and pulled in opposite directions. Live transcription needs low latency and predictable capacity. Bulk archive processing wants to saturate every available worker.
Run them on one undifferentiated pool and the archive job starves the live one at exactly the wrong moment.
The approach
Work was split into small, durable units and dispatched through separate queues with their own priorities and worker pools. Live traffic gets reserved capacity; batch work fills whatever is left and yields when live demand rises.
Media handling runs through FFmpeg with codec and sampling decisions made against measured cost per processed hour rather than defaults.
The engineering
Every unit of work is idempotent and keyed, so a retry after a worker dies cannot duplicate output. Progress is persisted per unit, which turns an interrupted three-hour job into a job that resumes where it stopped.
Backpressure is explicit: when queue depth passes a threshold, ingestion slows rather than allowing memory to be exhausted. Accuracy is measured per content type, because a clean studio recording and a noisy field recording are not the same problem.
Where it landed
Accuracy on evaluated material reached 95%, and processing efficiency improved by around 25% against the previous approach — largely from better batching and codec choices rather than from a different model.
What we would tell another team
- Separate queues beat one clever scheduler when workloads have different shapes.
- Idempotency keys are not optional the moment retries exist.
- Persist progress per unit — resumability is worth more than raw speed.
- Measure accuracy per content type; a single average hides every real problem.
Questions
Where does the 95% figure come from?
Word-level accuracy measured against a held-out, manually corrected evaluation set drawn from the same material the system processes. It is not a vendor benchmark.
What drove the efficiency improvement?
Mostly batching strategy, frame sampling and codec selection — pipeline engineering rather than a change of model.
