Dev.to
7/22/2026

What 18 months building a self-hosted media server taught me about playback
Short summary
A developer shares 18 months of lessons building Quven, a self-hosted media server, focusing on the hardest problem: playback. Compatibility is not a boolean property but a negotiation between source and client across codecs, containers, subtitles, HDR, and network conditions. The practical hierarchy is direct play, then remux, then transcode only what must change — but making that reliable across native and web clients requires the client to own decisions the server cannot infer.
- •Playback compatibility is a negotiation between source and client, not a file property
- •Practical hierarchy: direct play > remux > transcode only what must change
- •Client must own decisions like selected tracks, HDR support, and codec acceptance that server cannot infer
Generated with AI, which can make mistakes.
Is this a good recommendation for you?



