前言

(一开始我想把这篇文章标题起名为“和朋友一起语音看片还在数321?两款软件解决同步播放痛点!”的,后来想想有点太标题党了,就换成了现在的) 在很长的一段时间里,我和朋友一起开语音看动画的时候都是一起数321,然后一起点下播放键的。这种方法虽然操作比较简单,但是会存在很多问题:语音的延迟导致按下时间有所差别、需要暂停时,两人的进度条差的时间可能会进一步放大...所以找一个可以进行同步播放视频的软件,对我这种经常和朋友一起看片的人就很有必要了。在后面的文章中,我会推荐一个浏览器插件以及一个软件,分别支持在线/本地的视频同步播放。

解决方案推荐

在线视频:VideoTogether 一起看视频

这是一个浏览器插件,支持几乎所有的在线视频播放,官方提供了公用服务器支持,可以即开即用。当然,因为是全开源的,想要自己搭建服务器后端也是可以的。 在我个人看来是缺点的地方:只有房主才能进行播放、暂停、拖动进度条等操作,其他人是无法更改的。

服务端安装

如果只是想使用的话可以直接跳过这个章节。

docker部署

官方提供了通过docker容器部署的方法。

插件使用

  1. 首先在浏览器中下载油猴插件 Edge版 Chrome版

  2. 添加脚本 这里放一下官方的脚本和我自搭服务器的脚本,二选一就可以。(和别人看需要使用同一个脚本) 官方版 我自建服务器的版本搭起来有点麻烦,就不搞了(

  3. 找个朋友一起看片 在安装完后,右下角会多一个小图标 点开后是这样的 一个人作为房主,在视频播放页面输入房间名和密码,点击建房;其他人输入相同的房间名,点击加入就可以了(不用输入密码)

本地视频:Syncplay

这个软件需要看视频的人都在本地保存了相同的视频。在相同房间内的所有人都可以进行视频的暂停、开始、跳转等操作。

服务端安装

和第一个插件的服务端安装一样,如果只是想使用的话可以直接跳过这个章节。 这里我使用了一个非官方的docker镜像来进行安装
docker create \
--name=syncplay \
--net=host \
--hostname=syncplay.example.com
--user 800:800
-e PASSWORD= \
-e PORT= \
-e TLS=/certs \
-v :/certs \
ninetaillabs/syncplay-server
如果不需要tls,可以省略掉其中的--net=host--hostname=syncplay.example.com-e TLS=/certs-v :/certs等参数。

软件使用

  1. 这里下载软件。
  2. 下载安装Syncplay支持的播放器(mpv/VLC/MPC-HC/MPC-BE等)
  3. 打开软件并填写服务器信息 官方提供的服务器(服务器在法国,从国内访问可能会不稳定):
syncplay.pl:8995
syncplay.pl:8996
syncplay.pl:8997
syncplay.pl:8998
syncplay.pl:8999
我个人搭建的服务器(服务器在国内):
syncplay.wen-he.icu:8642
password:WH
相关设置说明: Server address:服务器地址,可以填写我上面发的那些。 Server password(if any):如果服务器有密码,则需要填写这行。比如我的服务器的密码是WHUsername(optional):用户名,这个选项是可填可不填的,不填的话进入房间会显示你是匿名的,填写后则将你填写的用户名显示给其他人。 Default room:在保存设置开始运行后默认进入的房间,可以改成你和朋友约好要进入的房间。当然这里不改进入软件再改也是可以的。 Path to media player:播放器的路径。 在更改完上面的选项后,就可以点击Store configuration and run Syncplay运行软件并连接到服务器了。 4. 同步播放 软件启动时将会同时启动你的播放器,把视频拖入播放器,你所播放的视频文件信息也将显示在Syncplay内。 如果播放的视频信息对不上,相关的信息就会被标红 如果需要换房间,可以在红框标出来的框内更改房间名后点击Join room 在进入房间后,几个人的视频就已经可以同步播放了。下面的I'm ready to watch!没有什么实际作用,只是告诉房间内的人我准备好了,在有语音的情况下没有什么用。