NOTICE: By continued use of this site you understand and agree to the binding شروط الخدمة and سياسة الخصوصية.
Install steps: Install a userscript manager, select Install, then open a website matched by the script.
كيفية استخدام برنامج Userscript للمبتدئين Chrome Edge Firefox
The following figures come from the original source and are separate from activity on this site.
Original script: embyToLocalPlayer
Source version: 2026.02.11
Last source check:
Last successful check:
Requests received by this site are not proof that a user completed installation.
Clicking Install records a request on this site; it does not confirm installation. Not working after install? View troubleshooting and issues
etlp - Emby/Jellyfin 调用 PotPlayer mpv IINA MPC VLC 播放,并回传播放进度(可关)。适配 Plex。
特性
以下播放器支持回传进度
基础配置
.zip 到任意英文路径。 发布页
etlp-mpv-py-embed-win32.zip (mpv 播放器 | Windows only | 快捷键见 FAQ).bat 运行方法。etlp-python-embed-win32.zip (Windows only)embyToLocalPlayer_config.ini 中的播放器路径,以及播放器选择。embyToLocalPlayer.zip (Windows / Linux / macOS)embyToLocalPlayer_config.ini 中的播放器路径,以及播放器选择。前置说明
serving at 127.0.0.1:58000 为服务启动成功。Windows
embyToLocalPlayer_debug.batmpv_embed 文件夹。.bat 就提示找不到 Python,.bat 按 3 查看开机文件夹里面embyToLocalPlayer.vbs是否被杀毒软件删了。.vbs 模板:
CreateObject("Wscript.Shell").Run """<Python所在文件夹>\python.exe"" ""<脚本所在文件夹>\embyToLocalPlayer.py""" , 0, True
FAQ 内容,以 GitHub 为准。
https://github.com/kjtsune/embyToLocalPlayer#faq
macOS / LinuxmacOS / Linux
> macOS
chmod +x *.command 回车。etlp_run.command, 若无报错,可播放测试。brew install screen/bin/bash -c "$(curl -fsSL <a href="https://raw.githubusercontent.com/Homebrew/install/master/install.sh" rel="nofollow">https://raw.githubusercontent.com/Homebrew/install/master/install.sh</a>)"etlp_run.command(方案一)| etlp_run_via_screen.command(方案二) 文件拖入 >cd ~/App/embyToLocalPlayer && nohup ./etlp_run.command > run.log 2&>1 &> Linux
apt install python3-tk(没报错不装也行)
添加 etlp_run.command 执行权限,并用终端打开。
正常播放后,加入开机启动项(无窗口运行):
[Unit]
Description=embyToLocalPlayer
After=graphical-session.target
[Service]
ExecStart=/root/etlp/etlp_run.command
ExecStartPre=/bin/bash -c "until loginctl show-session $(loginctl | grep $USER | awk '{print $1}') -p Type | grep -q -e 'x11\|wayland'; do sleep 1; done; sleep 2"
TimeoutStartSec=infinity
[Install]
WantedBy=graphical-session.target
> 通用说明
> 如何切换模式
.ini 里填好路径替换规则,服务端在本地则不用填。.bat 按 4 有辅助配置程序。dev > path_check = yes 会检查文件是否存在,转换 NFC/NFD。兼容性更高,日志更清楚。(但会慢一点)> 如何更新
.bat 按 6.ini 所在的文件夹打开终端,运行 python3 utils/update.pyembyToLocalPlayer_diff.ini> 如何反馈
如何更新 ,更新到最新版后测试。Windows 用户换含 mpv 的便携版测试,并告知是否正常。debug.bat 选 1。macOS 或 Linux 运行 etlp_run.command 来代替。.bat/.command 窗口中的日志。选中后回车即复制,日志需要包含启动后到出现问题的部分。或者直接提供文件夹下的 log.txt.ini > [dev] > mix_log = no.bat 没有新增日志),反馈时提供在 Emby 页面点击浏览器油猴插件图标后的截图。> 字幕/音轨相关
> 剧集播放列表(连续播放|多集回传)相关
默认已启用,可在配置文件里 [playlist] 中修改。
建议不要禁用,大部分功能与播放列表绑定,禁用会缺失一些功能。
播放列表添加完成前最好不退出(大部分没事)
特别说明:若是 Emby/Jellyfin 网页上的 全部播放/随机播放/播放列表 ,仅支持电影和音乐视频类型。
Windows:
KeyError: 'stream.mkv',看下方 FAQ。macOS
Linux
> mpv
mpvmpv.conf只保留log-file 选项)并检查 mpv 日志。mpv_embed > portable_config > mpv_log.txtmpv.conf > log-file = > mpv_embed
mpv.conf 是我个人使用的简易配置。mpv_embed > updater.bat> mpv_embed 快捷键
mpv_embed 快捷键中文文档 [https://hooke007.github.io/official_man/mpv.html#id4](https://hooke007.github.io/official_man/mpv.html#id4)
英文文档 [https://mpv.io/manual/master/#keyboard-control](https://mpv.io/manual/master/#keyboard-control)
文件位置:mpv_embed > portable_config > input.conf
## 中文文档 <a href="https://hooke007.github.io/official_man/mpv.html#id4" rel="nofollow">https://hooke007.github.io/official_man/mpv.html#id4</a>
## 中文文档 <a href="https://hooke007.github.io/official_man/mpv.html#input-conf" rel="nofollow">https://hooke007.github.io/official_man/mpv.html#input-conf</a>
## 英文文档 <a href="https://mpv.io/manual/master/#keyboard-control" rel="nofollow">https://mpv.io/manual/master/#keyboard-control</a>
## 默认按键 <a href="https://github.com/mpv-player/mpv/blob/master/etc/input.conf">https://github.com/mpv-player/mpv/blob/master/etc/input.conf</a>
## 鼠标中键可以点击界面 OSD 按钮,会显示播放列表,字幕列表,音轨列表等的。
MBTN_LEFT ignore # <无操作> [左键-单击]
MBTN_LEFT_DBL cycle fullscreen # 切换 全屏状态 [左键-双击]
MBTN_RIGHT cycle pause # 切换 暂停状态 [右键-单击]
MBTN_RIGHT_DBL quit # 关闭MPV程序 [右键-双击]
WHEEL_UP add volume 10 # 音量 + 10 [滚轮-向上]
WHEEL_DOWN add volume -10 # 音量 - 10 [滚轮-向下]
MBTN_MID cycle fullscreen # 切换 全屏状态 [中键(按压滚轮)]
f cycle fullscreen # 切换 全屏状态
ENTER cycle fullscreen # 切换 全屏状态 [回车键]
LEFT seek -5 # 后退05秒 [方向左键]
RIGHT seek 5 # 前进05秒 [方向右键]
UP seek 40 # 后退40秒 [方向上键]
DOWN seek -40 # 前进40秒 [方向下键]
. frame-step # 下一帧
, frame-back-step # 上一帧
[ add speed -0.1 # 播放速度 -(最小0.01)
] add speed 0.1 # 播放速度 +(最大100)
{ multiply speed 0.5 # 播放速度 半减
} multiply speed 2.0 # 播放速度 倍增
; add chapter -1 # 章节 - (Page Down 也可以)
' add chapter 1 # 章节 + (Page Up 也可以)
q quit-watch-later # 关闭MPV程序 稍后观看(保存当前文件状态)
Q quit # 关闭MPV程序
z add sub-delay -0.1 # 字幕同步 预载100ms
Z add sub-delay -1 # 字幕同步 预载1000ms
x add sub-delay +0.1 # 字幕同步 延迟100ms
X add sub-delay +1 # 字幕同步 延迟1000ms
i script-binding stats/display-stats # 临时显示统计信息(此时12340翻页,2/4/0页可方向上下键滚动查看)
I script-binding stats/display-stats-toggle # 开/关 常驻显示统计信息
TAB script-binding stats/display-stats-toggle # 开/关 常驻显示统计信息
` script-binding console/enable # 进入控制台(此时Esc退出)
DEL script-binding osc/visibility # 切换 内置OSC的可见性
r cycle_values video-rotate 90 180 270 0 # 旋转屏幕方向
mpv.net
.ini配置有播放列表选项)PotPlayerPotPlayer
提示 渲染 Pin 失败 无法播放。或者日志提示 KeyError: 'stream.mkv'
或者 pot stop, stop_sec=None 或者 请求的操作需要提升 解决方案:
按以下依次修改,每次修改后尝试播放,还不行就无解,欢迎 PR。
通用 FAQ > 如何切换模式 使用读盘模式。66d03fc13f4949948890675cf62b839b704b542a34a13a180466f93be20d5bc6本地用户可考虑:[MPC-HC](https://github.com/clsid2/mpc-hc/releases) 自带 LAV,同样支持 madVR MPCVR BFRC 等。
网络用户或没有特殊需求的话,mpv 系的播放器综合体验较好。
[可选] 选项 > 播放 > 播放窗口尺寸:全屏
配置/语言/其他 > 收尾处理 > 播放完当前后退出(触发回传进度)
若使用 http 播放,可能提示地址关闭。Win8 32bit 碰到。
解决方案:本地用户使用读盘模式,或者换 pot 便携版。
安全性未知:[PotPlayerPortable-220914.zip](https://www.videohelp.com/download/PotPlayerPortable-220914.zip)
先打开 PotPlayerPortable.exe 一次,但播放用 C:\\PotPlayerPortable\App\PotPlayer\PotPlayer.exe
不然会要求管理员权限运行。
读盘模式可能和美化标题和混合S0的功能冲突,不过不影响使用。(FAQ > 隐藏功能 有解决方案)
其他播放器其他播放器
> MPC:
> IINA
设置 > 通用没有打开的窗口时退出播放完成后保存窗口打开> 通用 FAQ
Clash for Windows 用户:
SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)'))使用含 Python 的便携版用户无需安装依赖。其他用户需要安装:命令行终端运行,安装失败尝试在启用或禁用代理的环境来安装:python -m pip install requests
或者:python -m pip install requests -i <a href="https://mirrors.aliyun.com/pypi/simple/" rel="nofollow">https://mirrors.aliyun.com/pypi/simple/</a> --trusted-host=mirrors.aliyun.com
> bangumi.tv(bgm.tv) 单向同步(点格子)
[bangumi] 部分,access_token = 里[bangumi] 填写 enable_host user_name 这两项。Unauthorized 一般是令牌过期或者没填对,Windows 会自动弹出令牌生成页面。bgm.tv 的 续集 不一定是下一季,导致第几季可能关联错误(经下面处理后概率低)。续集 里:集数大于3,同时第一集的序号小于2的 续集 当作下一季的开始。类型在标题右侧灰字),跳过类型为 OVA 剧场版 WEB 等的。./python_embed/python.exe ./utils/bangumi_sync.py mark_playedpython utils/bangumi_sync.py mark_played> trakt.tv 单向同步
http://localhost:58000/trakt_auth ,然后保存。[trakt] 填写 enable_host user_name client_id client_secret 这四项。Authorizeetlp: trakt auth success。etlp 目录下会自动生成 trakt_token.json> Jellyfin 相关
> Plex 相关
> 感谢
> 本地 重定向/替换 播放网址
strm_direct_host 及本机运行 alist。注意要带端口,不然会变成替换 emby 的服务器地址。.ini > [dev]# 网址之间逗号隔开,成对填写。原始网址, 新网址。
stream_redirect = <a href="http://src.src.com/" rel="nofollow">http://src.src.com</a>, <a href="http://reverse.proxy.com/" rel="nofollow">http://reverse.proxy.com</a>, <a href="http://192.168.1.1:5244/" rel="nofollow">http://192.168.1.1:5244</a>, <a href="http://127.0.0.1:5244/" rel="nofollow">http://127.0.0.1:5244</a>
.ini > [dev] # 是否仅监听本机地址,会更安全,但无法与让其他 etlp 通讯。在服务器运行时需要改为 no。
listen_on_localhost = no
.ini > [dev] # 在服务器运行的 eltp 通讯监听地址,例如:http://192.168.1.23:58000
# 限客户机填,服务器取消监听本机地址即可,服务器的日志会有提示。
server_side_href =
script-message 传递部分数据给 mpv,以便其他脚本使用。'script-message', 'etlp-cmd-pipe', cmd_pipe : 命令行 ipc 管道名称。'script-message', 'etlp-playlist-data', playlist_data : emby 的播放列表数据。'script-message', 'etlp-playlist-done' : 表明 mpv 播放列表已添加完成。.ini > [dev]# 播放列表数据较大,默认不传递。若需要启用,则填写此项。
mpv_ipc_playlist_data = yes
.ini > [dev]# 片头有90秒,片尾有91秒,允许5秒钟的误差,片头在前30%里,片尾在70%以后,片头片尾可能的章节名称(逗号隔开,辅助判断,不分大小写)
# 若要禁用就删除掉,或者在前面加 # 号注释掉。mpv 章节跳转快捷键是 ; ' Page Up Page Down
# 若含有特殊值 hint_only(可删除),为启用仅提示模式,不自动跳过。需要跳过就按章节跳转快捷键。
skip_intro = 90, 91, 5, 30, 70, opening, ending, op, ed, hint_only
> mpv bangumi trakt 独立同步脚本
etlp-python-embed-win32.zip 并解压到任意文件夹。FAQ > 观看记录存储服务相关 自行安装 Python 和依赖。)刚才解压的文件夹\utils\others\etlp_sync_bgm_trakt.lua 移动至 mpv 的脚本文件夹。mpv.exe 所在目录 > portable_config > scripts > etlp_sync_bgm_trakt.luaetlp_sync_bgm_trakt.lua 内 etlp 的保存目录(刚才解压的文件夹路径)FAQ > 观看记录存储服务相关 修改配置文件:embyToLocalPlayer_config.ini隐藏功能 > 预读取继续观看 设置 [dev] > server_data_group。用于获取user_id刚才解压的文件夹 > log.txt。或者查看 mpv 日志。> 预读取下一集
.ini > [playlist]# 播放进度超过 50% 时触发预读取,预读取下一集。
prefetch_percent = 50
# 服务端路径包含以下前缀才预读取,逗号隔开,全部启用就留空或删除。
prefetch_path = /mnt/od/TV, /mnt/gd
# 启用本功能的域名的关键词,逗号隔开。全部启用就留空或删除。
prefetch_host =
.ini > dev > force_disk_mode_path.ini > dev > skip_certificate_verify> 预读取继续观看
.ini > [dev]# 服务器信息,各项之间逗号隔开,最后分号结尾。复数服务器需要配置就分号后面继续写。
# api_key:设置 > API 密钥。user_id:设置 > 用户 > [用户名] > 看浏览器网址。
server_data_group = myself, <a href="http://localhost:8096/" rel="nofollow">http://localhost:8096</a>, api_key, user_id;
others, <a href="https://www.abc.org/" rel="nofollow">https://www.abc.org</a>, api_key, user_id;
# 配置格式:上方配置的服务器名,一个或者多个服务端媒体路径前缀,复数服务器同样分号隔开。
# 服务端路径包含路径前缀才预读取,全部就写 /
# strm 是特殊值,只用来刮出媒体时长信息。此时无视上映时间和路径限制。
prefetch_conf = myself, strm, /, /od/另一个路径前缀;
proxy_cache_key "$arg_MediaSourceId$slice_range";> 追更 TG 通知
.ini 顶部或底部(单独的配置区域即可,不要填到别的配置里)##################################################################
### v v # # # # # # # # 追更 TG 通知 # # # # # # # # # # # v v ###
[tg_notify]
# 找 @BotFather 创建一个机器人。复制并填写 token。
bot_token =
# 点击你创建的机器人,然后点击开始或随便发送信息给你的机器人,最后启动本脚本。机器人会告诉你 chat_id。
chat_id =
# chat_id 填写后,重启脚本,会自动测试,提示测试成功的话,本项可以关闭。
get_chat_id = yes
# 如果不需要预读取服务,仅通知。就启用本项。
disable_prefetch = no
# 静音通知时间段,范围间逗号隔开。例如:0-9 0点后9点前。类似针式时钟的时间范围。
silence_time = 0-9, 12-14
# [可选] 可指定 api, 自行搜索 "TG Bot API 反代", 解决网络连接问题。
base_url = <a href="https://api.telegram.org/" rel="nofollow">https://api.telegram.org</a>
> 配置方法
填写位置:.ini 顶部或底部(单独的配置区域即可,不要填到别的配置里)
##################################################################
### v v # # # # # # # 持久性缓存(边下边播) # # # # # # # # v v ###
[gui]
# 未适配播放列表,不接受播放列表相关问题反馈,建议禁用播放列表使用。
# 是否需要缓存文件到本地硬盘,播放时会弹菜单。油猴不用开读取硬盘模式。
enable = no
# 缓存路径:NTFS 支持不很理想,解决方法详见下方 FAQ
cache_path = D:\cache
# [可选] 在服务端文件路径包含指定关键词时才弹菜单,否则直接播放。关键词间逗号隔开。
enable_path =
# 当播放进度超过 98% ,此时若关闭播放器,则删除缓存。禁用填 100
delete_at = 98
# 缓存超过 100GB 时删除旧缓存。
cache_size_limit = 100
# 重启后是否自动开始下载未完成任务
auto_resume = no
# 下载时的代理,用不到就留空。 <a href="http://127.0.0.1:7890/" rel="nofollow">http://127.0.0.1:7890</a>
http_proxy =
# 需要禁用 gui 的域名:所包含的字符串列表,逗号隔开,将根据油猴设置直接播放。
except_host = localhost, 127.0.0.1, 192.168. , 192-168-, example.com:8096
> 持久性缓存(边下边播)FAQ
顺序下载(需要下载完毕才会用缓存播放,点播放会回退到网络播放模式)> 配置方法
.ini 顶部或底部(单独的配置区域即可,不要填到别的配置里)##################################################################
### v v # # # # # # # # # 弹弹播放器 # # # # # # # # # # # # v v ###
[dandan]
# 弹弹play 动漫弹幕播放器支持。
# 播放器需开启远程访问和自动加入媒体库。以及 设置 > 文件关联 > 修复弹弹play专用链。
# 总开关: no 禁用,yes 启用。
enable = no
# 播放器路径
exe = C:\Green\dandanplay-x64\dandanplay.exe
# 远程访问端口。远程访问里 ip 改为 127.0.0.1 会比较安全。
port = 80
# 若远程访问曾经启用过 Web验证,请在这里填写 api密钥,没设置则留空。(注意不是密码)
api_key =
# 仅当服务端路径包含以下路径时使用弹弹播放,逗号隔开。全部文件都用弹弹播放就留空或删除。
enable_path = /mnt/od/TV, /mnt/disk1/anime, 路径的部分字符也可以, anime
# 通过 http 播放时,是否控制开始时间。需等待播放15秒。
http_seek = yes
> 弹弹play FAQ
emby(用脚本播放时会自动切换为该配置):.ini > [dev]# 启动 Pot 的时候指定配置文件的名称,不需要就清空。
# 若指定的配置名称不存在,Pot 会回退使用重置后的初始配置。
pot_conf = emby
.ini > [playlist]# 解决 Pot 读盘模式漏播第零季选集及播放列表标题错位/缺少,播放列表加载会变慢,每秒1集。
mix_s0 = yes
.ini > [dev] # 此功能可能产生其他问题,建议仅在 pot 中使用。
# 谨慎配置,只接受单个字符,全角逗号隔开,成对填写。
# 不要有多余的空格引号,注意分隔符是全角的逗号。
media_title_translate = ',',",", ,-
.ini > [dev]# 视频含多版本且字幕标题不包含下方字符时,提取其他版本视频的字幕供当前视频使用。下方配置字母需小写。选项逗号隔开,前面优先。
sub_extract_priority = 中英特效, 双语特效, 简中特效, 简体特效, 特效, 中上, 中英, 双语, 简, simp, 中, chi
التقييم: 0