跳到主要内容

媒体代理

路径:播放服务 → 媒体代理。

媒体代理是播放器连接媒体服务器时使用的入口。它把 Emby / Jellyfin 的影片列表和 Mediora 的来源解析接在一起,让播放器找到 STRM 对应的影片。开始前先添加可用的媒体服务器和来源存储,再生成一两部影片的 STRM 用于测试。

新建代理实例​

点击“新建实例”,填写:

字段怎么填写影响
实例名称例如“客厅 Emby”“异地 Jellyfin”。只用于区分不同播放入口。
媒体服务器选择在“系统 → 系统设置 → 服务设置”中已添加并测试可用的 Emby 或 Jellyfin。决定这个代理实例服务哪个媒体服务器。
代理端口选择未被其他服务或代理实例使用的端口。播放客户端需要能访问这个端口;端口不可用时系统不会自动换一个。

代理端口由你在这个实例中自行填写,通常可在 1024–65535 中选择,不能与 Mediora 页面端口相同。页面能打开只说明页面端口 3000 可用,代理端口必须另外做一次映射,见下节。

Docker bridge 网络下映射代理端口​

需要映射的是你在媒体代理实例的“代理端口”中填写的值,不是固定的 8090。

下面假设你填写的是 8090,在安装页创建的 compose.yaml 中添加对应配置,保留原有的镜像、挂载和其他环境变量。8090 仅为示例;请把下方所有 8090 都替换为你自己填写的代理端口。

services:
mediora:
ports:
- '3000:3000'
- '8090:8090' # 两侧都替换为你在实例中填写的“代理端口”。
environment:
# 可选:限制代理端口范围;示例值也要替换,起止变量必须成对设置。
MEDIA_PROXY_PORT_START: '8090'
MEDIA_PROXY_PORT_END: '8090'

映射左侧是宿主机端口,右侧是容器端口,右侧必须与你在页面中填写的“代理端口”一致,建议两侧都使用该值。MEDIA_PROXY_PORT_START / MEDIA_PROXY_PORT_END 只限制页面可选范围,不会自动增加 Docker 映射;只使用一个实例时可以都设成自己填写的端口,需要多个实例时可设置连续范围,并为每个实例填写的端口增加映射。

修改后,在 compose.yaml 所在目录执行:

docker compose up -d mediora
docker compose ps mediora

确认端口列表包含自己填写的代理端口对应的 TCP 映射,再回到 Mediora 页面启用实例;按上面的示例填写 8090 时,会显示 8090->8090/tcp。单纯执行 docker compose restart 不会应用新增端口映射。 NAS 或 Docker 管理面板部署时,在容器设置中把“宿主机端口”和“容器端口”都填成你在代理实例中填写的端口,协议选 TCP,然后应用配置并重新创建容器。使用 docker run 时,同样按自己的端口添加 -p 映射并重新创建容器。

启用后,从媒体服务器或播放客户端所在的机器访问健康检查地址。下面仍假设你填写的代理端口为 8090,Mediora 安装机器的内网 IP 为 192.168.1.20;请换成实际地址和自己的代理端口:

curl -fsS http://192.168.1.20:8090/media-proxy/health

正常会返回 {"success":true}。连接被拒绝或超时时,先检查实例是否启用、端口映射是否生效,以及宿主机防火墙是否允许局域网访问该 TCP 端口。仅在容器内检查成功,不能证明其他机器可以连接。

健康检查不等于能播放

健康检查只证明端口通。能否真正播放,还取决于来源存储是否可读、账号是否有权限、原文件是否还在。完整验证链见下方“基础播放方式”。

如果已使用 host 网络,代理直接使用宿主机端口,无需 ports 映射,仍需确认端口未被占用且可以访问。媒体代理默认用于本机或局域网;需要公网播放时先配置 HTTPS 入口和访问限制,外网播放的 HTTPS 入口设置见公网访问与安全。

启用与状态​

保存后的实例默认不启用。确认端口和媒体服务器都正确后,在实例详情点击“启用”。状态含义如下:

状态表示什么
已停用不接受播放请求,可安全修改媒体服务器或端口。
启动中 / 停用中正在切换状态,稍等后刷新。
已启用可以处理播放请求。
启动异常查看页面提示,先检查端口、媒体服务器和来源存储。

基础播放方式​

启用后,在 Emby / Jellyfin 客户端添加或修改服务器地址,使用Mediora 安装机器地址 + 该实例代理端口,再登录原媒体服务器账号。例如实例端口为 8090 时,客户端填写 http://192.168.1.20:8090;系统设置里的媒体服务器仍填写原服务器真实地址,不能填回代理自身。

直接通过原 Emby / Jellyfin 端口登录的客户端,请求没有经过这个代理实例。页面能打开、健康检查成功或服务器扫描到 STRM,都不能代替从代理入口实际播放。

115 和 OpenList 的 STRM 会按来源识别并解析播放地址;本地来源由 Mediora 读取文件流。日常需要保证:

  1. STRM 输出目录仍被 Emby 或 Jellyfin 扫描;
  2. 该 STRM 对应的存储仍然可连接;
  3. 播放客户端可以访问代理端口,Mediora 可以访问媒体服务器和来源存储。

旧文件中保存的直接路径不会自动转换。需要统一接入 Mediora 时,先对少量文件明确选择覆盖或备份后覆盖再生成,详见统一播放入口。

修改实例名称可以直接保存;想改媒体服务器或端口,必须先停用实例。删除实例只删除这项播放设置,不会删除影片或 STRM 文件。

分流规则(按需使用)​

高级分流需要对应 Pro 权益及支持的来源。实例详情中“配置分流”可用时,可以为某个来源网盘指定替代播放路径。OpenList 基础代理可用,不代表也提供网盘原生秒传分流;没有规则时按来源播放。

字段作用
分流名称、是否启用便于区分和临时开关单条规则。
分流方式“同类型秒传”会把文件转存到同类型的目标网盘再播放;“跨类型同路径”会在另一类网盘查找同一路径的文件。创建后不能直接切换方式。
适用来源、目标网盘选择规则从哪个网盘开始、要转到哪个网盘。页面会过滤不符合条件的目标。
数据源内优先级数字越小越先判断;同一来源可能有多条规则。
目标专用根目录、目标保留时间仅“同类型秒传”出现。指定 Mediora 临时转存文件使用的专用目录和保留时长;不要使用网盘根目录。
省份、运营商、IP / CIDR、路径通配可选的命中条件,每行一项。不同类别同时满足才命中;同一输入框内任一项匹配即可。全部留空时,该来源的所有播放请求都可使用这条规则。

不需要按地区、网络或路径区分时,不必创建分流规则。规则排错会影响播放去向,建议先保留一条简单规则测试。

同类型转存失败时可以按提示回到来源播放;跨类型同路径规则命中后,目标缺失可能直接返回空结果,不保证继续遍历其他路径。两端同名文件也不代表内容完全相同,修改目标后系统会重新核对。

降级规则(按需使用)​

降级规则用于来源遭遇支持的风控或受限情况时,按规则尝试替代来源,不是所有播放错误的通用重试。每个来源最多一条。

字段作用
适用来源、降级目标可选择其他独立网盘账号(支持同类型),或本地文件夹;以页面筛选结果为准。
来源目录前缀、目标对应目录目标为本地文件夹时,用于映射两端不同的目录前缀。页面会显示预览。
是否启用降级规则关闭后保留规则但不自动切换。

如果无法播放,先检查实例是否启用、端口是否可达、媒体服务器连接是否正常以及来源存储能否打开原文件;不要一开始就添加复杂分流或降级规则。更多处理方法见常见问题。

临时转存与清理​

同类型转存会向目标专用目录写入真实文件并占用网盘空间。保留时间用于安排清理,活跃播放还可能延后清理;停止或删除分流规则不会立即撤回所有已发生的转存。

查看实例中的清理提示和记录。来源账号、目标文件身份或路径无法核实时,系统会保留记录等待处理;不要仅凭文件名去批量删除目标目录。需要人工处理时先确认没有播放、核对具体对象,并保留其他用途的文件。

示例:同一台 NAS 上的 Emby 接入​

假设 NAS 地址为 192.168.1.20,Mediora 页面端口为 3000,Emby 原端口为 8096,新代理实例端口为 8090:

用在哪里地址示例
浏览器打开 Mediora 管理页面http://192.168.1.20:3000
Mediora 的“服务设置”连接 Embyhttp://192.168.1.20:8096
电视、手机等播放客户端连接服务器http://192.168.1.20:8090

这三个地址用途不同。把上游 Emby 地址填成代理自己的 8090 会形成回环;播放器继续连接 8096 则不会经过该代理实例。

第一次只验证一个播放入口:

  1. 增加 8090:8090 TCP 映射,用 docker compose up -d mediora 应用,并核对容器端口列表。
  2. 在 Mediora 启用该代理实例,再从播放器所在网络检查健康地址。
  3. 播放客户端用 http://192.168.1.20:8090 登录原 Emby 账号。
  4. 实际播放一部 STRM,测试快进、切换字幕和重新打开;健康检查不能代替这一步。
  5. 基础播放稳定后,再考虑分流、降级或外网访问。新增第二个实例时,为它选择并映射另一个空闲端口。

同类型转存的目标目录可以单独命名为 /Mediora临时播放,与日常媒体目录分开。这样核对清理记录时,更容易分清哪些是临时转存,哪些是需要长期保留的文件;仍不要仅凭目录名称直接批量删除。