这是我两年前想跟一个相亲对象一起看美剧弄的,之前也研究了一些方案,不过都不太满足我的需求,我的需求就是双方都是 PC ,各自看本地下载好的视频文件,然后两边可以分别显示不同的字幕。这个需求只能通过本地播放器来实现,后来我发现新版射手影音使用 electron 写的,作为前端切图仔,写几行 js 就完成了需求。原理就是 websocket ,播放、暂停的时候向对方推送一个消息,对方收到消息后,跳转到对应的时间,也做播放、暂停的操作,延迟可控制在 0.5s 以下。后来我又加上了一个 web 版本,对方客户端是个浏览器就行,这样手机也能一起看了,不过切换字幕这个功能 web 版就用不了了。初始版本我实现了两种 websocket 方式,自建 websocket 服务(需要公网 ip 服务器)和 GoEasy 提供的 websocket 服务(免费两个月,后面需要收费),前不久我研究了一下 leanCloud 的即时通讯服务,发现也是用 websocket 实现的,就把 leanCloud 即时通讯的实现方式也加了进来,用这个不需要公网 ip 服务器,免费额度也完全够用。之前在 V2 发过一次了,后面也网友联系我让我帮忙部署代码和打包客户端,他们反馈效果还是不错的。有需要的 V 友可以收藏、STAR 二连,github 地址: https://github.com/liyang5945/sync-player
web 版同步效果
客户端与 web 版同步效果
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.