乐于分享
好东西不私藏

一个插件实现:emby/jellyfin网页端直接调用本地播放器,完美解码播放

一个插件实现:emby/jellyfin网页端直接调用本地播放器,完美解码播放

Jellyfin / Emby 的网页端能播放,但我更习惯用本地播放器。PlayLink 解决的就是这个小麻烦:在网页端点播放时,把视频流交给 IINA 或 PotPlayer 打开。

先说清楚它解决什么

PlayLink 是一个 Chrome 扩展,不是新的媒体服务器,也不是独立播放器。它更像一座桥:网页端负责选片,本地播放器负责播放。

适合它的场景很具体:

你已经有 Jellyfin 或 Emby 服务器。
你平时在电脑浏览器里选片。
你想用 IINA 或 PotPlayer 播放。
你不想每次手动复制视频地址。

当前项目默认提供两个播放器协议:

平台
播放器
协议
macOS
IINA
iina://weblink?url=
Windows
PotPlayer
potplayer://

它不负责这些事:

不安装 Jellyfin / Emby 服务器。
不安装 IINA / PotPlayer。
不保证所有转码模式都能拿到真实视频流。
不等同于 embyToLocalPlayer 那种“油猴脚本 + 本地 Python 服务”的方案。

我这里已经有打包好的 PlayLink.zip,所以这篇只写最短安装路径:把 zip 拖进 Chrome 扩展面板,再配置服务器和播放器。

第一步:打开 Chrome 扩展管理页

在 Chrome 地址栏输入:

chrome://extensions/

打开后,看右上角有没有「开发者模式」开关。

成功标志:能看到扩展列表和开发者模式开关。

第三步:开启开发者模式

打开右上角「开发者模式」。

这一步没有复杂配置。开启后,Chrome 才允许安装本地扩展包。

如果你的 Chrome 是公司或学校统一管理的版本,开发者模式可能被策略禁用。这种情况不是 PlayLink 的问题,需要换个人设备,或者解除浏览器管理策略。

第四步:把 zip 拖进扩展管理页

然后直接把插件zip包拖到 Chrome 扩展管理页里。

拖进去后,Chrome 会尝试安装这个扩展。按页面提示确认即可。

成功标志:扩展列表里出现 PlayLink,并且卡片上没有红色错误提示。

PlayLink 当前主要用到 storage 权限,用来保存你填写的服务器地址和播放器配置。

第五步:固定 PlayLink 图标

点击 Chrome 地址栏右侧的扩展图标,找到 PlayLink,把它固定到工具栏。

这一步不是必须,但建议做。后面要打开配置弹窗,固定图标会省很多找扩展的时间。

成功标志:Chrome 工具栏上能直接看到 PlayLink 图标。

第六步:配置 Jellyfin / Emby 地址

点击 PlayLink 图标,打开配置弹窗。

你会看到几项配置:

Jellyfin 地址
Emby 地址
当前激活的服务器
调用播放器
是否开启自动拦截

服务器地址建议只填到 host 和端口,例如:

http://192.168.2.61:8096
第七步:选择本地播放器

macOS 用户优先选:

IINA (macOS 推荐)

它对应的协议是:

iina://weblink?url=

Windows 用户可以选:

PotPlayer (Windows)

它对应的协议是:

potplayer://

这一步不是 PlayLink 单方面能决定的。本地系统必须知道这些协议该交给哪个播放器处理。换句话说,IINA 或 PotPlayer 要先安装好,并且系统能响应对应协议。

成功标志:保存配置后,弹窗提示保存成功。真正的协议唤醒,要到下一步点击播放时验证。

第八步:点击播放验证

回到 Jellyfin 或 Emby 网页端,打开一个影片,点击播放。

理想情况下,PlayLink 会做这几件事:

1.
发现页面里的视频播放元素。
2.
尝试找到真实视频流地址。
3.
从页面、请求或浏览器存储里找到访问 token。
4.
把视频流地址拼进播放器协议。
5.
唤醒 IINA 或 PotPlayer。

注意:如果插件无法拦截浏览器播放,再刷新一次页面尝试即可;

项目地址:https://github.com/lulalulaluobo/playlink