当前位置: 首页 > news >正文

支持同步观看的媒体服务器GhostHub

在这里插入图片描述

简介

什么是 GhostHub ?

GhostHub 是一个基于滑动界面的媒体服务器,旨在实现实时同步、聊天和隧道分享。它允许用户快速共享和浏览媒体内容,无需复杂的配置或帐户。

主要特点

  • 零配置: 即开即用,无需安装或创建帐户。
  • 滑动浏览: 提供类似 TikTok 的滑动导航体验,适合浏览图像和视频。
  • 实时同步: 支持多用户实时同步观看媒体,确保所有人都能同时访问相同内容。
  • 实时聊天: 内置的匿名聊天功能,便于用户之间的交流。
  • 会话密码保护: 用户可以设置密码以保护会话。
  • 跨平台支持: 可作为 Python 脚本、Windows 可执行文件或 Docker 容器运行。
  • 可自定义文件夹: 用户可以添加自定义文件夹以便于媒体管理。
  • 公共分享: 支持通过 Cloudflare 隧道进行公共分享。

应用场景

  • 临时共享: 适合快速分享媒体文件给朋友或小组。
  • 个人媒体库: 用户可以将其个人媒体库作为服务器使用。
  • 轻量级部署: 适合轻量级的临时部署场景,无需复杂的服务配置。
  • 协作观看: 适合朋友或团队一起观看媒体内容,实现同步体验。

GhostHub 是一个轻便、快速且易于使用的媒体共享解决方案,特别适合个人和小型团队使用。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 ghosthub ,选择第一个 dhux/ghosthub,只有一个 latest 版本,双击直接下载。

docker 文件夹中,创建一个新文件夹 ghosthub,并在其中建两个子文件夹 instancemedia

文件夹装载路径说明
docker/ghosthub/instance/instance存放设置文件等
docker/ghosthub/media/media存放媒体文件等

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口容器端口
52115000

环境

可变
PORT服务器运行的端口,缺省为 5000
FLASK_CONFIGFlask 配置(开发/生产环境)
USE_CLOUDFLARE_TUNNEL是否启用 Cloudflare 隧道
DOCKER_ENV是否为 docker 环境

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 ghosthub 和 子目录
mkdir -p /volume1/docker/ghosthub/{instance,media}# 进入 ghosthub 目录
cd /volume1/docker/ghosthub# 运行容器
docker run -d \--restart unless-stopped \--name ghosthub\-p 5211:5000 \-v $(pwd)/instance:/app/instance \-v $(pwd)/media:/media \-e PORT=5000 \-e FLASK_CONFIG=production \-e DOCKER_ENV=true \dhux/ghosthub:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

services:ghosthub:image: dhux/ghosthub:latestcontainer_name: ghosthubrestart: unless-stoppedports:- "5211:5000"volumes:- ./instance:/app/instance- ./media:/mediaenvironment:- PORT=5000- FLASK_CONFIG=production- DOCKER_ENV=true

然后执行下面的命令

# 新建文件夹 ghosthub 和 子目录
mkdir -p /volume1/docker/ghosthub/{instance,media}# 进入 ghosthub 目录
cd /volume1/docker/ghosthub# 将 docker-compose.yml 放入当前目录# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:5211 就能看到主界面

正常流程是先点击 Add Category 增加分类(Add New Category

但实际上,在使用 Docker 运行 GhostHub 时,会自动为容器的 /media 的所有子目录创建媒体分类,例如:老苏在 media 中建了两个子目录,分别是 videospictures

但文件名好像用中文名会导致不能播放

有兴趣可以深入研究

系统支持的媒体文件格式如下

  • 图片格式: jpg, jpeg, png, gif, bmp, tiff, tif, svg, webp, ico, heic, heif, raw, cr2, nef, arw, dng, orf, sr2, psd, xcf

  • 视频格式: mp4, webm, mov, avi, mkv, wmv, flv, m4v, 3gp, mpg, mpeg, ts, m2ts, vob, ogv, mts, m2v, divx, asf, rm, rmvb, mp2, mpv, f4v, swf

所以我们只要把文件放入对应的子目录,然后刷新网页就可以了

图片效果

视频效果

同步模式下,大家会看到同一个文件,但视频进度并不会同步

官方的动图演示了在手机上的使用

参考文档

BleedingXiko/GhostHub: Swipe-based media server w/ real-time sync, chat, and tunnel sharing
地址:https://github.com/BleedingXiko/GhostHub

GhostHub: A mobile-first media server you can self-host and share in seconds : r/selfhosted
地址:https://www.reddit.com/r/selfhosted/comments/1ki20vq/ghosthub_a_mobilefirst_media_server_you_can/

相关文章:

  • SpringCloud微服务开发与实战
  • 初识计算机网络。计算机网络基本概念,分类,性能指标
  • 代码随想录60期day38
  • “分布形态“
  • Java 常用的Arrays函数
  • 初识仓颉编程语言:高效、简洁与创新的编程选择
  • C++:字符串操作函数
  • uniapp-商城-60-后台 新增商品(属性的选中和页面显示,数组join 的使用)
  • NexBot AI 1.9.3 | 专业AI写作助手,高自由度定制内容,支持中文设置
  • foxmail - foxmail 启用超大附件提示密码与帐号不匹配
  • ESP32 PWM开发对比:底层驱动 VS Arduino封装,谁更适合你?
  • 4.3/Q1,Charls最新文章解读
  • XML介绍及常用c及c++库
  • Transformer 模型与注意力机制
  • LlamaIndex 第九篇 Indexing索引
  • 2025第三届盘古石杯初赛(计算机部分)
  • 系统线程nt!CcPfBootWorker里面的nt!MmPrefetchPages函数分析
  • 接触感知 钳位电路分析
  • 锚点跳转跟踪#
  • NHANES指标推荐:MDS
  • 法律顾问被控配合他人诈骗酒店资产一审判8年,二审辩称无罪
  • 梅花奖在上海|湘剧《夫人如见》竞梅,长沙文旅来沪推广
  • 泽连斯基已离开土耳其安卡拉
  • 外交部:反对美方人士发表不负责任谬论
  • 演员黄晓明、金世佳进入上海戏剧学院2025年博士研究生复试名单
  • 江西省市场监管局原局长谢来发被双开:违规接受旅游活动安排