edit: my bad, I thought the project in the OP didn't use html5 video at all, I see how that it is a wrapper around it.
HTML5 video is only really simple if you want to just play MP4's with H264 encodings. For everything else you're going to want a wrapper to deal with compatibility checks, smoothing out cross-browser bugs, deal with ads, set up DRM, ...
Fun fact: besides FairPlay compatibility, HLS in Safari is way more annoying to deal with than HLS via hls.js in browsers that don't natively support it. Safari provides you way less information about what's happening stream/buffer wise, and if you work with HLS event streams you need a ton of hacks to make it behave correctly.
" This allows the use of HTML5 video to play back DRM-wrapped content such as streaming video services "
Noting that most player still use the video tag under the hood, but a lot of functionality has been pushed to the Media Extensions layer for different formats of video.
Using HLS with HLS.js or Dash with Dash.js is the "Simple" way of adding adaptive bitrate support to HTML5 Video tag for better performance. After that its your video delivery pipeline.
Can you elaborate on this? I use <video> to debug HLS issues all the time. Is there something specific that straight-up video tag won't do?
If there are edge cases I'm sure I haven't seen them, because personally I'm only ever using HTML as basically a control group when reproducing bug reports from native video player stuff.
HLS Isn’t supported natively in a lot of browsers. Chrome doesn’t. It’s pretty easy to shim with Media Extensions so it’s fine to use but just sticking it as a src property in a lot of browsers it won’t work.
Personally I think that the Media Extensions API is going to be the primary mechanism for adding new codecs and transports moving forward as opposed to having the browsers need to implement all the options.