BlobTube is a low-bandwidth video streaming service written in Go, because sometimes you don’t need 4K ultra-HD cinematic pores — you just need the video to load.
Built for constrained networks, hobby servers, edge deployments, and people who still remember buffering circles as a personality trait.
BlobTube is a lightweight, efficient video streaming platform designed to:
- 📦 Serve video as simple binary blobs (hence, Blob)
- 🧵 Keep memory usage tight and predictable
- 🌐 Perform reliably on low-bandwidth or high-latency networks
- ⚡ Leverage Go’s concurrency model for clean, scalable streaming
- 🛠 Stay minimal, hackable, and delightfully unbloated
If traditional streaming platforms are luxury cruise ships, BlobTube is a stubborn little tugboat that always reaches the harbor.
- Keep it simple.
- Make it fast.
- Avoid unnecessary abstractions.
- No enterprise buzzword soup.
- If it compiles and streams, ship it.
Because:
- Goroutines are cheap.
- The standard library actually works.
- Cross-compilation is painless.
- You enjoy feeling morally superior about memory usage.
BlobTube is under active development.
Which means:
- Things may break.
- APIs may change.
- You will probably refactor something at 2am.
This repo uses a Nix dev shell to provide toolchain dependencies.
# Enter the dev environment (provides go + golangci-lint)
nix developCommon commands:
make build
make test
make lintThe build output is bin/blobtube.
Run locally with Docker Compose (generates a self-signed cert on first run):
docker compose up --buildThen open https://localhost:8443/health.
A streaming service that:
- Works on weak connections
- Runs on tiny servers
- Doesn’t melt CPUs
- Doesn’t need 47 microservices and a Kubernetes cluster named after a Greek god
Stay tuned.
Or don’t. It’ll buffer eventually.
