Uploading and playing large video files does not provide a good user experience.
One possible solution is to use m3u8 playlists. This will involve generating m3u8 derivatives and storing them and using a player that can handle them.
Another approach is to consider using an open source media streaming platform, let it handle those logistics and embed that video in Drupal as a Remote Video. If so, what possible open source systems are suitable for that task?
Upon testing HLS streaming with a given 25-minute video (i.e. Legend_of_Ponnivala-Episode01-EN_0.mp4), we found that the time to play the video was not significantly faster than the video player on the site currently. In addition, a downside to HLS streaming were the additional .ts files that were created as a result of converting .mp4 files to .m3u8 files. (e.g. if we were to split the .mp4 file into 25 stream segments, then 25 .ts files would be created)
Thus, since the time to load the video and play it was not noticeably delayed nor slow, we concluded that the video streaming issue was not a large one.
However, as part of the scoping research, I found some other solutions that might help the video player in the overall improvement of loading time:
Progressive Download: (according ngnix website) Progressive download is a technique used to stream media from a web server to a client such as a video player on a laptop or mobile phone. Without progressive download, a client has to download the entire media file before video playback can start.
Uploading and playing large video files does not provide a good user experience.
One possible solution is to use m3u8 playlists. This will involve generating m3u8 derivatives and storing them and using a player that can handle them.
Another approach is to consider using an open source media streaming platform, let it handle those logistics and embed that video in Drupal as a Remote Video. If so, what possible open source systems are suitable for that task?
Resource: