On demand playback vs. 'live' streaming of a static file
Our usage scenario requires to have many users (from a few to hundreds) watching together, in sync, the same recorded media file (usually 100s MB in size). Right now we use an on-demand app and, by remotely controlling the user's player, we start/pause/seek the video file playback for everybody at the same time.
The question: is this the most efficient way (server load, disk usage, performance etc) of doing it or maybe I should try to create a 'live' stream from the static file and have the users pulling this stream? Would be this approach significantly better, any drawbacks/concerns? I've seen some posts about building a stream from a static file but if this solution makes sense I would appreciate a hint from where to start. Thanks.
You can control this type of stream dynamically, and you should be able to emulate the effect of seek by starting a new clip on a stream with a start value of what you would seek to. Take a look at this example as a very simple starting place
Unless you need to allow users to pause and seek as they wish, independent of each other, I would do the b option because it will do what you describe, except not actually pausing and seeking but you could make something that looked like that to the user. If you have a specific sequence of streams you should be able to do it all by configuration using the
scheduler, otherwise it will take some work to implement a controller, which you can start with
the controller example but probably will need to customized for your purpose. Note how you can load streams with the scheduler and use the controller to make real-time changes.
It seems you've solved the problem yourself, unless you need to make absolutely sure that the stream only plays when you want it to, because that seems to be the only upside to having it as a live stream.