0x1 什么是SyncTV?
- GitHub - synctv-org/synctv: Synchronized viewing, theater, live streaming, video, long-distance relationship
SyncTV 是一个允许您远程一起观看电影和直播的程序。它提供了同步观看、剧院和代{过}{滤}理功能。使用 SyncTV,您可以与朋友和家人一起观看视频和直播,无论他们在哪里。
SyncTV 的同步观看功能确保所有观看视频的人都在同一点上。这意味着您可以暂停、倒带或快进视频,其他人也会同步到同一点。SyncTV 还支持实时直播,因此您可以一起实时观看直播事件。
剧院功能提供了聊天和弹幕功能,让您在观看视频时与朋友和家人交流。代{过}{滤}理功能允许您观看在您连接到源服务器缓慢的视频和直播。
之前发过一个版本,那会还比较繁琐使用,现在使用还不错 功能也多了许多。
0x2 特点
- <input checked="" disabled="" type="checkbox"> 同步观看- [x] 视频同步- [x] 直播同步
- <input checked="" disabled="" type="checkbox"> 影院模式- [x] 聊天- [x] 弹幕
- <input checked="" disabled="" type="checkbox"> 代{过}{滤}理- [x] 视频代{过}{滤}理- [x] 直播代{过}{滤}理- [x] AList代{过}{滤}理 和 Emby代{过}{滤}理
- <input checked="" disabled="" type="checkbox"> 解析- [x] 支持ts伪装成png/jpg图片播放- [x] 视频解析- [x] AList- [x] Bilibili - [x] 分P- [x] 非国区- [ ] 合集ID- [x] Emby- [ ] 直播解析
- <input checked="" disabled="" type="checkbox"> 支持添加字幕
- <input checked="" disabled="" type="checkbox">
OAuth2
登录绑定- [x] 支持 [百度、百度网盘、Gitee、GitHub、GitLab、Google、Microsoft、QQ、小米、飞书、Authing]一些列应用账号 - <input checked="" disabled="" type="checkbox"> 后台管理
添加方式支持
视频直链
、
直播流
、
创建直播
、
哔哩哔哩
、
AList
、
Emby
- 支持添加视频直链,例如
AList
的视频直链 到时候和你女朋友一起看,一个宿舍、一个班级、一家人、一个群、一个公司/部门等一伙人一起看 之前的太繁琐了新版本直接支持绑定AList账号直接导入AList视频 - 支持添加他人直播间的直播推流地址大家一起看~
- 还支持自己直播直播推流,可以把自己直播画面加进去在这里显示
- 支持添加哔哩哔哩
A/BV号
然后观看,如果有有会员账户的话 还支持开启更高清画质 - 绑定 AList 账号,然后添加视频时候 可以直接选择视频直接导入观看
- 导入Emby 视频 - 支持绑定多个 AList 或者 Emby账号
- 添加视频时候或者编辑添加的 可以添加字幕文件
- 支持用户自主使用
OAuth2
进行注册登录 - 也可以让管理员在后台添加账号密码- 暂不支持直接注册账号(管理员添加的账号也可以绑定第三方SSO) - 防止有人暴力注册账号,使用第三方账号可以随时注册 - 后台管理 可以进行一些列管理设置, - 例如用户设置、房间设置、注册设置、
OAAuth2
设置、代{过}{滤}理设置
但是停止播放时会有0.5-1秒的延迟,影响不是很大
0x3 使用方式(保姆级教程)
默认账号/密码都是
root
,大家启动后记得修改喔~
0x3.1Windows
支持 一键脚本 和 docker 以及手动安装,详细请看GitHub 安装方式
我这里以
Windows
举例子,进入GitHub 右侧的 Releases,找到适合自己的版本,因为我这里是Windows 点击一下下方的
Show all
全部展开
- 我的Windows是 Intel CPU就要使用amd版本的我们下载
synctv-windows-amd64.exe
- 下载好后 我们把下载好的软件放到文件夹,然后在文件夹顶部地址栏输入
cmd
回车打开命令终端 - 打开命令终端 我们输入以下命令,生成一下配置文件
synctv-windows-amd64.exe server --data-dir ./
通过
CMD
运行,但是缺点会一直有哪个黑窗口有时还会卡主不动弹需要去命令终端摁一下回车
所以我这边给大家准备了两个脚本方便大家使用,脚本就放着文件同级目录下就可以
- 但是使用脚本前我们先把文件名
synctv-windows-amd64.exe
改成synctv.exe
,不论你是amd
版本还是arm
版本还是amd-v
带其它标识的,如果你不改文件名哪你只能去修改脚本里面的文件名
当我们需要的时候就双击一下
启动_synctv.vbs
就可以,不想用了或者想修改一下配置文件需要停止我们就双击一下
停止_synctv.vbs
下面是两个脚本的源码可放心使用...
脚本里面的exe文件名是固定的,按照正常来说下载下来的就是
synctv-windows-amd64.exe
这个名字,大多数人也是用这个版本所以我就使用了这个固定的
如果名字不用大家需要修改一下,要么改一下文件名,要么修改两个脚本中的文件名名称
脚本文件放在了每个版本的Windows下载里面 你打开Windows的版本里面就可以看到了。
启动_synctv.vbs
Dim ws
Set ws = Wscript.CreateObject("Wscript.Shell")
ws.run "synctv.exe server --data-dir ./",vbhide
Wscript.quit
停止_synctv.vbs
Dim ws
Set ws = Wscript.CreateObject("Wscript.Shell")
ws.run "taskkill /f /im synctv.exe",0
Wscript.quit
0x3.2 Linux
一键脚本安装命令,您可以使用该脚本来安装和运行 SyncTV
- 安装后应用本体是
/usr/bin/synctv
- 应用数据文件在
/opt/synctv/
这个目录 - 脚本应用在
/etc/systemd/system/synctv.service
一键脚本安装命令如下:
sudo -v ; curl -fsSL https://raw.gitmirror.com/synctv-org/synctv/main/script/install.sh | sudo bash -s -- -v latest
使用一键脚本命名安装后使用如下命令设置一下启动以及开机自启动
全部命令
启动:
systemctl start synctv
停止:
systemctl stop synctv
重启:
systemctl restart synctv
状态:
systemctl status synctv
允许开机自启:
systemctl enable synctv
禁止开机自启:
systemctl disable synctv
如果你想安装两个或者多个 SyncTV可以手动安装并且添加守护进程即可,手动安装以及添加守护进程可以参考AList手动安装教程
0x3.3 Docker
Docker 安装并运行 SyncTV
docker run -d --name synctv -p 8080:8080 synctvorg/synctv
Docker-Compose
version: '3.3'
services:
synctv:
image: 'synctvorg/synctv:latest'
container_name: synctv
restart: unless-stopped
ports:
- '8080:8080/tcp'
volumes:
- /opt/synctv:/root/.synctv
environment:
- PUID=0
- PGID=0
- UMASK=022
- TZ=Asia/Shanghai
有关 docker 镜像的更多信息,请参阅此处。
0x3.4 Mac
- 和Linux一样使用同样的命名可进行安装
- 因为木有Mac设备无法提供教程暂时... 方法也很简单 启动携带命令启动就可以
- 但是暂无守护进程喔~
sudo -v ; curl -fsSL https://raw.gitmirror.com/synctv-org/synctv/main/script/install.sh | sudo bash -s -- -v latest
0x4 亲自体验教程
我们运行后进来十分简洁,没有太多余的选项
我们可以创建一个房间,密码可以写 也可以不写,建议写上,因为别人可以在你的房间添加影片。防止有人捣乱
新建好房间后我们是房主,右下角我们可以添加
视频直链
、
直播流
、
创建直播
、
哔哩哔哩
、
AList
、
Emby
,我们如果播放视频就选择视频直链然后填写一下信息,高级选项正常不用选择,然后点一下下面的添加选项就可以
添加好后 可以在影片列表点击播放,然后就开始播放了,如果忘记密码可以点击左下角
房间密码
后面的小圆圈即可显示密码
如果不想看了依旧可以左下角删除房间,当然这些操作都是需要房主才可以操作,其它人只能播放或者暂停
0x5 下载地址
- 阿里云盘:https://www.alipan.com/s/uFnHq3nhW2H- 含 Windows^1^(amd、arm),Mac^2^(Intel、M),Linux^3^(若干版本)
- GitHub Releases:Releases · synctv-org/synctv · GitHub
Linux
一键脚本安装:
sudo -v ; curl https://raw.githubusercontent.com/synctv-org/synctv/main/install.sh | sudo bash -s -- -v latest
Docker
安装:
docker run -d --name synctv -p 8080:8080 synctvorg/synctv
- Mac安装:(v0.3.5开始没有了) - 和Linux一样使用同样的命名可进行安装- 因为木有Mac设备无法提供教程暂时... 方法也很简单 启动携带命令启动就可以- 但是暂无守护进程喔~
SyncTV使用文档:
在线体验链接我这里就不放了,防止大家放一些不该放的哈哈,大家自己本地搭建一下一分钟搞定
0x6 其它账号添加及应用注册账号
0x6.1 - 手动在后台创建用户
我们登录管理员账号进入后台在
用户管理
进行
添加用户
0x6.2 - 使用第三方应用实现自主注册账号登录
这里以大家都有的
百度/百度云盘
账号为例
- 其它OAuth2申请文档地址:Document
我们先打开 百度/百度云盘OAuth应用注册地址 进行注册设置,具体的可以按照下面的流程添加很简单
AppKey
为Client IDSecretKey
为Client Secret
回调地址:
- 百度:
https://<your-domain>/web/oauth2/callback/baidu
- 百度云盘:
https://<your-domain>/web/oauth2/callback/baidu-netdisk
<your-domain>是指你的IP或者域名,自己进行修改~
示例添加:可以单独只添加一个也可以两个都添加,都添加的话两个回调参数中间用逗号隔开,英文逗号喔~
https://<your-domain>/web/oauth2/callback/baidu,https://<your-domain>/web/oauth2/callback/baidu-netdisk
当然了不仅限于百度还有很多其它的,QQ也可以个人申请但是需要域名备案然后申请才能使用 本地的无法进行测试,另外其它的非开发人员也不使用。
0x7 使用体验
安装体验:相比较之前的方式现在已经很方便了。
使用体验:使用更加方便了,导入直链也方便了,也能看哔哩哔哩的了
导入AList的视频,导入Emby是一样的这里就不演示了
导入哔哩哔哩的视频
- 这里画质好一些是因为我登录了哔哩哔哩账号并且有大会员的账号
- 如果 勾选
Shared
和你一起看的人也能看高画质视频,否则是480p 低画质 - 需要哔哩哔哩会员账号才可以使用
也支持观看非大陆地区的影视,但是需要配置代{过}{滤}理解析
哔哩哔哩也支持解析分P视频,然后选择自己要看的 (合集也支持暂时前端未适配后期添加)
- 可以一键选择所有分P 是否开启代{过}{滤}理,是否Shared(高画质,绑定的账号是哔哩哔哩会员前提)
还能在线导入字幕文件,有两种方式,一个是在添加视频之前,一个是进行编辑都可以添加(需要重新点击一下播放喔~)
两个我常用的字幕网站:
- aHR0cHM6Ly9zdWJoZC50dg==
- aHR0cHM6Ly9zcnRrdS5jb20=
排序位置进行更换,选择两个文件就能看到
交换位置
的按钮
从Emby导入时如果文件太多找不到文件在哪儿可以进行搜索~
0x8 后续计划
后期会新增直播解析、使用AList导入或者Emby导入时候添加搜索、后台优化等
- 直播解析:例如解析某鱼直播平台直播间输入房间号或者房间链接(不限于某鱼),会自动将直播流解析出来,下播再重新开播后也不用重新去获取会自动帮你获取
- 使用AList导入或者Emby导入时文件很多例如几百个文件不好找,添加搜索可以快速定位- 已支持 Emby 添加搜索,AList 导入搜索暂未添加
- 哔哩哔哩解析合集ID
- 更好的 i18 适配
已知问题:
- Windows 7 无法搭建使用(Go版本不支持了)
- v0.3.5 开始没有了
Windows arm
和Mac
版本
版权归原作者 陈皮太 所有, 如有侵权,请联系我们删除。