coslyk / moonplayer

Video player that can play online videos from youtube, bilibili etc.
https://coslyk.github.io/moonplayer.html
GNU General Public License v3.0
650 stars 93 forks source link

客户端无权播放 #51

Closed sikenali closed 6 years ago

sikenali commented 7 years ago

大神,我看1.1.5 最新的发布了打包测试了下 deepin下不行啊,这样上架不了啊。5555

ubuntu下面也有问题。 virtualbox_ubuntu_04_09_2017_10_32_49

coslyk commented 7 years ago

你点Upgrade Parser试试? MoonPlayer调用了you-get作后台解析,播放不了是you-get的问题,取you-get的github页面反馈吧。

coslyk commented 7 years ago

@jingle0927 @levinit 我知道问题所在了

新版的MoonPlayer已经使用内建的you-get了,不再使用deb的you-get 如果deb的you-get没卸载掉的话,会覆盖内建you-get的设置,导致MoonPlayer调用旧版you-get 把deb的you-get卸载掉就好了

coslyk commented 7 years ago

我先把ppa源里的you-get删了,避免误操作 准备写个patch解决覆盖的问题

coslyk commented 7 years ago

@levinit 对的,你试试

coslyk commented 7 years ago

Patch: https://raw.githubusercontent.com/coslyk/moonplayer/7c8149e862b93c9235c1809422861736871ee203/src/you_get_patched.py 下载这个文件,替换掉/usr/share/moonplayer/you_get_patched.py试试,看看还有没有覆盖问题

coslyk commented 7 years ago

还是无权播放的提示吗? 点“更新you-get”有没有用

coslyk commented 7 years ago

贴出错提示看看

levinit commented 7 years ago

测试为优酷亮剑(老版本)第一集

关掉播放器,然后替换了你给的py文件还是提示如上。 点击更新you-get没反应,重开测试依然提示如上。

---通过包管理器查看版本 moonplayer是 1.1.5.r204-1 you-get-git是 0.4.803.20170902.1732-1

coslyk commented 7 years ago

python3 -c "import os; print('%s/.moonplayer/you-get/src/' % os.getenv('HOME'))" ls ~/.moonplayer 终端执行这两个命令,结果是什么?

levinit commented 7 years ago

python3 -c "import os; print('%s/.moonplayer/you-get/src/' % os.getenv('HOME'))"

/home/levin/.moonplayer/you-get/src/

ls ~/.moonplayer

plugins  skins

2017-09-05 14-04-43


刚刚升级系统,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
coslyk commented 7 years ago

从那两个命令输出结果来看,你没有点那个“更新解析程序”。。。点了就有内建you-get了

难道说aur里面没把内建you-get的更新程序打包进去?我没有arch测试不了,至少我这里debian是没有问题的

coslyk commented 7 years ago

播放器右键点 更新you-get,之后应当能看到~/.moonplayer/you-get这个文件夹,这个就是内建you-get

levinit commented 7 years ago

@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这些,把生成的包安装到指定位置,你这包里面有的都会有的。

levinit commented 7 years ago

点击更新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文件没有带可执行权限……所以我点了升级没反应?会不会也有这个原因

levinit commented 7 years ago

@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所在?

coslyk commented 7 years ago

@levinit 终于找到问题所在了,非常感谢你辛勤的调试^_^ 个人精力有限没法自己适配那么多linux发行版,抱歉啦

另,点升级没反应,我猜测是因为你用了wayland所以没法执行x-terminal-emulator这个命令?刚更新了一下,内建了终端模拟器,应该没问题了。编译需要libqtermwidget

levinit commented 7 years ago

libqtermwidget这个包在有的发行版可能会叫做qtermwidget(例如arch及其衍生版、slackware、centos及其衍生版。https://pkgs.org/download/qtermwidget 。 请叫我雷锋。

sikenali commented 7 years ago

@coslyk 那我重新拉1.1.7打包试试。

coslyk commented 7 years ago

辛苦啦,谢谢两位~

ls929931823 commented 6 years ago

大神,膜拜大神,又出现以前的那种“客户端无权播放了。2018-01-09还是好好的,到10日就不行了。更新了解析程序也不行。优酷网页做调整了? 提示:Parse failed! URL:http://v.youku.com/v_show/id_XMzA1NzU5MDY0OA==.html">神偷奶爸3

coslyk commented 6 years ago

@ls929931823 you-get太久没更了,我也没办法 打算把后端从you-get换成ykdl了