I’ve been experimenting with HLS on blossom but I had put the m3u8 in blossom as well.
Generating the m3u8 playlist dynamically makes more sense and enables nice features like the aes encryption.
I was solving the server failover on the fly in the browser while playing but doing it before playing with HEAD requests is also reasonable (short delay).
We could have a kind 21 video event pointing to multiple 1663 events and generate a master playlist dynamically to support multiple resolutions.
I will build a browser version of your demo if no one else beats me to it.