Моя команда пытается воспроизводить разные видео на ведомых машинах. Каждое видео отличается, но они должны быть синхронизированы во время воспроизведения. Это достигается благодаря наличию главной машины, которая отправляет свои данные времени воспроизведения на подчиненные устройства.
В настоящее время каждая машина запускает два экземпляра MPlayer, которые не будут работать нормально, поскольку два экземпляра не могут прослушивать один и тот же порт UDP, но мы использовали Samplicator, который перенаправляет дейтаграммы UDP на несколько портов. Кроме того, мы написали наш собственный инструмент, который позволяет нам пересылать дейтаграммы с одного порта на другой.
Оба эти подхода до сих пор не были идеальными. При использовании только одного ведомого экземпляра для каждой машины синхронизация работает как задумано. Однако в двух случаях воспроизведение может иногда становиться очень прерывистым.
Есть ли другой способ синхронизировать два экземпляра MPlayer на одном компьютере?
Наше главное командование:
-udp-master -udp-ip {_networkIp} -udp-port {_masterPort} -nogui -cache 1024 -framedrop video.mp4
Наши подчиненные команды:
-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