SYNCWALL is a LAN multi-device synchronized playback system that enables multiple computers to play video/audio in sync with features like cross-screen display, loop playback, and per-device image display.

Stars

7

7-day growth

No data

Forks

0

Open issues

0

License

GPL-2.0

Last updated

2026-07-27

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It provides a simple, zero-config solution for synchronizing media playback across local network devices, using a clever timing mechanism that accounts for clock drift without requiring external hardware or complex network setup.

Who it is for

  • Home theater enthusiasts wanting synchronized multi-room playback
  • Educators and presenters needing coordinated media across classroom displays
  • Event organizers setting up multi-screen video walls or installations
  • Hobbyists building synchronized audio/video art projects

Use cases

  • Simultaneous movie playback on multiple screens in a home theater
  • Synchronized music playback across different rooms during a party
  • Multi-panel video presentations at conferences or exhibitions
  • Displaying images on selected devices while maintaining sync on others

Strengths

  • One-command startup with Node.js, no additional dependencies required
  • Automatic time-difference calculation with manual fine-tuning for precise sync
  • Supports video, audio, images, cross-screen layout, and independent volume control
  • Includes built-in testing and linting commands for reliability

Considerations

  • Requires Node.js 22.13.0 or higher, which may not be available on older systems
  • Operates only over LAN; no WAN or internet-based synchronization
  • Admin panel at /admin666 has no authentication by default, posing a security risk

README quick start

SYNCWALL

SYNCWALL 是一个局域网多设备同步播放系统,可让多台电脑同步播放视频或音频,并支持跨屏画面、循环播放、指定设备显示图片、独立音量和全部停止。

同步原理

播放前,控制端会指定一个 2000ms 后的统一静止时刻。各设备冻结并回传当时显示的毫秒时间,系统自动计算时间差并修正,也可以手动微调。

播放时,控制端向所有设备发送同一个“当前时间 + 3000ms”绝对播放时刻。所有设备根据校准后的时间同时开始播放。校准音补偿只用于修正不同扬声器的发声快慢,不会改变视频的统一播放时刻。

纯净服务端

这是可单独复制和部署的 SYNCWALL 源码目录。

本目录包含网页、后端接口、数据库结构、媒体存储适配和测试,不包含:

  • node_modules 依赖目录
  • 构建产物和缓存
  • 本地数据库
  • 已上传的视频、音频或图片
  • 原站点的云端项目编号

最快启动

要求安装 Node.js 22.13.0 或更高版本。

npm install
npm run dev

启动后:

  • 控制端:http://本机IP:3000/admin666
  • 被控端:http://本机IP:3000/

服务已监听 0.0.0.0,同一局域网内的电脑可以通过服务端电脑的局域网 IP 访问。

也可以直接运行:

  • macOS:双击 启动服务-macOS.command
  • Windows:双击 启动服务-Windows.bat

文档

常用命令

npm run dev      # 启动局域网服务
npm run build    # 检查正式构建
npm test         # 运行自动化测试
npm run lint     # 检查源码

Description

SYNCWALL 是一个局域网多设备同步播放系统,可让多台电脑同步播放视频或音频,并支持跨屏画面、循环播放、指定设备显示图片、独立音量和全部停止。 播放前先校准时间: 控制端发送“2000ms-与被控端延迟 后静止时间”。 各设备冻结并回传当时显示的毫秒时间。 系统计算时间差并自动修正,也可手动微调。 播放时,控制端统一指定“当前时间 + 3000ms”开始播放。 所有设备根据校准后的时间,在同一绝对时刻开始播放。 校准音补偿只用于修正不同设备扬声器的发声快慢,不会改变视频的同步播放时间。

Related repositories

Similar projects matched by category, topics, and programming language.

TanStack
Featured
TanStack GitHub avatar

router

TanStack Router is a type-safe, data-driven React router with built-in caching, prefetching, and nested layouts, while TanStack Start extends it into a full-stack SSR framework.

Web DevelopmentFrontend Frameworks
14,861
vercel-labs
Featured
vercel-labs GitHub avatar

scriptc

scriptc compiles ordinary TypeScript into small, fast native executables without needing Node.js, V8, or any JavaScript runtime in the binary.

Developer ToolsCode Quality & Build
1,985
Jakubantalik
Featured
Jakubantalik GitHub avatar

thinking-orbs

A React component library that renders six hand-tuned animated thought orb loading indicators on a plain 2D canvas, with two purpose-tuned sizes and automatic theme detection for AI and agent UIs.

AI & Machine LearningAI Agents
1,191