Loading [MathJax]/jax/output/HTML-CSS/jax.js
1 Star 9 Fork 2

TonyDon/星星同步播放器

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

《星星同步播放器》是使用JavaFX开发的一款异地同时观看的电影的软件。

具有同步播放视频、同步暂停视频、实时弹幕互动等功能。

使用前置

软件使用了VLC media player技术,可以播放绝大多数视频格式,但是需要提前安装好VLC播放器。软件打开会自动检测系统注册表是否安装VLC播放器,若没有安装则无法使用。请提前进入官网进行安装:

VLC:官方网站 - 全平台的自由多媒体解决方案! - VideoLAN

如何使用

在 Github 或者 Gitee 的发行版中下载最新版本

下载并解压压缩包,直接运行【StarSyncplayer.exe】即可。

打开软件会自动连接服务器,在左下角爱心右边会显示您自己的星星号,它是一个6位数字,点击星星号会自动复制到剪切板。在左上角点击【打开视频】进行选择视频。

image-20230616121842116

在右侧的输入框中输入您的好朋友的星星号,点击右侧的连接图标,即可进行连接。

连接成功之后,播放按钮和同步按钮会变成蓝色。此时点击播放按钮则会和您的好朋友同时播放视频,点击同步按钮则会同步视频的进度和倍速。

image-20230616121905544

可以在弹幕输入框输入文本进行发送弹幕,您发送的弹幕会实时在对方的视频中显示。

image-20230616121940198

自定义服务器

目前该项目的默认服务器提供服务到2024年9月1日。

想自搭服务器的朋友可以参考star-syncplayer-server模块进行搭建。

然后软件的【服务器】菜单中断开服务器连接,然后连接自定义服务器即可。

视频格式

使用了 VLC media player 技术,可以播放绝大部分视频格式文件。

延迟问题

《星星同步播放器》在设计上理论上延迟比较小。

举例说明:当小明点击同步播放或者一起播放时,小明的软件并不会立即播放,而是将播放指令转递到服务器,服务器收到指令后,同时发送播放指令给小明和小红。

假设服务器发送给小明的网络延迟为t1,发送给小红的网络延迟为t2

那么小明和小红的播放延迟理论上为:|t1t2|,远小于t1+t2的播放延迟。

graph LR A(小明) --> S(服务器) S -.T1.->A S -.T2.->B(小红)

项目模块介绍

模块 描述
client 使用 JavaFX 开发的客户端。
common client 和 server 之间使用的消息实体类
server 基于 SpringBoot 的 WebSocket 服务端示例。
想自建服务器的朋友可以参考这个模块进行实现。
MIT License Copyright (c) 2023 TonyDon Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

星星同步播放器,一款可以同步播放视频的软件。具有一起看电影、同步播放、弹幕互动等功能。 展开 收起
Java 等 2 种语言
MIT
取消

发行版 (17)

全部
1年前

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/shuilanjiao/star-syncplayer.git
git@gitee.com:shuilanjiao/star-syncplayer.git
shuilanjiao
star-syncplayer
星星同步播放器
main

搜索帮助