MPlayer-Dokumentation sagt:
Wenn Sie
-udp-ip
die Broadcast-Adresse des Masters einstellen, können mehrere Slaves mit derselben Broadcast-Adresse mit dem Master synchronisiert werden.
Normalerweise müssen diese Sklaven auf verschiedenen Maschinen laufen. Der Broadcast-Netzwerk-Stream kann zu vielen Maschinen gelangen, aber im Zusammenhang mit jeder einzelnen Maschine wird der Stream an einen einzelnen Überwachungsprozess gebunden.
Es ist eine Möglichkeit für mehrere Prozesse den gleichen Strom zu erhalten (vergleiche diese Antwort von mir, reuseaddr
), aber es scheint mir, dass mplayer
es nicht verwenden.
Ich schaffte es, das Problem auf Linux zu lösen mit socat
, tee
und bash
. Da Sie Videos lokal abspielen müssen, bleiben wir bei 127.0.0.1
; Wir brauchen nicht einmal Rundfunk.
Der erste Befehl ist wie der, den Sie verwendet haben:
mplayer -udp-master -udp-ip 127.0.0.1 video0.avi
Führen Sie dann eine Pipe aus, die den empfangenen Stream verzweigt (Hinweis: 23867
ist der Standardport, der von verwendet wird mplayer
):
socat UDP-LISTEN:23867 - | tee >(socat - UDP-DATAGRAM:127.0.0.1:20001) >(socat - UDP-DATAGRAM:127.0.0.1:20002) >/dev/null
Dadurch werden eingehende Daten erneut an die Ports 20001
und gesendet 20002
. Sie können >(socat - UDP-DATAGRAM:127.0.0.1:20003)
weitere Ports hinzufügen, wenn Sie möchten.
Mit diesem mplayer
Vorgang können Slave- s unabhängig voneinander an ihren eigenen Port binden:
mplayer -udp-slave -udp-ip 127.0.0.1 -udp-port 20001 video1.avi mplayer -udp-slave -udp-ip 127.0.0.1 -udp-port 20002 video2.avi …