本地Linux服务器使用Docker快速部署SyncTV

文章目录

    • 前言
    • 1. Docker部署
    • 2. 简单使用演示
    • 3. 安装cpolar内网穿透
    • 4. 配置公网地址
    • 5. 配置固定公网地址

前言

当想和异地恋人同步看恐怖片却因网络延迟错过惊悚瞬间,或与朋友组队观看电竞直播时无法实时吐槽…这些尴尬场景或许你都经历过。而SyncTV的存在正是为了解决这类情感连接的断层——它通过精准播放控制让所有参与者共享同一进度,并支持弹幕聊天、倍速调节等创新功能。

其应用场景远超普通观影:直播间同步模式适合跨国团队分析赛事数据;分屏教学功能可应用于健身课程双视角指导;而语音房间则为家庭聚会增添了实时互动乐趣。当需要突破局域网限制时,cpolar内网穿透工具就成为了关键桥梁——无论是咖啡厅处理客户资料还是在旅途中整理学习笔记,只需简单配置即可将本地SyncTV服务扩展到公网环境。

这种组合方案特别适合情侣异地情感维系、学生小组线上自习等场景。比如与海外朋友同步观看奥斯卡颁奖礼实况,或与家人远程重温童年动画——SyncTV提供技术基础,而cpolar则为这种"云共处"体验加上了"随时随地可达性"的翅膀。

本文主要介绍如何在本地Linux服务器使用Docker快速部署SyncTV,并结合cpolar内网穿透工具轻松实现与好友一起通过它在线观看视频与直播,无需公网IP也不用准备云服务器那么麻烦。

SyncTV支持多种安装方式,本例中将演示如何使用docker快速安装并运行SyncTV。

1. Docker部署

本例使用Ubuntu 22.04进行演示,使用Docker进行部署,如果没有安装Docker,可以查看这篇教程进行安装:《Docker安装教程——Linux、Windows、MacOS》

安装好Docker后,打开终端执行这行命令即可一键安装:

sudo docker run -d --name synctv -v /opt/synctv:/root/.synctv -p 8280:8080 synctvorg/synctv

image-20250208170429134

2. 简单使用演示

容器启动后,我们在Ubuntu中使用浏览器访问 http://localhost:8280 即可打开SyncTV的Web页面:

image-20250208170531006

点击登录,输入默认管理员账号密码:root/root 即可正常登录:

image-20250208170722072

登录后可以看到顶部新增了个人中心与管理后台的入口:

image-20250208170822526

点击管理后台,可以看到完整的管理功能界面:

image-20250208170918630

而点击创建房间,则可以快速体验如何使用SyncTV来播放视频或直播:

image-20250208171033731

创建好房间后,可以看到SyncTV的播放界面:

image-20250208171130526

播放器左侧可以发送文字与好友实时聊天,下方则是房间信息、影片信息与添加影片等功能:

点击添加影片旁边的视频直链可以看到支持添加资源的各种方式:

image-20250208171424749

这里拿B站视频举例,在输入框中添加你要和好友一起观看的视频网址链接后,会在解析后弹出提示框进行确认:

image-20250208171611910

点击选择,添加到列表后,就能在底部的影片列表中看到添加的视频,把浏览器中的地址分享给他人即可一起同步在线观看了:

image-20250208172153022

3. 安装cpolar内网穿透

不过我们目前只能在本地局域网内与别人分享SyncTV的播放界面一起看视频,如果想不在同一局域网内时,也能在外部网络环境使用手机、平板、电脑等设备远程访问与使用它同步观影,应该怎么办呢?我们可以使用cpolar内网穿透工具来实现远程访问的需求。

下面是安装cpolar步骤:

Cpolar官网地址: https://www.cpolar.com

回到Ubuntu终端中,使用一键脚本安装命令:

sudo curl https://get.cpolar.sh | sh

img

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

img

Cpolar安装和成功启动服务后,在浏览器上输入ubuntu主机IP加9200端口即:【http://localhost:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

image-20240801133735424

4. 配置公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了: synctv,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:8280
  • 域名类型:随机域名
  • 地区:选择China Top

点击创建:

image-20250208173104017

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用任意一个地址在浏览器中访问即可。

image-20250208173209471

如图所示,现在就已经成功实现使用公网地址异地远程访问本地部署的SyncTV来一起同步看视频或直播啦!

image-20250208173407771

点击加入房间会提示登录,这时管理员可以在后台为好友新建一个账号密码。

image-20250208173603021

使用该账号登录后,加入房间,即可一起在线同步观看视频啦:

image-20250208173918566

小结

为了方便演示,我们在上边的操作过程中使用cpolar生成的HTTP公网地址隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

如果有长期使用SyncTV,或者异地访问与使用其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想让公网地址好看又好记并体验更多功能与更快的带宽,那我推荐大家选择使用固定的二级子域名方式来配置公网地址。

5. 配置固定公网地址

使用cpolar为其配置二级子域名,该地址为固定地址,不会随机变化。

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

点击左侧的预留,选择保留二级子域名,地区选择china top,然后设置一个二级子域名名称,我这里演示使用的是mysync,大家可以自定义。填写备注信息,点击保留。

image-20250208174154827

保留成功后复制保留的二级子域名地址:mysync

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道SyncTV,点击右侧的编辑

image-20250208174313323

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

image-20250208174411765

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

image-20250208174456692

最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问本地部署的SyncTV的播放页面,这样一个永久不会变化的二级子域名公网网址即设置好了。

image-20250208174700836

更多项目详情大家可以访问作者github主页进行查看:https://github.com/synctv-org/synctv

以上就是如何在本地Ubuntu系统使用Docker快速部署开源视频分享服务SyncTV,并安装cpolar内网穿透工具配置固定不变的二级子域名公网地址,实现随时随地远程在线与好友分享视频与直播内容全部流程,感谢您的阅读,有任何问题欢迎留言交流。

总结:在数字化连接一切的时代背景下,情感陪伴的需求已从线下延伸到云端。SyncTV通过精准同步和互动设计重构观影场景,配合cpolar构建的安全穿透通道,则将这种温暖延续到任何网络环境——这不仅是技术迭代,更是对后疫情时代社交方式的一次全新诠释。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/90049.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/90049.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

搭建比分网服务器怎么选数据不会卡顿?

一、 体育比分网站的独特技术挑战体育比分网站是互联网服务中的"极限运动",面临三大技术高峰:数据实时性:NBA最后2分钟的比分延迟超过1秒就会流失用户流量脉冲:欧冠决赛时流量可能是平时的50-100倍全球覆盖:…

7月18日总结

bashupload / upload files from command line 远程文件包含 介绍一个上传文件的网站 bashupload.com 简介 借助bashupload.com,可以简朴地从下令行上传文件,剖析给其他的服务器,桌面和移动装备,最大支持25G。上传的文件会被保留…

【leetcode】3202. 找出有效子序列的最大长度(2)

文章目录题目题解题目 3202. 找出有效子序列的最大长度(2) 给你一个整数数组 nums 和一个 正 整数 k 。 nums 的一个 子序列 sub 的长度为 x ,如果其满足以下条件,则称其为 有效子序列 : (sub[0] sub[1]) % k (su…

Linux内核网络栈深度剖析:inet_connection_sock.c的服务器端套接字管理

引言 在Linux网络协议栈中,net/ipv4/inet_connection_sock.c是实现面向连接协议(如TCP)服务器端逻辑的核心文件。它承载了从端口绑定、连接接受到资源回收的全流程管理,是构建高并发网络服务的基石。本文将深入解析其关键机制和实现原理。 一、地址匹配:端口冲突检测的基…

机器学习中核心评估指标(准确率、精确率、召回率、F1分数)

混淆矩阵混淆矩阵是一个表格,用于总结分类模型在测试集上的预测结果,特别是当真实标签已知时。它将预测结果分为四种情况(记忆:实际和预测一致为True,预测为正是Positive):真正例: 实…

从零搭建Cloud Alibaba

1.初始环境的搭建 1.1环境要求: Spring Boot 3.2.5: 基于最新的 Spring Framework 6.x。支持现代化开发模式,帮助开发更加高效。 JDK 17 或更高版本: Spring Boot 3.x 开始要求 Java 17 作为最低运行环境。 Spring Boot 与 Sp…

Spring AI 工具调用

文章目录简述工具定义工具上下文直接返回方法:直接返回工具执行框架控制工具执行用户控制的工具执行异常处理简述 工具调用(也称为函数调用)是 AI 应用程序中的一种常见模式,允许模型与一组 API 或工具进行交互,从而增…

GitHub 趋势日报 (2025年07月20日)

📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图2033maybe737remote-jobs674Hyprland581n8n572shadPS4341bknd281Resume-Matcher249…

替代标准库:实用 C++ 开源组件推荐

C17 及 C20 引入了许多现代化的标准库组件,如 std::filesystem、std::optional、std::format、std::chrono 的增强,以及 std::expected 等。然而,在一些项目中,受限于老版本编译器、不完善的标准库实现,或跨平台兼容性…

夯实基础:配置Java开发环境JDK与构建工具Maven

摘要:在前面两个章节中,我们一同探讨了Spring Boot的革命性优势,并深入其内部,理解了起步依赖、自动配置和内嵌容器这三大核心基石。理论的铺垫是为了更稳健的实践。从本章开始,我们将正式“卷起袖子”,搭建…

PyCharm 未正确关联 .jpg 为图片格式

1. PyCharm 未正确关联 .jpg 为图片格式PyCharm 可能错误地将 .jpg 文件识别为文本文件,导致无法预览图片。解决方法手动关联 .jpg 为图片格式:Windows/Linux: File → SettingsmacOS: PyCharm → Preferences进入 Editor → File Types。在 Recognized …

DM8数据库Docker镜像部署最佳实践

DM8数据库Docker镜像部署最佳实践一、Docker加载DM8镜像二、Docker创建DM8容器三、验证目录是否挂载成功一、Docker加载DM8镜像 1.下载DM8镜像,由于官网暂未提供docker镜像下载,可通过网盘下载:https://pan.quark.cn/s/fe38ba821a2a 2.打开…

数据结构——树(2)

数据结构基础(12) 文章目录数据结构基础(12)二叉树的先序遍历先序遍历中序遍历后序遍历二叉树的层序遍历由遍历序列构造二叉树前序 中序遍历序列后序 中序遍历序列层序 中序遍历序列二叉树的中序遍历(缺点&#xff…

【C语言进阶】结构体练习:通讯录

要求: 实现一个通讯录。 (1)人的信息: 包括姓名、年龄、性别、电话地址。 (2)功能: ①存放一百个人的信息。 ②增加联系人。 ③删除指定联系人。 ④查找指定联系人。 ⑤修改联系人。 ⑥排序。 ⑦显示联系人。 (3)文件: ①contact.…

缓存三剑客解决方案

缓存三剑客解决方案 1.缓存雪崩 定义: 大量缓存数据在同一时间点集体失效,导致所有请求直接穿透到数据库,引发数据库瞬时高负载甚至崩溃。 解决方案: 设置过期随机值,避免大量缓存同时失效。 // 缓存雪崩防护&#xff…

HTML 页面禁止缩放功能

页面禁止缩放 代码如下&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"utf-8"><meta name"viewport" content"widthdevice-width, initial-scale1, shrink-to-fitno, maximum-scale1.0, us…

在github上搭建自己主页

主要是这篇博客进行一些补充。 第一步照做就行 首先是第二步 克隆仓库到本地 先下载一个git&#xff0c;电脑创建一个新文件夹&#xff0c;然后 git clone xxxxx 注意即使你使用了代理&#xff0c;这里大概率也会报错&#xff0c;Failed to connect to github.com port 443 …

Laravel 框架NOAUTH Authentication required 错误解决方案-优雅草卓伊凡

Laravel 框架NOAUTH Authentication required 错误解决方案-优雅草卓伊凡NOAUTH Authentication required 错误这个错误通常出现在以下几种情况&#xff1a;Redis 认证问题&#xff1a;如果你的应用使用了 Redis 且配置了密码API 认证问题&#xff1a;请求需要认证的 API 端点但…

kafka生产端和消费端的僵尸实例以及解决办法

目录 一 生产端僵尸 1.1 原因 1.2 问题 1.3解决办法 1.4 案例 1.4.1 案例1&#xff1a;生产者崩溃后重启 (同一 transactional.id) 1.4.2 案例2&#xff1a;短暂网络分区导致的脑裂 1.4.3 案例3&#xff1a;正确 - 解决僵尸 1.4.4 案例4&#xff1a;错误 - 无法解决僵…

国产电科金仓数据库金仓KES V9 2025:AI时代的数据库融合标杆

国产电科金仓数据库金仓KES V9 2025&#xff1a;AI时代的数据库融合标杆 在AI技术迅猛发展的今天&#xff0c;企业数据管理面临着前所未有的挑战&#xff1a;异构数据库兼容难题、多数据模型融合需求、高并发场景性能瓶颈、跨中心容灾压力……这些痛点如同数据流转的大问题&am…