Add support for video with MPEG-DASH or HLS
People like to share videos. People like to watch videos from their friends and family. Especially with cute animals or kids.
Matrix offers support for posting videos with the m.video
room message type. However, playing an m.video
requires first downloading and decrypting the entire file, which may be (read: definitely will be) quite large.
Instead, we should figure out a way to use MPEG DASH or Apple's HLS to split the video up into lots of smaller chunks. Then we can have the platform's player access them like any other modern internet video -- it downloads and decrypts the next chunk while the current chunk is playing.
NOTE that this may require supporting a different encryption cipher suite than what Matrix uses for all of its other files. For example, I think HLS might use AES-128 instead of AES-256, or there's some similarly small and annoying difference like that.