打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

如何搭建个人影音中心,实现多人同步观影(OpenList+SyncTV):修订间差异

来自md5.pw
Air留言 | 贡献
更新图片
Air留言 | 贡献
修改内容
 
(未显示同一用户的8个中间版本)
第1行: 第1行:
本章节将展示如何在搬瓦工E-Commerce或者E-Commerce SLA系列VPS上搭建一个个人影音中心,并能你的你和你的朋友在网页上实现同步看支持弹幕和语音交流,当然这一切的对网络质量有很高的要求,而这刚好是搬瓦工的中国优化线路的优势
本章节将详细展示如何在搬瓦工 E-Commerce E-Commerce SLA 列 VPS 上搭建一个功能完备的个人影音中心。从而实现让你和朋友在网页上同步影视内容支持弹幕和语音交流。


本次教程搭建OpenList并对接夸克网盘,再搭建SyncTV,成SyncTV和OpenList的对接。
要实现流畅的同步观影体验,特别是多人同时观看时,对服务器的'''网络质量'''要求极高。这正是搬瓦工 '''CN2 GIA/CMIN2''' 优化线路的巨大优势所在。本项目将充分利用其延迟稳定和高带宽,打造一个稳定可靠的多人影音中心。
 
本次教程主要步骤为: 搭建OpenList并对接夸克网盘 -> 安装 SyncTV -> 成 SyncTV 与 Alist 的对接。


=== 需要准备的事项: ===
=== 需要准备的事项: ===
1.拥有一台搬瓦工的服务器([https://vilark.com/814.html#:~:text=%E5%BA%93%E5%AF%86%E7%A0%81%E7%AD%89%EF%BC%89%E3%80%82-,%E4%BA%8C%E3%80%81%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%B4%AD%E4%B9%B0%E5%92%8C%E7%B3%BB%E7%BB%9F%E7%9A%84%E5%AE%89%E8%A3%85,-%E6%9C%AC%E6%AC%A1%E6%95%99%E7%A8%8B%E4%BD%BF%E7%94%A8 购买参考教程]);
1.拥有一台搬瓦工的服务器([https://vpsmes.com/602.html 参考教程]);


2.服务器在运行,且安装了debian12系统;
2.服务器在运行,且安装了debian12系统([https://vpsmes.com/615.html 参考教程])


3.拥有一个可以对接OpenList的不限速网盘(例如88VIP夸克网盘,咸鱼10元可开一年);
3.拥有一个可以对接OpenList的不限速网盘(例如88VIP夸克网盘,咸鱼10元可开一年);
4. SSH 连接工具已准备就绪(例如 Xshell)。


=== 一、连接服务器并安装OpenList ===
=== 一、连接服务器并安装OpenList ===
OpenList是一个强大的文件列表程序,用于挂载各种主流的云存储服务,包括阿里网盘,115网盘,夸克网盘等。


==== 1.SSH 连接与基础工具安装 ====
==== 1.SSH 连接与基础工具安装 ====
第18行: 第23行:


==== 2.安装OpenList ====
==== 2.安装OpenList ====
执行下面命令,安装OpenList,根据,先选1,然后直接输入回车键安装。<syntaxhighlight lang="abap">curl -fsSL https://res.oplist.org/script/v4.sh > install-openlist-v4.sh && sudo bash install-openlist-v4.sh</syntaxhighlight>[[File:安装list.jpg|900x900px]]
执行下面命令,安装OpenList,根据选择 '''1''' 进行安装,然后直接输入回车键安装。<syntaxhighlight lang="abap">curl -fsSL https://res.oplist.org/script/v4.sh > install-openlist-v4.sh && sudo bash install-openlist-v4.sh</syntaxhighlight>[[File:安装list.jpg|900x900px]]


安装完成后,保存好访问地址(公网)和账号密码。
安装完成后,保存好访问地址(公网)和账号密码。
[[File:List安装信息.jpg|900x900px]]


=== 二、登录OpenList并设置储存 ===
=== 二、登录OpenList并设置储存 ===
接下来将登录OpenList,并通过获取cookie的方式,添加夸克网盘作为储存如果你使用115或者阿里网盘,操作也类似,可以参考官方文档,https://doc.oplist.org/
接下来将登录OpenList,并通过获取cookie的方式,添加夸克网盘作为储存
 
如果你使用115或者阿里网盘,操作也类似,可以参考官方文档,https://doc.oplist.org/


==== 1.登录OpenList ====
==== 1.登录OpenList ====
访问刚才保存的公网地址,输入账号密码登录,第一次登录建议修改账号密码。
访问刚才保存的公网地址,输入账号密码登录,为了安全起见,'''第一次登录后请务必修改默认账号密码'''
 
[[File:登录list.png|900x900px]]


==== 2.添加OpenList储存 ====
==== 2.添加OpenList储存 ====
刚安装好的OpenList,是没有储存的,直接点'''转到储存'''到添加管理的后台,这里我们选'''夸克,'''输入你的'''挂载路径'''(也就是将来在主页显示的名字)
刚安装好的OpenList,是没有储存的,直接点'''转到储存'''到添加管理的后台
 
点击'''添加'''按钮在驱动列表中'''夸克,'''输入你的'''挂载路径'''(也就是将来在主页显示的名字)
 
[[File:添加储存2.png|900x900px]]
 
[[File:选择夸克驱动.png|900x900px]]


==== 3.获取夸克网盘cookie ====
==== 3.获取夸克网盘cookie ====
第35行: 第52行:


确保登录你的网盘后,按下F12或者SHIFT+Ctrl+I,进入开发模式,根据图示操作复制cookie并保存。
确保登录你的网盘后,按下F12或者SHIFT+Ctrl+I,进入开发模式,根据图示操作复制cookie并保存。
[[File:获取夸克cookie.png|900x900px]]


==== 4.完成OpenList添加夸克储存 ====
==== 4.完成OpenList添加夸克储存 ====
第40行: 第59行:


到这里,夸克网盘的储存添加就已经完成了,访问你的夸克网盘地址,就可以看到网盘,以及网盘中的数据了。
到这里,夸克网盘的储存添加就已经完成了,访问你的夸克网盘地址,就可以看到网盘,以及网盘中的数据了。
[[File:设置完善储存.png|900x900px]]


=== 三、安装SyncTV ===
=== 三、安装SyncTV ===
第55行: 第76行:


==== 1.登录SyncTV ====
==== 1.登录SyncTV ====
SyncTV目前还在开发阶段,显示尚不完善,安装后默认访问地址和登录信息如下,根据图示登录,请及时修改用户名和密码。<syntaxhighlight lang="abap">
SyncTV 默认访问地址和登录信息如下<syntaxhighlight lang="abap">
访问地址:你的ip:8080
访问地址:你的ip:8080
默认账号:root
默认账号:root
初始密码:root
初始密码:root
</syntaxhighlight>
</syntaxhighlight>[[File:登录tv.jpg|900x900px]]
 
'''注意:'''登录后请及时修改默认用户名和密码。


==== 2.对接OpenList ====
==== 2.SyncTV对接OpenList ====
登录后,根据图示操作,完成OpenList的绑定。
登录后,根据图示操作,完成OpenList的绑定。


[[File:List对接tv.jpg|900x900px]]
对接成功后,会显示如下。
[[File:添加成功.jpg|900x900px]]
==== 3.添加用户 ====
因为SyncTV是一个同步观影程序,一个人看没有意义,所以先添加一个用户。
[[File:添加用户.jpg|900x900px]]
==== 4.创建房间 ====
在SyncTV主页顶部的菜单栏(如果浏览器显示过窄,则在右侧侧边栏)创建房间。
[[File:创建房间.jpg|900x900px]]
==== 5.添加影片 ====
创建好房间后,我们可以添加影片了,根据如下操作可以添加
[[File:添加影片.jpg|900x900px]]
==== 6.加入房间 ====
如果你刚创建了房间,那么其他用户访问SyncTV主页后,可以看到房间并加入。
[[File:加入房间.jpg|900x900px]]
==== 7.共同观影 ====
观影时,房主暂停或跳转视频进度,观看者的视频也会同步暂停或跳转,实现时间轴的完全同步。
[[File:在线观影测试.jpg|900x900px]]
=== 五、进阶优化 ===
本次内容目前主要侧重部署项目和程序对接,对于一些优化放在这部分来进行讲解,SyncTV 和 Alist 还有诸多进阶优化和扩展玩法值得探索。
==== 1.设置房间权限 ====
有管理权限的账户,可以修改房间的设置,比如禁止访客加入,给普通用添加同步视频进度和暂停权限等,以维护观影秩序。
[[File:房间设置.jpg|900x900px]]
==== 2.程序的原理 ====
在使用SyncTV进行观影的过程中,默认设置下,数据源是来自openlist的,因为观看者访问openlist的视频是否流畅,决定了观影的流畅度。
对于openlist来说,挂载夸克网盘后,我们通过openlist观看夸克网盘的视频,实际上是由openlist所在服务器访问夸克网盘来实现观看,因此这个过程中会双倍消耗服务器的流量。
==== 3.扩展玩法 ====
SyncTV的功能非常强大,其扩展性包括:
* '''源视频代理播放:''' 支持将源视频进行代理播放。
* '''对接其他平台:''' 可以绑定 Bilibili,直接根据 BV 号播放视频。
* '''直链支持:''' 支持播放各种直链视频,甚至可以用于创建直播房间。
你可以进一步发掘SyncTV的全部潜力,打造更丰富的个人影音娱乐体验。
==== 4.使用域名反向代理 ====
SyncTV和openlist默认情况下的访问地址都是IP+端口的组合,可以参考该教程进行反向代理。以使用域名访问。
[[如何搭建Nginx Proxy Manager并使用反向代理和远程桌面加速]]
需要注意,SyncTV和openlist的反向代理都需要使用特定的配置参数,以下是来自官方文档的配置参数。
'''SyncTV:'''<syntaxhighlight lang="abap">
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
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;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Range $http_range;
proxy_set_header If-Range $http_if_range;
client_max_body_size 20m;
proxy_http_version 1.1;
}
</syntaxhighlight>'''SyncTV的宝塔面板用户请删除以下代码段:'''<syntaxhighlight lang="abap">
location ~ ^/(.user.ini|.htaccess|.git|.svn|.project|LICENSE|README.md
location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
location ~ .*.(js|css)?$
</syntaxhighlight>'''Openlist:'''<syntaxhighlight lang="abap">
location / {
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Proto $scheme;
  proxy_set_header Host $http_host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header Range $http_range;
  proxy_set_header If-Range $http_if_range;
  proxy_redirect off;
  proxy_pass http://127.0.0.1:5244;
  proxy_http_version 1.1;
  # the max size of file to upload
  client_max_body_size 20000m;
}
</syntaxhighlight>
==== 5.访问异常 ====
如果遇到无法访问的SyncTV或者openlist的情况,请检查是否安装了防火墙或者时面板程序。


[[index.php?title=Category:500 常见应用指南 — Application Guides]]
如果有,请给对应端口放行(SyncTV是8080,openlist是5244)。
[[Category:500 常见应用指南 — Application Guides]]

2025年12月15日 (一) 19:30的最新版本

本章节将详细展示如何在搬瓦工 E-Commerce 或 E-Commerce SLA 系列 VPS 上搭建一个功能完备的个人影音中心。从而实现让你和朋友在网页上同步观看影视内容,并支持弹幕和语音交流。

要实现流畅的同步观影体验,特别是多人同时观看时,对服务器的网络质量要求极高。这正是搬瓦工 CN2 GIA/CMIN2 优化线路的巨大优势所在。本项目将充分利用其延迟稳定和高带宽,打造一个稳定可靠的多人影音中心。

本次教程主要步骤为: 搭建OpenList并对接夸克网盘 -> 安装 SyncTV -> 完成 SyncTV 与 Alist 的对接。

需要准备的事项:

1.拥有一台搬瓦工的服务器(参考教程);

2.服务器在运行,且安装了debian12系统(参考教程);

3.拥有一个可以对接OpenList的不限速网盘(例如88VIP夸克网盘,咸鱼10元可开一年);

4. SSH 连接工具已准备就绪(例如 Xshell)。

一、连接服务器并安装OpenList

OpenList是一个强大的文件列表程序,用于挂载各种主流的云存储服务,包括阿里网盘,115网盘,夸克网盘等。

1.SSH 连接与基础工具安装

使用 SSH 工具连接到您的搬瓦工服务器(推荐使用 Xshell 等工具,如果你是个人或家庭使用,可以下载Xshell:下载链接),

然后执行下方命令安装必要的工具。

apt-get install wget curl vim sudo unzip -y

2.安装OpenList

执行下面命令,安装OpenList,根据提示选择 1 进行安装,然后直接输入回车键安装。

curl -fsSL https://res.oplist.org/script/v4.sh > install-openlist-v4.sh && sudo bash install-openlist-v4.sh

安装完成后,保存好访问地址(公网)和账号密码。

二、登录OpenList并设置储存

接下来将登录OpenList,并通过获取cookie的方式,添加夸克网盘作为储存。

如果你使用115或者阿里网盘,操作也类似,可以参考官方文档,https://doc.oplist.org/

1.登录OpenList

访问刚才保存的公网地址,输入账号密码登录,为了安全起见,第一次登录后请务必修改默认账号和密码

2.添加OpenList储存

刚安装好的OpenList,是没有储存的,直接点转到储存到添加管理的后台。

点击添加按钮,在驱动列表中选择 夸克,输入你的挂载路径(也就是将来在主页显示的名字)

3.获取夸克网盘cookie

这一步我们先打开一个空白的网页,访问夸克网盘官网,https://pan.quark.cn/,扫码登录你的夸克网盘。

确保登录你的网盘后,按下F12或者SHIFT+Ctrl+I,进入开发模式,根据图示操作复制cookie并保存。

4.完成OpenList添加夸克储存

回到第2步的储存添加界面,把刚才保存的cookie复制进cookie这一栏中,然后保存。

到这里,夸克网盘的储存添加就已经完成了,访问你的夸克网盘地址,就可以看到网盘,以及网盘中的数据了。

三、安装SyncTV

SyncTV是让您可以和其他人远程一起观看电影和直播的开源程序,它能提供了同步观影官能,并且支持直播、聊天、弹幕等功能。

1.使用一键脚本安装

运行下方的一键脚本,安装SyncTV,这里默认不会输出登录和用信息。

sudo -v ; curl -fsSL https://raw.githubusercontent.com/synctv-org/synctv/main/script/install.sh | sudo bash -s -- -v latest

2.启动并设置自启动

执行以下两个命令,确保SyncTV启动,并设置开机自启动。

systemctl start synctv.service
systemctl enable synctv.service

四、调试SyncTV并对接OpenList

SyncTV默认情况下是未对接储存程序的,这部分将演示如何对接OpenList,并实现多人同步观影。

1.登录SyncTV

SyncTV 默认访问地址和登录信息如下:

访问地址你的ip:8080
默认账号root
初始密码root

注意:登录后请及时修改默认用户名和密码。

2.SyncTV对接OpenList

登录后,根据图示操作,完成OpenList的绑定。

对接成功后,会显示如下。

3.添加用户

因为SyncTV是一个同步观影程序,一个人看没有意义,所以先添加一个用户。

4.创建房间

在SyncTV主页顶部的菜单栏(如果浏览器显示过窄,则在右侧侧边栏)创建房间。

5.添加影片

创建好房间后,我们可以添加影片了,根据如下操作可以添加

6.加入房间

如果你刚创建了房间,那么其他用户访问SyncTV主页后,可以看到房间并加入。

7.共同观影

观影时,房主暂停或跳转视频进度,观看者的视频也会同步暂停或跳转,实现时间轴的完全同步。

五、进阶优化

本次内容目前主要侧重部署项目和程序对接,对于一些优化放在这部分来进行讲解,SyncTV 和 Alist 还有诸多进阶优化和扩展玩法值得探索。

1.设置房间权限

有管理权限的账户,可以修改房间的设置,比如禁止访客加入,给普通用添加同步视频进度和暂停权限等,以维护观影秩序。

2.程序的原理

在使用SyncTV进行观影的过程中,默认设置下,数据源是来自openlist的,因为观看者访问openlist的视频是否流畅,决定了观影的流畅度。

对于openlist来说,挂载夸克网盘后,我们通过openlist观看夸克网盘的视频,实际上是由openlist所在服务器访问夸克网盘来实现观看,因此这个过程中会双倍消耗服务器的流量。

3.扩展玩法

SyncTV的功能非常强大,其扩展性包括:

  • 源视频代理播放: 支持将源视频进行代理播放。
  • 对接其他平台: 可以绑定 Bilibili,直接根据 BV 号播放视频。
  • 直链支持: 支持播放各种直链视频,甚至可以用于创建直播房间。

你可以进一步发掘SyncTV的全部潜力,打造更丰富的个人影音娱乐体验。

4.使用域名反向代理

SyncTV和openlist默认情况下的访问地址都是IP+端口的组合,可以参考该教程进行反向代理。以使用域名访问。

如何搭建Nginx Proxy Manager并使用反向代理和远程桌面加速

需要注意,SyncTV和openlist的反向代理都需要使用特定的配置参数,以下是来自官方文档的配置参数。

SyncTV:

 location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
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;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Range $http_range;
proxy_set_header If-Range $http_if_range;
client_max_body_size 20m;
proxy_http_version 1.1;
}

SyncTV的宝塔面板用户请删除以下代码段:

location ~ ^/(.user.ini|.htaccess|.git|.svn|.project|LICENSE|README.md
location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
location ~ .*.(js|css)?$

Openlist:

location / {
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Proto $scheme;
  proxy_set_header Host $http_host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header Range $http_range;
  proxy_set_header If-Range $http_if_range;
  proxy_redirect off;
  proxy_pass http://127.0.0.1:5244;
  proxy_http_version 1.1;
  # the max size of file to upload
  client_max_body_size 20000m;
}

5.访问异常

如果遇到无法访问的SyncTV或者openlist的情况,请检查是否安装了防火墙或者时面板程序。

如果有,请给对应端口放行(SyncTV是8080,openlist是5244)。