[BUG] 网页端的 VLC 播放按钮在 Windows 和 Android 下均无法正常打开视频 #2878
Unanswered
ReRokutosei
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
问题描述:
在 OpenList 视频预览页面点击
VLC 播放器图标跳转播放时,在 Windows 和 Android 端均会无法打开视频:vlc://协议响应,结果无响应;直接拖拽 url 到播放器内,报错VLC 无法打开 MRL「vlc://https//myopenlist.example.com/video.mkv?sign=xxx=:0」简单排查:
查看了前端
OpenList-Frontend的src/pages/home/previews/video_box.tsx,其中给 VLC 定义的链接模版为:与之关联的是:
浏览器处理导致链接变异:
当视频直链是
https://...时,前端拼接出vlc://https://...,浏览器会自动剥离第二个冒号,生成畸形链接vlc://https//example.com/video.mkvVLC 播放器:
再查阅 VLC 3.0.23 源码
modules/access/idummy.c得知,vlc://在 VLC 中是专属于 Dummy 伪输入插件的内置控制指令,并非网络播放协议:VLC 拿到
vlc://https//...找不到对应指令,则报错idummy error: unknown commandWindows 端茶件 Handler:
查阅
northsea4/vlc-protocol的源码发现,插件作者对浏览器剥离冒号的行为进行硬编码修复:vlc://。vlc://协议,导致畸形链接传递给安卓 VLC 后播放失败因此,想请教一下开发者大佬,针对目前的情况,前端
video_box.tsx的唤起逻辑是否有更好的处理或兼容方式?org.videolan.vlc):intent:$durl#Intent;package=org.videolan.vlc;type=video/*;S.title=$name;end这样是否可行?目前点击 OpenList 视频预览页面的「安卓图标」按钮再选择 VLC 是可以正常播放的;
日志:
由于存在类似 issue #2256 #2258,但这两个 issue 未提供附加调查信息或解决方案,因此我新开 discussion
All reactions