Today playing a video more complex than just decode a .mp4 file: most broadcasters use Adaptive Bitrate streaming formats like HLS and MPEG-DASH, that add a lot of complexity: How do you get the qualities and languages list? how and when do you switch the video quality? etc<p>In case of hls.js used by the NYT, you actually need to transmux the mpeg-ts content used in HLS into fMP4 to make it playable by the Media Source Extensions API used by the browsers.