Distributed Video Transcoding Platform
5x faster video processing using office hardware
Development of the core platform for a media startup: an open-source framework enabling internet companies to transcode video distributedly using existing office hardware, eliminating dependency on expensive cloud transcoding services.
The Problem
Internet companies handling client video need to transcode to multiple qualities for CDN delivery and then assemble everything into distribution-ready files. Doing this in the cloud is extremely expensive and slow, especially at scale.
The Solution
We built the entire platform in the first 1-2 months. The architecture consisted of Go agents installed on office hardware that received video fragments from central servers, transcoded them locally, and returned results for reassembly. Node.js for the orchestration backend and React for the monitoring dashboard.
The Results
5x reduction in video processing time by distributing workload across existing hardware. Elimination of cloud transcoding costs. Open-source framework that enabled multiple internet companies to adopt the system.
Measurable Results
Processing speed
1x (cloud)
5x (distribuido)
400% improvement
Transcoding cost
Cloud pricing
~$0 (hardware existente)
~100% improvement
Time to MVP
8 semanas
Stack languages
Go + Node + React
Project Phases
Architecture & Go agents
3 weeksDistributed architecture design and development of Go agents that install on office machines to receive, transcode, and return video fragments.
Orchestration server
3 weeksNode.js backend that fragments videos, distributes pieces to available agents, receives results, and reassembles the final video in multiple qualities.
Dashboard & monitoring
2 weeksReact frontend to monitor agent status, transcoding progress, and video job management.
Tech Stack
Technologies
Tools
Implementation Details
Distributed computing without the cloud
The premise was simple but powerful: why pay for GPUs and CPUs in the cloud when every office already has dozens of underutilized machines?
System architecture
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Video Upload │────▶│ Orchestration │────▶│ Go Agents │
│ (Client API) │ │ Server (Node) │ │ (Office HW) │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│ │
│ Fragment & Distribute │
│◀────────────────────────│
│ Return transcoded │
▼
┌──────────────────┐
│ Reassembly & │
│ CDN Delivery │
└──────────────────┘
The processing flow
- Fragmentation: The server receives a video and splits it into small chunks
- Distribution: Each fragment is sent to the most available Go agent on the office network
- Local transcoding: Each agent transcodes its fragment to the required qualities
- Collection: Results are returned to the central server
- Reassembly: The server assembles all pieces into a final CDN-ready file
Why Go for the agents
- Single binary — deploy with no dependencies on any machine
- Goroutines — efficient handling of multiple fragments in parallel
- Low memory footprint — does not interfere with normal office machine usage
- Cross-platform — compiles for Windows, macOS, and Linux from the same codebase
Have a similar technical challenge?
Let's talk about your infrastructure, architecture or pipeline. No commitment.
Schedule a Technical Assessment