Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Potplayer 提示无法播放 #71

Open
zjjxwhh opened this issue Sep 8, 2024 · 10 comments
Open

Potplayer 提示无法播放 #71

zjjxwhh opened this issue Sep 8, 2024 · 10 comments

Comments

@zjjxwhh
Copy link

zjjxwhh commented Sep 8, 2024

媒体服务器: nyanmisaka/jellyfin 10.8.13 (Docker)
本地播放器: Potplayer 240827 (1.7.22319) x64
油猴插件: 2024.08.26,开启读取硬盘模式
本地配置: 播放器选择 pot,开启路径转换,开启播放列表,mix_s0=yes,pot_conf=emby(Potplayer 中已创建相应的配置)

问题描述:
jellyfin 点击播放《妈妈朋友的儿子 - S01E08》,Potplayer 自动打开,播放列表中有《妈妈朋友的儿子 - S01E08》,但提示无法播放,截图及详细信息如下:
image

\\xxxxx\media1\link\tv\日韩剧\妈妈朋友的儿子 (2024)\Season 1\妈妈朋友的儿子 - S01E08 - 第8集.mkv /title=妈妈朋友的儿子 S1:E8 - 第 8 集  |  妈妈朋友的儿子 - S01E08 - 第8集.mkv

本地确认有这个文件,在资源管理器中直接点击也能播放
之前一直能正常调用 PotPlayer 播放,猜测这个播放失败可能和我这两天更新了下 PotPlayer 的版本有关🤔
麻烦大佬有空看下,非常感谢~

本地日志:

[09/08/24 23:28:11.4] ['Python path: C:\\Users\\_hide_user_\\AppData\\Local\\Programs\\Python\\Python310\\python.exe']
[09/08/24 23:28:11.4] ['ini path: D:\\Projects\\kjtsune-embyToLocalPlayer\\embyToLocalPlayer_config.ini']
[09/08/24 23:28:11.4] Windows-10-10.0.26120-SP0 Python-3.10.11
system proxy: http://127.0.0.1:7890
system proxy: http://127.0.0.1:7890
[09/08/24 23:28:13.0] D:\Projects\kjtsune-embyToLocalPlayer\embyToLocalPlayer.py
[09/08/24 23:28:13.0] serving at http://127.0.0.1:58000
127.0.0.1 - - [08/Sep/2024 23:28:15] "POST /embyToLocalPlayer/ HTTP/1.1" 200 -
system proxy: http://127.0.0.1:7890
[09/08/24 23:28:15.0] PyScript/2024.09.03 UserScript/2024.08.26 Tampermonkey/5.1.1
[09/08/24 23:28:15.0] Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36
[09/08/24 23:28:15.0] server=jellyfin/10.8.13 data['mount_disk_mode']=True
[09/08/24 23:28:15.0] command line: ['C:\\Program Files\\DAUM\\PotPlayer\\PotPlayerMini64.exe', '\\\\_hide_user_-NAS\\media1\\link\\tv\\日韩剧\\妈妈朋友的儿子 (2024)\\Season 1\\妈妈朋友的儿子 - S01E08 - 第8集.mkv']
[09/08/24 23:28:15.0] ["xxx._mix_host_:8920 match: playlist[enable_host] ['local', '127.0', '192.168', '192-168-', 'example.com:8096', '.']"]
[09/08/24 23:28:15.0] ['C:\\Program Files\\DAUM\\PotPlayer\\PotPlayerMini64.exe', '\\\\_hide_user_-NAS\\media1\\link\\tv\\日韩剧\\妈妈朋友的儿子 (2024)\\Season 1\\妈妈朋友的儿子 - S01E08 - 第8集.mkv', '/seek=00:00:00', '/title=妈妈朋友的儿子 S1:E8 - 第 8 集  |  妈妈朋友的儿子 - S01E08 - 第8集.mkv', 'config=emby']
[09/08/24 23:28:21.0] skip update progress: key='在开始播放时发生了问题。' _stop_sec=1397424 not in playlist_data
@kjtsune
Copy link
Owner

kjtsune commented Sep 8, 2024

解决方案:

建议换240618版本的 pot,文件 sha256 与 ScoopInstaller 一致。
potplayer-1-7-22286.exe (v240618)
sha256sum 66d03fc13f4949948890675cf62b839b704b542a34a13a180466f93be20d5bc6

如果注释掉添脚本的加标题功能,在未能开启读盘模式(视频文件在本地资源管理器不能看到)时,因为缺失标题回传失败
同时,就算开启读盘模式,如果视频文件内置标题,也一样可能回传失败。建议降级 pot 使用。

@zjjxwhh
Copy link
Author

zjjxwhh commented Sep 9, 2024

你这个文件地址怎么没有盘符的。 FAQ里有写:出错可尝试设置:dev > path_check = yes 会检查文件是否存在。兼容性更高,日志更清楚。(但会慢一点)

地址确定没问题的话,就看FAQ降级pot测试。

没盘符是因为视频文件在局域网的 NAS 上,所以文件路径会变成 \\主机名\media1\...\xxxx.mkv 这样的
配置 path_check = yes 之后拉起 PotPlayer 播放还是报同样的错,日志如下:

[09/09/24 17:06:27.7] ['Python path: C:\\Users\\_hide_user_\\AppData\\Local\\Programs\\Python\\Python310\\python.exe']
[09/09/24 17:06:27.7] ['ini path: D:\\Projects\\kjtsune-embyToLocalPlayer\\embyToLocalPlayer_config.ini']
[09/09/24 17:06:27.7] Windows-10-10.0.26120-SP0 Python-3.10.11
[09/09/24 17:06:29.3] D:\Projects\kjtsune-embyToLocalPlayer\embyToLocalPlayer.py
[09/09/24 17:06:29.3] serving at http://127.0.0.1:58000
127.0.0.1 - - [09/Sep/2024 17:06:37] "POST /embyToLocalPlayer/ HTTP/1.1" 200 -
[09/09/24 17:06:37.0] PyScript/2024.09.03 UserScript/2024.08.26 Tampermonkey/5.1.1
[09/09/24 17:06:37.0] Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36
[09/09/24 17:06:37.0] server=jellyfin/10.8.13 data['mount_disk_mode']=True
[09/09/24 17:06:37.0] command line: ['C:\\Program Files\\DAUM\\PotPlayer\\PotPlayerMini64.exe', '\\\\_hide_user_-NAS\\media1\\link\\tv\\日韩剧\\妈妈朋友的儿子 (2024)\\Season 1\\妈妈朋友的儿子 - S01E08 - 第8集.mkv']
[09/09/24 17:06:37.0] ["xxx._mix_host_:8920 match: playlist[enable_host] ['local', '127.0', '192.168', '192-168-', 'example.com:8096', '.']"]
[09/09/24 17:06:37.0] ['C:\\Program Files\\DAUM\\PotPlayer\\PotPlayerMini64.exe', '\\\\_hide_user_-NAS\\media1\\link\\tv\\日韩剧\\妈妈朋友的儿子 (2024)\\Season 1\\妈妈朋友的儿子 - S01E08 - 第8集.mkv', '/seek=00:00:00', '/title=妈妈朋友的儿子 S1:E8 - 第 8 集  |  妈妈朋友的儿子 - S01E08 - 第8集.mkv', 'config=emby']
[09/09/24 17:06:43.0] skip update progress: key='在开始播放时发生了问题。' _stop_sec=1397424 not in playlist_data

尝试降级到 PotPlayer 240618 (1.7.22260) x64 后播放正常,把鼠标放在播放列表上可以看到文件的路径,对比了下应该是 /title=... 那一段导致的问题🤔最新版本估计是把 /title=.... 那一段也当成文件路径了(最新版本 title 传送方式改了??

旧版本:
image

最新版本:
image


cmd 里直接执行指令试了下,上面一条指令报错,下面一条指令能播放,区别在于 " 的位置,PotPlayer 应该是要求 /title= 后接字符串,但是 subprocess.Popen() 处理的时候是把整个 /title=... 当字符串传进去了

image

@carlosxu312
Copy link

我也遇到这个情况,测试了各种方法都不行,最后我找到代码把传入的标题中的空格都删除后,就成功打开了。应该就是 PotPlayer 新版本代码改动造成的,如果坚持用 PotPlayer 240827 的话,把配置中的 pretty_title 设置成 no 就可以了。

@kjtsune
Copy link
Owner

kjtsune commented Sep 20, 2024

cmd 里直接执行指令试了下,上面一条指令报错,下面一条指令能播放,区别在于 " 的位置,PotPlayer 应该是要求 /title= 后接字符串,但是 subprocess.Popen() 处理的时候是把整个 /title=... 当字符串传进去了

@zjjxwhh 测试了几个办法,暂无法实现。等待别人解决或降级 Pot 使用了。

@retaw
Copy link

retaw commented Oct 4, 2024

问题出在potplayer用title参数指定的内容不能有空格

@retaw
Copy link

retaw commented Oct 6, 2024

昨天看了上面的方案,pretty_title 设置成 no ,一天使用,发现碰到文件名本身就有空格的情况,还是会出一样的问题。
因为问题还是出在 /title 参数指定的内容不能有空格。

研究了一下,目前最佳解决方案,就是不要使用 /title参数。找到players.py文件,注释掉如图的两行代码就行了:
image

ps:
去掉这两行后,用读取硬盘模式,还有个额外收获。
使用读取硬盘模式,potplayer会自动添加同一文件夹下的文件到播放列表,连续看多集也能正确回传播放进度。
只要jellyfin的文件组织还算规整,看电视剧和动漫,就基本就完美规避播放列表传入的问题了。

@kjtsune
Copy link
Owner

kjtsune commented Oct 6, 2024

建议换240618版本,文件 sha256 与 ScoopInstaller 一致。
potplayer-1-7-22286.exe (v240618)
sha256sum 66d03fc13f4949948890675cf62b839b704b542a34a13a180466f93be20d5bc6
github.com/ScoopInstaller/Extras -> potplayer.json
github.com/microsoft/winget-pkgs -> Daum.PotPlayer.installer.yaml

@kjtsune
Copy link
Owner

kjtsune commented Oct 6, 2024

可能相关的情况。
Plex: Pot 网络外挂字幕支持 @zhengsun2020 #64 (comment)

发现这个subprocess.Popen执行不给字幕文件名自动加"" 所以POT不认,如果代码加 "" 自动就转成了 " POT也不认,所以弄一个空格他就自动加 "

if 'Plex-Token' in sub_file:
sub_file = save_sub_file(sub_file, name='pot sub.srt')

@seanlin5651
Copy link

[retaw]的回答很有用,要注释的文件路径(etlp-mpv-py-embed-win32\utils\players.py)

@kjtsune
Copy link
Owner

kjtsune commented Oct 10, 2024

如果注释掉添加标题,在未能开启读盘模式(视频文件在本地资源管理器不能看到)时,会因为缺失标题回传失败。
同时,就算开启读盘模式,如果视频文件内置标题,也一样可能回传失败。建议降级 pot 使用。

if media_title:
cmd += [f'/title={media_title}']

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants