My team is trying to play different videos on slave machines. Each video is different but they are supposed to be synchronized in their play time. This is achieved by having a master machine that sends its play time data to the slaves.

Each machine currently runs two instances of MPlayer, which would not work normally, because two instances cannot listen to the same UDP port, but we have used Samplicator, which forwards UDP datagrams to multiple ports. Additionally, we have written our own tool that allows us to forward the datagrams of one port to another.

Both of these approaches have not been ideal so far. When using only one slave instance per machine, the synchronization works as intended. However, with two instances, the playback can get really choppy at times.

Is there any other way to get two MPlayer instances synchronize on one machine?

Our Master Command:

-udp-master -udp-ip {_networkIp} -udp-port {_masterPort} -nogui -cache 1024 -framedrop video.mp4

Our Slave Commands:

-udp-slave -udp-port {MasterPort} -xy 1920 -geometry 0:0 -noborder -cache 1024 -framedrop video1.mp4
-udp-slave -udp-port {MasterPort} -xy 1920 -geometry 0:0 -noborder -cache 1024 -framedrop video2.mp4

We solved our issue by using just one video with a resolution of 3840x1080. This way we dont need a second instance.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.