一个简单的双人同步观看视频系统,支持实时同步播放、暂停和进度控制。
- 🎥 支持多种视频格式 (mp4, webm, ogg)
- 🔄 实时同步播放状态
- 🔗 简单的房间系统
- 📱 响应式设计
- ⚡ 低延迟同步
- 🛡️ 自动清理过期房间
- 后端:Go + Gin + WebSocket
- 前端:HTML5 + JavaScript + CSS3
- 通信:WebSocket
- Go 1.20+
- 支持 HTML5 的现代浏览器
- 克隆仓库
git clone git@github.com:luzhengli/HeartSync.git
cd HeartSync- 安装依赖
go mod tidy- 运行服务
go run cmd/main.go- 访问
http://localhost:8080开始使用
-
创建房间
- 在首页输入视频URL
- 点击"创建房间"
- 系统会生成一个6位数的房间号
-
加入房间
- 输入房间号
- 点击"加入房间"
- 开始同步观看视频
- 每个房间最多2人
- 支持最大房间数:1000
- 空闲房间2小时后自动清理
- 仅支持直接视频URL
├── cmd/
│ └── main.go # 程序入口
├── internal/
│ ├── config/ # 配置文件
│ ├── handler/ # HTTP和WebSocket处理器
│ ├── model/ # 数据模型
│ └── service/ # 业务逻辑
├── static/
│ ├── css/ # 样式文件
│ └── js/ # 前端脚本
└── templates/ # HTML模板
- 支持docker一键部署
- 更稳定的同步算法
- 支持多用户
- 添加用户昵称系统
- 支持更多视频源
- 添加房间内聊天功能
- 优化同步算法
- 添加房间密码功能
欢迎提交 Pull Request 或 Issue!
本项目采用 MIT 许可证 - 详见 LICENSE 文件

