Closed sikenali closed 6 years ago
你点Upgrade Parser试试? MoonPlayer调用了you-get作后台解析,播放不了是you-get的问题,取you-get的github页面反馈吧。
@jingle0927 @levinit 我知道问题所在了
新版的MoonPlayer已经使用内建的you-get了,不再使用deb的you-get 如果deb的you-get没卸载掉的话,会覆盖内建you-get的设置,导致MoonPlayer调用旧版you-get 把deb的you-get卸载掉就好了
我先把ppa源里的you-get删了,避免误操作 准备写个patch解决覆盖的问题
@levinit 对的,你试试
Patch: https://raw.githubusercontent.com/coslyk/moonplayer/7c8149e862b93c9235c1809422861736871ee203/src/you_get_patched.py 下载这个文件,替换掉/usr/share/moonplayer/you_get_patched.py试试,看看还有没有覆盖问题
还是无权播放的提示吗? 点“更新you-get”有没有用
贴出错提示看看
测试为优酷亮剑(老版本)第一集
Parse failed!
URL:http://v.youku.com/v_show/id_XMTAyMDIyNzY4.html
Traceback (most recent call last):
File "/usr/share/moonplayer/you_get_patched.py", line 16, in <module>
import you_get
ModuleNotFoundError: No module named 'you_get'
关掉播放器,然后替换了你给的py文件还是提示如上。 点击更新you-get没反应,重开测试依然提示如上。
Parse failed!
URL:http://v.youku.com/v_show/id_XMTAyMDIyNzY4.html
you-get: 客户端无权播放,201
---通过包管理器查看版本 moonplayer是 1.1.5.r204-1 you-get-git是 0.4.803.20170902.1732-1
python3 -c "import os; print('%s/.moonplayer/you-get/src/' % os.getenv('HOME'))" ls ~/.moonplayer 终端执行这两个命令,结果是什么?
python3 -c "import os; print('%s/.moonplayer/you-get/src/' % os.getenv('HOME'))"
/home/levin/.moonplayer/you-get/src/
ls ~/.moonplayer
plugins skins
刚刚升级系统,you-get今天推了个升级,可以看优酷了!(不过你这内置的you-get还是被用户安装的you-get给优先覆盖了吧?)
[levin@Arch-HP >> ~] $ pacman -Q you-get-git
you-get-git 0.4.803.20170905.1734-1
刚刚使用了下浏览器扩展,在优酷用扩展打开moonplayer播放视频会提示parse failed
Parse failed!
URL:http://v.youku.com/pad_show/id_XMzAwMzMzNzQ0NA==.html?spm=a2hww.20023042.m_223465.5~5~5~5~5~5~A&source=http%3A%2F%2Fyouku.com%2F
you-get: Cannot fetch vid
从那两个命令输出结果来看,你没有点那个“更新解析程序”。。。点了就有内建you-get了
难道说aur里面没把内建you-get的更新程序打包进去?我没有arch测试不了,至少我这里debian是没有问题的
播放器右键点 更新you-get,之后应当能看到~/.moonplayer/you-get这个文件夹,这个就是内建you-get
@coslyk 点了的,点了也没有下载,还是空空如也的。在/usr/share/moonplayer下面有这个文件的,不过好像并没什么用……没有安you-get情况会提示
File "/usr/share/moonplayer/you_get_patched.py", line 16, in <module>
import you_get
ModuleNotFoundError: No module named 'you_get'
安装了就能用了。 aur打包是把你的代码下载下来,然后执行make这些,把生成的包安装到指定位置,你这包里面有的都会有的。
点击更新you-get是不是执行了你代码文件夹src中的upgrade-you-get.sh这个脚本?这个脚本在/usr/share/moonplayer/里面是有的。
我看了下这个sh代码,# Download latest version里面有一句`$DOWNLOADER you-get.zip "https://github.com/soimort/you-get/archive/develop.zip",这个$DOWNLOADER变量值"wget -q -O",也就是说在下载是会执行
wget -q -O you-get.zip https://github.com/soimort/you-get/archive/develop.zip
对吗?可能是我没安装wget的缘故(arch不带wget,我也没用wget,现在才发现)……建议这里也用curl取代wget(我看上面mac就是用的curl下载) 我手动下在这个you-get.zip,解压放到~/.moonplayer下,没安you-get也能播放了。
另外,我发现这个sh文件没有带可执行权限……所以我点了升级没反应?会不会也有这个原因
@coslyk 我单独执行了一下这个upgrade-you-get.sh文件,报了一句错误,就是第51行
python -c "import sys, json; print json.load(sys.stdin)['commit']['sha']"
你这里print用的py2的写法,arch默认的是py3,我加上了括号,
python -c "import sys, json; print(json.load(sys.stdin)['commit']['sha'])"
再单独执行这个文件,you-get下载成功,可能这就是bug所在?
@levinit 终于找到问题所在了,非常感谢你辛勤的调试^_^ 个人精力有限没法自己适配那么多linux发行版,抱歉啦
另,点升级没反应,我猜测是因为你用了wayland所以没法执行x-terminal-emulator这个命令?刚更新了一下,内建了终端模拟器,应该没问题了。编译需要libqtermwidget
libqtermwidget这个包在有的发行版可能会叫做qtermwidget
(例如arch及其衍生版、slackware、centos及其衍生版。https://pkgs.org/download/qtermwidget 。 请叫我雷锋。
@coslyk 那我重新拉1.1.7打包试试。
辛苦啦,谢谢两位~
大神,膜拜大神,又出现以前的那种“客户端无权播放了。2018-01-09还是好好的,到10日就不行了。更新了解析程序也不行。优酷网页做调整了? 提示:Parse failed! URL:http://v.youku.com/v_show/id_XMzA1NzU5MDY0OA==.html">
@ls929931823 you-get太久没更了,我也没办法 打算把后端从you-get换成ykdl了
大神,我看1.1.5 最新的发布了打包测试了下 deepin下不行啊,这样上架不了啊。5555
ubuntu下面也有问题。