产品介绍
YiYi Media 是一套自托管的媒体管理系统,提供单机版与分布式版两种部署模式。 它把「网盘里的文件」变成「用户能点开播放的媒体库」,并把这条链路上的每个环节—— 存储接入、文件运维、元数据刮削、播放代理、用户与权限、运营与观测、监控与报表——收进同一个控制面。
所有服务部署在你自己的服务器上,数据不出你的机器。
单机版部署(STANDALONE) | 分布式部署(DISTRIBUTED) | |
|---|---|---|
| 拓扑 | 一台服务器,三个容器(YiYi-media-standalone + -postgres + -redis) | 控制面拆成 Control/User/Media/Edge,可同机也可异机 |
| 节点 | 一个内置 Storage + 一个内置 Play Agent,随主应用升级 | 外部工作节点,按配额新增与扩容 |
| 适合 | 私人库、小团队,一台机器起步 | 控制面负载要分散、网盘多、播放并发高 |
分布式模式有两种部署方式,按机器数量选:
| 部署方式 | 分支 | 机器 |
|---|---|---|
| 控制面同机 | v2-all-in-one | 控制面 1 台 + 任意多台工作节点 |
| 按角色多机 | v3-multi-host | 控制面 4 台(同一私网)+ 任意多台工作节点 |
两种模式的许可证 Edition 不同,不能只改配置互转,详见部署模式与版本选择。
想先体验
站点没有公开的演示环境。想实际看看跑起来什么样,或者在选型上有疑问, 加 Telegram 群 联系我们安排。
它解决什么问题
自建影音服务通常会遇到四个割裂:
| 割裂 | 常见做法 | YiYi Media 的做法 |
|---|---|---|
| 存储割裂 | 网盘要另配挂载工具,本地盘另做一套 | 三类挂载源(本地磁盘、Google Drive、115)一个挂载编码贯穿全系统 |
| 元数据割裂 | 刮削要另跑脚本,结果与文件系统对不上 | 刮削在存储侧完成,媒体侧做聚合;写文件自动触发刮削,同步前先 Dry-run 预览 |
| 播放割裂 | 播放代理单独架一层,与账号体系不互通 | Play Agent 从注册中心拿媒体与用户信息,限速、配额、准入在输出字节前生效 |
| 运营割裂 | 发号、有效期、流量、报表各做一套 | 注册码、续费码、到期策略、流量配额、播放报表在同一后台闭环 |
架构一句话
控制面统一编排,节点层按模式扩展。
- 控制面:
frontend(Web 界面)、gateway(API 入口)、config(注册中心 + 节点管理)、user(认证与用户)、media(媒体元数据)。 - 节点层:
storage(云盘与文件管理)、play-agent(播放代理)。
这些服务始终是独立进程,只是可以被聚合到同一个容器里:单机版把它们收进一个 yiyi-app 容器,节点为内置;分布式版按角色分散到多台机器,节点为可横向扩展的外部工作节点。
服务间地址通过注册中心自动发现,节点只需要知道 Config 服务地址,不必手工维护 IP 清单。 详见系统架构与核心概念。
谁适合用
- 私人影音库:网盘里攒了几 TB 资源,想在电视、手机、浏览器上都能看,又不想全下载到本地。
- 小型分享站与社群运营:需要发号、控有效期、限流量、看谁在用,注册码与播放报表直接支撑运营。
- 团队与机构私有化:数据不出内网,账号体系自建,日常运维可以委派给非管理员同事。
- 成长期站点:单机版纵向提升配置即可;需要横向扩容时按受控流程升级到分布式版,再加外部工作节点。
能力速览
存储接入本地磁盘、Google Drive、115 三类挂载源,Google Drive 支持多账号共享池与 CDN IP 优选文件运维FUSE 挂载、持久化任务中心、备份、WebDAV 出口、文件缓存、进程黑名单与限速媒体库一库多源聚合、三档同步加 Dry-run 预览、作品/季/集三级元数据覆盖、内置数据体检刮削与元数据分类刮削、轻/直两种模式、TMDB 与 NFO 输入、写入即自动增量、播放时补全技术元数据虚拟媒体库不绑目录,用外部 API 榜单或系统智能统计生成新视角媒体墙播放Emby 协议兼容出口,现有生态客户端填地址与账号即用启播缓存智能启播模式用 ffprobe 定位容器元数据真实位置,只缓存必要字节,小磁盘也能秒开用户与权限六种登录方式、菜单权限委派、多维筛选与运营预设、批量操作、标签体系发号与运营注册码(5 条核销路径)、续期码、邀请名额与邀请树、到期五级治理、签到积分访问治理客户端 User-Agent 白/黑名单、三维流量配额、按挂载源的媒体可见与可播授权观测仪表盘待处理事项巡检、播放报表环比与用户下钻、调度中心任务全可观测集成入站 Webhook 接 NAS 文件变更自动刮削,出站 Webhook 24 个数据变量按库订阅,内置 MCP 服务授权与版本签名租约本地离线校验、断网进宽限期业务照常;Edition 区分单机版与分布式版并与部署形态严格匹配
明确不做什么
写清楚边界,省得你选型时踩坑:
- 刮削模式不是画质档位。
LIGHT(轻刮削)与DIRECT(直刮削)指的是刮削深度:轻刮削靠文件名与目录结构快速匹配 TMDB 条目,直刮削做更深的文件探测。与播放清晰度、码率无关。 - 不做服务端转码与转封装。播放以直连(direct stream)为主,客户端能否播某个文件取决于它自身对该容器与编码的支持。播放时会按客户端能力在各版本间择优,失败自动换源。
- 不做多协议兼容。目前只实现 Emby 协议;系统配置里的 Jellyfin、Plex 选项是标注「开发中」的禁用占位。
- 不提供二次验证(2FA / TOTP)。登录失败锁定策略是固定的:同一 IP + 用户名连续失败 5 次锁定 60 秒,不可配置。
- 不按用户数授权。授权不限制用户数;节点配额只对分布式版的外部工作节点生效。
- 不做永久离线运行。授权租约离线可验签,断网后在宽限期内业务照常;越过宽限截止进入受限模式。
下一步
01
装单机版
克隆 YiYi-media-deploy 部署包(main 分支),.env 里填一个 YIYI_SERVER_HOST,sudo ./install.sh。起三个容器,密钥自动生成、授权公钥自动同步。
02
网页激活
打开 18080 端口,输入发布方给的一次性授权码,然后创建首个管理员并登录。顺序是先激活、后建号。
03
确认内置节点
单机版固定内置一个 Storage 与一个 Play Agent,随主应用安装启动。到节点管理确认两者在线即可,不需要安装任何东西。
04
接盘并刮削
文件管理里配置挂载源接入网盘或本地盘,勾选媒体分类文件夹发起「分类刮削」。首次推荐轻刮削加默认线程。
05
建库并同步
媒体管理里新建媒体库、绑定刚刮削过的来源目录、点同步。媒体库不扫盘,只聚合刮削结果,所以必须刮削在前。
06
建用户放映
建用户或发注册码。用户把门户给出的专属地址填进 Emby 生态客户端即可播放。