- 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.
Even good HTML5 players that match YouTube's feature set are few and far between.
Bitorrent Live is excellent btw. One of the best performing video apps on iOS.