linux:如何在两台计算机上同步两个视频播放器?

linux:如何在两台计算机上同步两个视频播放器?

两台 GNU/Linux 计算机正在使用 mplayer(或 vlc 或其他)播放同一个视频。

如何同步它们之间的暂停/搜索/FFw。例如,当我在主计算机上按下暂停时,另一台计算机也会在同一帧上暂停。

有想法吗?(既期待针对特定玩家的方法,也期待通用的方法)

答案1

  1. 掌握 mplayer:mplayer -vo yuv4mpeg:file=/tmp/master_pipe video.mkv
  2. 多播器:/tmp/master_pipe | tee /tmp/pipe1 | nc -lp 1234
  3. 首次显示:mplayer /tmp/pipe1
  4. 第二显示器nc 1.2.3.4 1234 | mplayer -noconsolecontrols /dev/stdin

(类似这样)

搜索、OSD ...... 由主 mplayer 控制台控制。

最大的缺点:即使是 100 兆网络对此来说也太低了。

第二个缺点:A/V 不同步。

如何改进这个方案?

答案2

使用 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 -

您可以查找/暂停/恢复它(尽管不是干净的)。

答案3

我们尝试使用 Synergy 选项在三台运行 Windows XP 的独立 PC 上同步三路视频流。虽然它能正常工作,但对于我们的目的(展示)来说不够准确。

每次文件循环播放时,不同的文件都会滞后最多一秒。如果它们之间的差异是一致的,我们可以在时间线上进行调整,但事实并非如此。

现在我们使用联网固态播放器——坚如磐石。

答案4

我知道这是一个非常老的问题,但我最近用 mplayer 解决了它,并在超级用户上回答了我自己的问题:与 mplayer 的主从

相关内容