播放
了解 STRM 怎样直连播放,并按客户端与网络选择合适的播放方式。
Cirvel 交出 CDN 地址,客户端直接取流,媒体信息和本地文件一样完整。
03.1STRM 直连播放
播放 STRM 时,客户端直接从 CDN 取流,NAS 不中转、不转码,在外观看也不占用家里的上行带宽。这项能力免费版与 Pro 都有。
直连意味着由客户端自己解码。客户端放不了的片源会直接报错,而不是交给服务器转码。遇到这种情况,可以换用解码能力更强的播放器,例如 Infuse,或者在家里打开下文的「局域网交给 Plex 播放」。
03.2挂载路径的 STRM
用 CloudDrive2、rclone 等工具把网盘挂载到 NAS 后,有的 STRM 里写的不是地址,而是挂载里的路径,例如 /CloudNAS/115/电影/示例.mkv。Cirvel 同样可以播放与分析这类 STRM,免费版与 Pro 都支持。
要让客户端直连网盘,需要一个能按网盘路径跳转到直链的服务,在「STRM 分析」页设置的「本机路径 STRM」里填写。已接入 Muvyo 时留空即可,用 OpenList 见「集成」一章的「OpenList」,其他服务见「集成」一章的「其他跳转服务」。
没有跳转服务,或跳转服务找不到文件时,由 NAS 读取挂载传出,在外播放占用家里的上行带宽,STRM 分析页会提示。这时需要把挂载目录映射进 Cirvel 容器,例如 /path/to/CloudNAS:/CloudNAS:ro,rslave,再到「STRM 分析」页设置的「本机路径 STRM」里,把它在容器里的目录填进「NAS 可读取的挂载目录」,例如 /CloudNAS,多个目录用逗号隔开。容器里的路径可以与 STRM 里写的不同,Cirvel 在媒体库文件夹和这些目录下按目录与文件名找到文件。挂载本来就在某个媒体库文件夹里时不必填写。需要 Cirvel 0.1.35 或更新的版本。
媒体库里的 STRM 都能让 NAS 读出这些目录里的文件,所以 NAS 只读取媒体库文件夹和这里填写的目录。这里只填网盘挂载,不要填放备份或令牌的目录,/ 与配置目录 /config 填不进去。
03.3局域网交给 Plex 播放
默认所有 STRM 都直连播放,由客户端自己连接 CDN。勾选的客户端在家里播放 STRM 时改由 Plex 决定,放不了的片源,例如浏览器里的 HDR、杜比视界或 MKV,由 Plex 在 NAS 上转封装或转码。代价是 NAS 从 CDN 拉流,占用下行带宽与 CPU。
- 1在管理面板左侧打开「播放」。
- 2在「局域网交给 Plex 播放」里勾选要交给 Plex 的客户端,例如 Plex Web 或 Plex for Apple TV。
- 3点「保存修改」。
- 只在局域网里生效,在外播放始终直连。Infuse 等第三方播放器的表现以实际为准。
- 同一条目也有本地文件,并且「本地与 STRM 并存时优先播放」是「自动」或「本地文件」时,在家本来就播放本地文件,所以这一项主要影响只有 STRM 的条目。
- 装了 ShimWeave 的浏览器仍由扩展接管,直接连接 CDN,不占用 NAS。
- 在家还是在外按 Plex 设置「网络」里的「局域网络」判断,见「部署」一章的「网络模式」。
- Plex for Android 分成手机与电视两项,可以只把其中一种交给 Plex。
- 这里是按客户端类型的默认,单台设备可以另选,见下文的「设备」。
- 转码在 NAS 上进行,没有映射核显时全靠 CPU,见「部署」一章的「硬件转码」。
Plex 的转码临时目录放在内存里时会占用容器内存,写满后转码失败。经常转码高码率片源时,把转码临时目录放在硬盘上。
03.4设备
管理面板「能力」下的「设备」页列出播放过的 Plex 客户端,本地文件与 STRM 都算,每台可以单独选择 STRM 在家怎样播放,也可以写上自己认得的备注。本地文件始终由 Plex 播放,不受这个选择影响。第三方播放器不在列表里,选择对它们本来就不起作用。
- 列表
- 每台写出备注或设备名、客户端产品、在家还是在外与最近的地址、最近使用的时间。设备第一次播放后出现在这里。
- 按客户端类型筛选
- 列表里有不止一种客户端时,右上角可以只看某一类,例如 Plex for Android (TV)。
- 备注
- 在行尾「···」里点「写备注」,例如「客厅电视」,回车保存,留空清除。备注只用来认设备,不影响播放。
- 音频格式
- 安卓上的 Plex 多一行「音频格式」,例如「能解 AAC、AC3、DTS,不能解 EAC3、TrueHD」。设备播放一次后显示。遇到它解不了的音轨时,Cirvel 先换成同语言里它解得了的音轨,没有同语言的可选时,在家交给 Plex 转换原来的音轨,听到的仍是原来的语言。
- 移出列表
- 在行尾「···」里点「移出列表」,这台的选择一并清除,它再播放时重新出现。没选过 STRM 播放方式也没写备注的设备 180 天不用后自动移出。
每台的「STRM 播放方式」有三种,选了就保存,这台设备下一次播放即按新的选择。
- 跟随客户端类型(默认) 按「局域网交给 Plex 播放」里这类客户端勾没勾决定,在外一律直连。
- 局域网交给 Plex 不管这类客户端勾没勾,这台在家播放 STRM 时都交给 Plex。
- 始终直连 在家也直连,设备自己请求转换时也不交给 NAS。适合经隧道回家的手机,在家转换的画面会经隧道送出,占用家里的上行。
选了「始终直连」的设备,放不了的音轨不再交给 NAS 转换,遇到只有它解不了的音轨的片子可能播不了。
在外播放时三种选择都直连。在家还是在外按「局域网络」判断。
03.5本地与 STRM 并存时优先播放Pro
同一条目同时有本地文件与 STRM 时,在「播放」页的「本地与 STRM 并存时优先播放」里选择播放哪一份。本地文件与 STRM 分在两个媒体库时,文件名与大小相同的同一文件同样算作并存。只有一种版本的条目不受影响。
- 自动(在家本地,在外 STRM)(默认) 在家播放本地文件,在外播放 STRM 并直接连接 CDN,在外观看不占用家里的上行带宽。在家还是在外的判断与「局域网交给 Plex 播放」相同,拿不准时按在外处理。
- 本地文件 总是优先本地文件。
- STRM 总是优先 STRM。
Plex 客户端的版本列表里两份都在,直接播放时播排在第一的那一份,Cirvel 把该播的那一份排在第一,手动选择其它版本照常生效。
第三方播放器常常记住上次播放的版本。选「自动」时,版本列表里只留当前网络该用的那一份,起播时也换成它。播放途中换了网络不会切换,停止后重新播放时按当时的网络重新选择。固定为「本地文件」或「STRM」时只调整顺序。第三方播放器的表现以实际为准。
选「自动」并打开 ShimWeave 页的「未安装扩展时提示安装」时,没装扩展的浏览器在 Plex Web 里遇到放不了的 STRM,会改播同一条目的本地文件,由 Plex 在 NAS 上转封装或转码,在外播放时占用家里的上行带宽。
03.6多版本按画质排列
同一部影片有几个版本时,「播放版本」列表按分辨率、HDR 与码率从高到低排列,按列表顺序起播的 Plex 客户端默认播放画质最好的一份。默认打开,开关在「播放」页的设置里。
- 分辨率先比,再比杜比视界、HDR10+、HDR10 这类动态范围,最后比码率。Plex 生成的优化版本排在最后。
- 本地与 STRM 并存时仍按上文的「本地与 STRM 并存时优先播放」先选来源,再在这种来源里取画质最好的一份排第一。
- 导演剪辑版与院线版这类不同剪辑的版本不互相越过,各自之内按画质排。
- 有版本还没有媒体信息时,例如 STRM 还没分析,这个条目暂时保持 Plex 原来的顺序,分析完再排。
- 在列表里手动选的版本照常播放。Plex Web 与安卓客户端按自己的规则挑默认版本,第三方播放器以实际为准。
- 只改 Plex 客户端看到的列表,不改 Plex 里的数据,关闭后恢复原来的顺序。
03.7跨库的同一作品只列一次
本地文件与 STRM 分在两个媒体库时,同一部作品原本会在「继续观看」「下一集」、首页跨库的推荐行与搜索结果里出现两次。经过 Cirvel 的客户端里,这几处只列一次,留下排在前面的媒体库里的那一份,点开播放时仍按「本地与 STRM 并存时优先播放」选择版本。免费版同样生效,不需要设置。
- 两份本来就共用观看进度,在哪个库里看到哪里,另一个库里也显示到哪里,只列一次之后不会丢进度。
- 各个媒体库自己的浏览与推荐行保持原样,两个库里仍能分别找到它。
- Plex 里的数据不变,Cirvel 也不额外保存什么。
- 被 Plex 匹配成不同作品的两份不算同一部,也不共用进度,用「元数据」页修好匹配后自然合在一起。
经 Plex 中转连接的客户端,以及 Infuse 这类自己维护继续观看列表的播放器,仍会看到两份。
03.8音轨与字幕
字幕菜单里标出简中、繁中、简英双语与繁英双语,音轨标出国语与粤语,本地与 STRM 一样生效,免费版同样可用,由「标出简繁与双语字幕」控制,默认打开。这几项在「播放」页的「音轨与字幕」分组里。
- 音轨与字幕跟随(Pro) 默认打开。在一集里换了音轨或字幕,同一部剧的其余集与之后入库的集打开时就是同样的选择。每位观看者分别记住,单独换过的那一集保持不变。
- 中文字幕优先(Pro) 默认不改。把 Plex 自动选中的中文字幕换成简体、繁体或双语。对这部剧换过字幕,或在某一集、某部电影上亲手选过的,保持你的选择。
在剧、季或单集的详情里可以看到每位观看者记下的选择,电影的详情里可以看到谁换过这部电影的轨道,不想要的都可以逐条清除。
经 Plex 中转的连接看不到标注,换轨也不会被记下。第三方播放器只在本地切换、没有告诉服务器时同样不会被记下,以实际表现为准。
03.9跳过前集进度Pro
追剧时常有几集只看了一半就跳过去,Plex 的「继续观看」却一直停在这些集上。打开「播放」页的「跳过前集进度」后,看完一集时,同一季里排在前面、看了一部分的集标为已看,「继续观看」直接走到下一集。默认关闭,升级后不会动到已有的进度,需要时自己打开。
- 各人只影响自己
- 用观看者这次播放时自己的登录去标记,改的只是他自己的观看状态,Cirvel 不保存任何人的登录。
- 看了一部分才算
- 进度至少是片长的十分之一,不知道片长时至少 3 分钟,只点开看了一小会儿的集保持不动。
- 保持不动的集
- 没开始看的集、之前看完过又重看到一半的集、别的季。刚看完的这一集是重看,或者前面那集是在这一集之后才打开的回头补看,这一次都不标。
- 看完的判断
- Plex 按「已播放阈值」记为已看,或者观看者自己标为已看。
每次标记都记在改动记录里,写着谁看完了哪一集、标了哪几集,可以逐条撤销,撤销免费版同样可用。撤销后这些集恢复为未看并回到原来的进度,之后又看过的集保持不变。你自己的标记立即撤销。其他观看者的撤销先安排好,等他下次在 Plex 里播放任何内容时自动完成,他不需要做什么。改动记录的位置见「维护与备份」一章的「改动记录」。
只对经过 Cirvel 的播放生效,经 Plex 中转连接的播放不会触发。撤销之后,Plex 里这些集的最后观看时间会变成撤销的时刻。
03.10弹幕
弹幕来自你自己部署的弹幕服务,Cirvel 按剧名与集数自动匹配,观看者不用做任何设置。Plex Web 免费可用,Plex 桌面版需要 Pro,手机与电视上的 Plex 客户端不显示弹幕。
- 1在管理面板的「弹幕」页填写弹幕服务地址,点「测试连接」,能搜索到作品后保存。地址只保存在服务器上,不会交给观看者。
- 2在 Plex Web 里播放剧集或电影,点控制栏上的「弹」按钮,勾选「显示弹幕」。暂停、拖动与倍速都跟随。
- 3显示类型、显示区域、密度、不透明度、字号与速度在同一个浮层里调,每个浏览器分别记住。
某部剧的弹幕对不上时,在「弹幕」页的「按剧纠正」里添加纠正,选中它在弹幕服务里对应的作品,集数错位时再设一个偏移,对这部剧的所有观看者生效。
第一次打开的集需要先从弹幕服务取回弹幕,可能要等一会儿才出现,之后再看会快很多。
03.11Plex 桌面版弹幕Pro
Windows 与 Mac 上的 Plex 桌面版运行一次安装命令后,播放时控制栏同样有「弹」按钮,用法与 Plex Web 相同。安装不改 Plex 应用本身,只让 Plex 打开时加载 Cirvel,在家与在外都能用,设置在重开 Plex 后保留。
- 1在要看弹幕的电脑上完全退出 Plex,Windows 上连同任务栏右下角的 Plex 图标一起退出。
- 2打开管理面板的「弹幕」页,复制「Plex 桌面版」下对应系统的命令,Mac 粘进「终端」运行,Windows 粘进 PowerShell 运行。
- 3重新打开 Plex,播放时点「弹」按钮打开弹幕。
curl -fsSL "http://<服务器地址>:32400/cirvel/web/desktop/install.sh" | bashirm "http://<服务器地址>:32400/cirvel/web/desktop/install.ps1" | iex- Plex 或 Cirvel 更新后
- 弹幕若消失,再运行一次安装命令,Plex 照常使用。
- 从 0.1.27 或更早的版本升级
- 用过桌面版弹幕的电脑需要再运行一次安装命令。
- 移除
- 把命令里的 install 换成 uninstall 运行一次,Plex 恢复原样。
- Plex 装在别处
- Mac 会自动找到。Windows 找不到时,先在 PowerShell 里运行
$env:CIRVEL_PLEX_DIR = "<Plex 的安装目录>"再安装。
命令里的地址用任何一个能打开管理面板的地址都可以,面板里复制的命令已经填好。只支持 Windows 与 Mac 上的 Plex 桌面版,不支持 Plex HTPC。
03.12其它播放设置
- 多版本显示媒体信息
- 默认打开,以前叫「多版本显示来源与文件名」,原来的选择保留。Plex 的「播放版本」列表只显示分辨率与码率,几个版本看起来差不多。打开后没有标题的版本写出媒体信息,例如「4K DV P8.1 · HEVC 10bit · TrueHD Atmos 7.1」,本地与 STRM 并存时末尾加「本地」或「STRM」,两个版本相同时再加文件名。还没有媒体信息的版本写「STRM · 文件名」或「本地 · 文件名」,已经有标题的版本保持原样。
- 加速 Plex Web 连接 plex.tv
- 默认打开。Plex Web 打开时要先等 plex.tv 返回账号与服务器列表才显示内容。打开后浏览器里的 Plex Web 经 Cirvel 连接 plex.tv,启动必需的账号信息短时保留,plex.tv 慢或短时连不上时照样能打开。只影响由这台服务器提供的 Plex Web,关闭后下次打开 Plex Web 时恢复直连。
- 加密连接使用 HTTP/2
- 默认打开。浏览器与支持的 Plex 客户端在一条加密连接上同时加载海报与页面数据,局域网里翻页与打开详情更快。个别客户端因此出问题时关闭,之后新建的连接回到与 Plex 相同的 HTTP/1.1。
- 预先缩放海报
- 默认打开。Plex 空闲时先把继续观看、首页与最近添加的海报按客户端常用的尺寸缩放好,第一次打开这些页面时多半不必等服务器现缩。有人播放、Plex 在扫描或维护、有人在浏览时自动让路。经 Cirvel 取到的海报浏览器会缓存,切回同一页时直接显示。
- 外挂字幕编码
- 自动处理,不需要设置。GBK、Big5、UTF-16 编码的中文外挂字幕下发前转成 UTF-8,各个 Plex 客户端都能正常显示,磁盘上的字幕文件保持原样。
- STRM 兼容模式
- 默认关闭。默认由 Cirvel 替客户端取得 STRM 的播放地址,STRM 里写的是内网地址时在外也能播放。个别 STRM 服务需要由客户端直接访问,遇到这类服务播放不了时再打开,打开后与 0.1.9 及更早的版本行为相同。
03.13仪表板
管理面板左侧的「仪表板」按 Plex 的样式列出正在播放的会话,包括 Plex 自己的仪表板看不出的信息。

- 在家还是在外。
- 播放的是本地文件还是 STRM,按网络换过源时显示原先请求的版本与实际提供的版本。
- 传输方式,客户端直连 CDN、NAS 直接传输文件、Plex 在 NAS 上转封装或转码,转码时写明用的是硬件还是 CPU。
- 在外播放且占用 NAS 上行的会话单独标出。
- NAS 转码跟不上播放时单独提醒,见「部署」一章的「硬件转码」。
客户端一段时间没有上报进度时,卡片的进度停在最后一次上报的位置并变灰,再久一些整张卡片淡下去。会话是否结束以 Plex 为准。