Bogdan Ruzhitskiy
Bogdan Ruzhitskiy

Reputation: 1237

Dash Streaming server prototype

While learning about live streaming I found not much of comprehensive info across the web. This field seems very proprietary and commercialized with lots of ill-described standards and protocols. But I have a plan to deeply understand the internals of live streaming and implement a prototype server. NGINX setup is not a way to rich this goal, all the guts are hidden inside a spooky C implementation. But, what it takes nowadays to implement its own live streaming server over DASH/HLS?

Do you know any guidelines about DASH/HLS live streaming server implementation? (preferably on Go/Python) If not, can you briefly describe key components behind the live streaming server?

Upvotes: 2

Views: 834

Answers (1)

Brad
Brad

Reputation: 163622

Actually for DASH or HLS, the server is just a standard HTTP server... nothing more.

That's the whole purpose of DASH and HLS... to re-use existing HTTP-based infrastructure so that specialized streaming servers are not necessary. An encoder takes audio/video and records segments (usually 4-8 seconds long) and writes them out as individual files. It also writes out a manifest or playlist, which is essentially a list of URLs for those segments, along with some metadata indicating bitrate, codec, and what not.

The client makes a normal HTTP request for the playlist or manifest, and then makes normal HTTP requests to get the segments it wants. The server doesn't have to know or care that it's serving audio/video segments, vs. any other binary resource.

Upvotes: 2

Related Questions