2台のGNU/Linuxコンピューターがmplayer(またはvlcなど)で同じビデオを再生しています。
それらの間で一時停止/シーク/ FFwを同期する方法。マスターコンピューターで一時停止を押すと、もう一方も同じフレームで一時停止します。
アイデア? (プレイヤー固有のアプローチと普遍的なアプローチの両方を期待しています)
VLCを使用したストリーミング:
サーバ:
vlc video.avi --sout '#duplicate{dst=display,dst=standard{access=http,mux=ts,dst=127.0.0.1:1290}}'
クライアント(バリアント1):
cvlc http://127.0.0.1:1290
クライアント(バリアント2):
curl http://127.0.0.1:1290 | mplayer -
あなたはそれを探す/一時停止/再開することができます(きれいではありませんが)。
mplayer -vo yuv4mpeg:file=/tmp/master_pipe video.mkv
/tmp/master_pipe | tee /tmp/pipe1 | nc -lp 1234
mplayer /tmp/pipe1
nc 1.2.3.4 1234 | mplayer -noconsolecontrols /dev/stdin
(このようなもの)
シーク、OSD、...はマスターmplayerのコンソールによって制御されます。
大きな欠点:100メガビットのネットワークでさえ、これには少し低すぎます。
2番目の欠点:A/V非同期。
このスキームを改善する方法は?
Synergyオプションを試して、WindowsXPを実行している3台の別々のPCで3つのビデオストリームを同期しました。それは流行の後でうまくいきましたが、私たちの目的(展示会)には十分正確ではありませんでした。
ファイルがループするたびに、異なるファイルは最大1秒遅れます。それらの違いが一貫していれば、タイムラインで調整できたはずですが、そうではありませんでした。
今、私たちはネットワーク化されたソリッドステートプレーヤーを使用しています-ロックソリッド。
V-Player 6 HD は、Linuxベースの製品であり、まさにあなたが望むことを実行します。
1台のマシンをマスターとして設定し、他のマシンをスレーブとして設定することにより、ネットワークを介して複数のビデオプレーヤーを同期できます。
これは非常に古い質問ですが、最近mplayerで解決し、スーパーユーザーで自分の質問に回答しました: master-slave with mplayer