gst-sync-server
gst-sync-server copied to clipboard
Synchronizing different parts of a video
Hello, As far as I understood correctly, each client decodes the overall video and then crops the relevant part in video order to render the correct part. So the question is, how synchronization should be done in case where each client plays a different part of video? In other words, assume that I have 4k video and split it to 4 x 1080p pieces and then trying to synchronize all clients as they are decoding relevant parts of the video.
Hmm, this is not something that is currently supported. Maybe it would be possible to have the URL be a template with a client-id that can be filled in for clients to pick up the piece it needs.
I am working on a video wall use case and interested in the possibilities. To my knowledge, it not possible to decode only part of the stream. The master could prepare the streams for the different clients or pre-render all different streams and send these over. What are your thoughts about this? What would be the ideal solution?
The current solution is to have clients decode the whole stream and crop the bit they want. The alternative I can think of is what's mentioned earlier -- prerendered client-specific content, and have a template in the URL that has part of it replaced by the client-id (for example http://myserver/video-%clientid%.mp4 and have that automatically substituted in the client)
What I think is to split the content as an offline process and let specific clients to play specific splitted parts of video.However in this case there will be a synchronization problem and a some kind of a synchronization technique should be applied. But as you know, in gst-sync-server solution, all the clients decode the same content however render parts of it. This solution is appropriate however is not feasible for very large contents. As content size increased, underlying hardware will not enough for decoding such content.
I don't have chance to work on this issue so far however we can work together to implement such a solution..