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 / Linux
macOS
chmod +x *.command 回车。etlp_run.command, 若无报错,可播放测试。brew install screen/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"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
Flatpak: mpv config directory is ~/.var/app/io.mpv.Mpv/config/mpv
Flatpak: mpv scripts directory is ~/.var/app/io.mpv.Mpv/config/mpv/scripts
通用说明
如何切换模式
.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
mpv.conf只保留log-file 选项)并检查 mpv 日志。mpv_embed > portable_config > mpv_log.txtmpv.conf > log-file = <save path>mpv_embed
mpv.conf 是我个人使用的简易配置。mpv_embed > updater.batmpv_embed 快捷键
文件位置:mpv_embed > portable_config > input.conf
## 中文文档 https://hooke007.github.io/official_man/mpv.html#id4
## 中文文档 https://hooke007.github.io/official_man/mpv.html#input-conf
## 英文文档 https://mpv.io/manual/master/#keyboard-control
## 默认按键 https://github.com/mpv-player/mpv/blob/master/etc/input.conf
## 鼠标中键可以点击界面 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配置有播放列表选项)PotPlayer
提示 渲染 Pin 失败 无法播放。或者日志提示 KeyError: 'stream.mkv'
或者 pot stop, stop_sec=None 或者 请求的操作需要提升 解决方案:
按以下依次修改,每次修改后尝试播放,还不行就无解,欢迎 PR。
通用 FAQ > 如何切换模式 使用读盘模式。66d03fc13f4949948890675cf62b839b704b542a34a13a180466f93be20d5bc6本地用户可考虑:MPC-HC 自带 LAV,同样支持 madVR MPCVR BFRC 等。
网络用户或没有特殊需求的话,mpv 系的播放器综合体验较好。
[可选] 选项 > 播放 > 播放窗口尺寸:全屏
配置/语言/其他 > 收尾处理 > 播放完当前后退出(触发回传进度)
若使用 http 播放,可能提示地址关闭。Win8 32bit 碰到。
解决方案:本地用户使用读盘模式,或者换 pot 便携版。
安全性未知:PotPlayerPortable-220914.zip
先打开 PotPlayerPortable.exe 一次,但播放用 C:\<path_to>\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 https://mirrors.aliyun.com/pypi/simple/ --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_playedsimkl 单向同步
http://localhost:58000/simkl_auth ,然后保存。[simkl] 填写 enable_host client_id client_secret 这三项。etlp: simkl auth success。simkl_token.jsontrakt.tv 单向同步
http://localhost:58000/trakt_auth ,然后保存。[trakt] 填写 enable_host user_name client_id client_secret 这四项。Authorize
按钮,二次同意后,网页会显示 etlp: trakt auth success。etlp 目录下会自动生成 trakt_token.jsonJellyfin 相关
Plex 相关
感谢
iso 原盘 bdmv 相关
player_by_path = vlc: __bdmv, .iso 配置文件里的这个设置项可以仅播放原盘的时候用 vlc。本地 重定向/替换 播放网址
strm_direct_host 及本机运行 alist。注意要带端口,不然会变成替换 emby 的服务器地址。.ini > [dev]
# 网址之间逗号隔开,成对填写。原始网址, 新网址。
stream_redirect = http://src.src.com, http://reverse.proxy.com, http://192.168.1.1:5244, http://127.0.0.1:5244
.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, http://localhost:8096, api_key, user_id;
others, https://www.abc.org, 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 = https://api.telegram.org
配置方法
填写位置:.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
# 下载时的代理,用不到就留空。 http://127.0.0.1:7890
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
Python
73.3%
JavaScript
25.5%
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 / Linux
macOS
chmod +x *.command 回车。etlp_run.command, 若无报错,可播放测试。brew install screen/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"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
Flatpak: mpv config directory is ~/.var/app/io.mpv.Mpv/config/mpv
Flatpak: mpv scripts directory is ~/.var/app/io.mpv.Mpv/config/mpv/scripts
通用说明
如何切换模式
.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
mpv.conf只保留log-file 选项)并检查 mpv 日志。mpv_embed > portable_config > mpv_log.txtmpv.conf > log-file = <save path>mpv_embed
mpv.conf 是我个人使用的简易配置。mpv_embed > updater.batmpv_embed 快捷键
文件位置:mpv_embed > portable_config > input.conf
## 中文文档 https://hooke007.github.io/official_man/mpv.html#id4
## 中文文档 https://hooke007.github.io/official_man/mpv.html#input-conf
## 英文文档 https://mpv.io/manual/master/#keyboard-control
## 默认按键 https://github.com/mpv-player/mpv/blob/master/etc/input.conf
## 鼠标中键可以点击界面 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配置有播放列表选项)PotPlayer
提示 渲染 Pin 失败 无法播放。或者日志提示 KeyError: 'stream.mkv'
或者 pot stop, stop_sec=None 或者 请求的操作需要提升 解决方案:
按以下依次修改,每次修改后尝试播放,还不行就无解,欢迎 PR。
通用 FAQ > 如何切换模式 使用读盘模式。66d03fc13f4949948890675cf62b839b704b542a34a13a180466f93be20d5bc6本地用户可考虑:MPC-HC 自带 LAV,同样支持 madVR MPCVR BFRC 等。
网络用户或没有特殊需求的话,mpv 系的播放器综合体验较好。
[可选] 选项 > 播放 > 播放窗口尺寸:全屏
配置/语言/其他 > 收尾处理 > 播放完当前后退出(触发回传进度)
若使用 http 播放,可能提示地址关闭。Win8 32bit 碰到。
解决方案:本地用户使用读盘模式,或者换 pot 便携版。
安全性未知:PotPlayerPortable-220914.zip
先打开 PotPlayerPortable.exe 一次,但播放用 C:\<path_to>\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 https://mirrors.aliyun.com/pypi/simple/ --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_playedsimkl 单向同步
http://localhost:58000/simkl_auth ,然后保存。[simkl] 填写 enable_host client_id client_secret 这三项。etlp: simkl auth success。simkl_token.jsontrakt.tv 单向同步
http://localhost:58000/trakt_auth ,然后保存。[trakt] 填写 enable_host user_name client_id client_secret 这四项。Authorize
按钮,二次同意后,网页会显示 etlp: trakt auth success。etlp 目录下会自动生成 trakt_token.jsonJellyfin 相关
Plex 相关
感谢
iso 原盘 bdmv 相关
player_by_path = vlc: __bdmv, .iso 配置文件里的这个设置项可以仅播放原盘的时候用 vlc。本地 重定向/替换 播放网址
strm_direct_host 及本机运行 alist。注意要带端口,不然会变成替换 emby 的服务器地址。.ini > [dev]
# 网址之间逗号隔开,成对填写。原始网址, 新网址。
stream_redirect = http://src.src.com, http://reverse.proxy.com, http://192.168.1.1:5244, http://127.0.0.1:5244
.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, http://localhost:8096, api_key, user_id;
others, https://www.abc.org, 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 = https://api.telegram.org
配置方法
填写位置:.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
# 下载时的代理,用不到就留空。 http://127.0.0.1:7890
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
Python
73.3%
JavaScript
25.5%