- Doing adaptive bitrate like YouTube does means doing many transcodes.
- Transcoding is either extremely CPU intensive, bandwidth heavy or low quality.
- Transcoding in realtime requires further compromise on the above, to the point where distributing the transcode over multiple machines is necessary.
- There doesn't seem to be an agreed upon, browser supported protocol for live DASH. Static is easy enough but live is more difficult, especially when you add seeking, pausing etc.
- The above means you need both a backend and a frontend system.
- Running a system like this is very expensive. The entities interested in running it and able to do so are usually willing to pay for it.
All this said, Emby[0] can stream a transcode and perhaps its stack would be a good place to start.
- Doing adaptive bitrate like YouTube does means doing many transcodes.
- Transcoding is either extremely CPU intensive, bandwidth heavy or low quality.
- Transcoding in realtime requires further compromise on the above, to the point where distributing the transcode over multiple machines is necessary.
- There doesn't seem to be an agreed upon, browser supported protocol for live DASH. Static is easy enough but live is more difficult, especially when you add seeking, pausing etc.
- The above means you need both a backend and a frontend system.
- Running a system like this is very expensive. The entities interested in running it and able to do so are usually willing to pay for it.
All this said, Emby[0] can stream a transcode and perhaps its stack would be a good place to start.
[0]: https://emby.media