惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
Blog — PlanetScale
Blog — PlanetScale
The GitHub Blog
The GitHub Blog
Microsoft Security Blog
Microsoft Security Blog
I
InfoQ
A
About on SuperTechFans
T
The Blog of Author Tim Ferriss
D
DataBreaches.Net
L
LangChain Blog
F
Fortinet All Blogs
C
Check Point Blog
Google DeepMind News
Google DeepMind News
云风的 BLOG
云风的 BLOG
Engineering at Meta
Engineering at Meta
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
H
Help Net Security
J
Java Code Geeks
月光博客
月光博客
H
Hackread – Cybersecurity News, Data Breaches, AI and More
IT之家
IT之家
aimingoo的专栏
aimingoo的专栏
小众软件
小众软件
宝玉的分享
宝玉的分享
Jina AI
Jina AI

又见苍岚

COLMAP PatchMatch Stereo 算法详解 事件驱动的状态机框架:从理论到工程实践 Git 在国内网络环境下无法 Push 的排查与修复 —— 配置 Clash 代理 分段五次多项式插值原理详解 路径插值方法深度对比研究 Claude Code 使用指南 OpenClaw 记忆管理与技能创建指南 CBS(Conflict-Based Search)算法详解 A* 算法及其变种详解 OpenClaw 配置多 Agents Windows Powershell 无法加载文件,因为在此系统上禁止运行脚本问题的解决方案 MaxClaw 安装流程 大模型 AI 名词介绍 AList 网盘聚合工具简介 Protobuf 简介与测试 Claude Code 简介以及 GLM 4.7 模型接入 Github 歌词下载工具 163MusicLyrics Python __getattr__ 懒加载 Python TypedDict 机器人仿真平台 Gazebo 安装记录 机器人仿真平台 Gazebo 简介 多机器人路径规划问题(Multi-Agent Path Finding, MAPF)简介 Python exifread 读取修改过的 jpeg 信息错误问题修复 3D 坐标系变换的理解 3D 旋转矩阵基本概念 MongoDB Compass 介绍 Python 环境管理工具 uv Flutter 开发指南 Snipaste 安装下载与黑屏问题解决方案 全局路径规划算法记录
SyncTV
Yiwei Zhang · 2025-05-26 · via 又见苍岚

SyncTV是一个允许您远程一起观看电影和直播的程序, 本文记录相关内容。

简介

SyncTV 是一个允许您远程一起观看电影和直播的程序。它提供了同步观影、直播、聊天等功能。使用 SyncTV,您可以与朋友和家人一起观看视频和直播,无论他们在哪里。

SyncTV 的同步观影功能确保所有观看视频的人都在同一点上。这意味着您可以暂停、快进快退、倍速等操作,其他人也会同步到同一点。

特点

  • 同步观看
  • 视频同步
  • 直播同步
  • 影院模式
  • 聊天
  • 弹幕
  • 代理
  • 视频代理
  • 直播代理
  • 代理缓存
  • 视频解析
  • Alist
  • Bilibili
  • Emby
  • 直播解析
  • 哔哩哔哩
  • WebRTC 在线通话
  • 语音
  • 视频
  • 屏幕共享

相关链接

Github: https://github.com/synctv-org/synctv

Docker: https://hub.docker.com/r/synctvorg/synctv

官方文档: https://docs.synctv.wiki/#/

Docker 安装

docker-compose.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
services:
synctv:
image: 'synctvorg/synctv:latest'
container_name: synctv
restart: unless-stopped
ports:
- '9090:8080/tcp'
- '9090:8080/udp'
volumes:
- /opt/synctv:/root/.synctv
environment:
- PUID=0
- PGID=0
- UMASK=022
- TZ=Asia/Shanghai

访问配置

  • 点击登录

初始帐号密码均为 root

  • 点击用户头像配置平台

  • 这里我们以 Alist 为例

输入链接, 用户名和密码进行绑定, 绑定成功应该是这样的

  • 创建房间

  • 房间界面

  • 选择影片来源平台

  • 选择 Alist 中的影片文件, 就可以播放了

  • 分享链接可以邀请他人一同观看

反向代理

如果代理到公网,需要加入额外的反代配置

官网建议:

https://docs.synctv.wiki/#/reverse-proxy?id=nginx

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
client_max_body_size 20m;
proxy_cache off;
proxy_buffering off;
proxy_http_version 1.1;

proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Protocol $scheme;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header REMOTE-HOST $remote_addr;

location = /api/room/ws {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}

location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "";
proxy_set_header Range $http_range;
}

我的配置, 加入了端口和 ssl 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
synctv.conf 
server {
listen 9090 ssl;
listen [::]:9090 ssl;
# server_name localhost;

ssl_certificate /etc/nginx/certificates/cert-xxxxxx/fullchain.cer;
ssl_certificate_key /etc/nginx/certificates/cert-xxxxxx/cert.key;

# 全局配置
client_max_body_size 20m;
proxy_cache off;
proxy_buffering off;
proxy_http_version 1.1;

# WebSocket 专用路径处理
# 注意:请根据您的实际WebSocket路径修改 /api/room/ws
# 如果您的WebSocket路径不同,请相应修改
location /api/room/ws {
proxy_pass http://localhost:8080;

proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

# 保持长连接
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;

# 额外的头部设置
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Protocol $scheme;
proxy_set_header X-Forwarded-Host $http_host;
}

# 通用请求处理
location / {
proxy_pass http://localhost:8080;

# 基础头部设置
proxy_set_header Host $host;
proxy_set_header Connection "";

# 额外的头部设置
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Protocol $scheme;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header REMOTE-HOST $remote_addr;

# Range 请求支持
proxy_set_header Range $http_range;
}
}

参考资料

文章链接:
https://www.zywvvd.com/notes/tools/synctv-intr/synctv-intr/