回想一下,用OneDrive网盘用来当做媒体播放器是很久以前的事儿了。国内的网盘越来越大,速度也有保证,所以放弃了OneDrive,投靠了天翼云的怀抱。
可能是注册的天翼云比较早吧,10T的空间比OneDrive的5T大了一倍。
CTList
偶然发现了CTList,记得是去年的事情吧,当时也没有别的解决方案,于是采用了CTList
。
于是按照说明安装了程序。
然后,发现了一些没有解决的问题:
- 没有办法解析Markdown文件,比如
README.md
; - 视频可以播放,但是有很多问题,比如解码能力有限、无法外挂字幕等;
于是为了解决这两个问题,找到了替代的解决方案。
Markdown解析
采用现有的JS包Marked在前端解析README.md
,只要把README.md
文件的路径用GET
方法得到内容,就直接用marked(data)
来渲染就可以了。
有个小问题,就是页面打开后,JS是异步获取文件内容的,所以有1-2秒(取决于网络质量)的延迟,才能显示README.md
文件的内容。
不过不太影响使用。
第三方媒体播放器
既然网页播放器有诸多问题,那就调取第三方视频播放器MXPlayer来播放视频。
做了很多搜索工作,最终确定了在手机端(安卓)用MXPlayer
来播放视频。
只要在手机上安装了MXPlayer
,就可以在网页中,用类似下面的intent
方法来拉起MXPlayer
,并且把视频的URL和名字传送过去:
1 | mxintent = 'intent:' + url + '#Intent;package=com.mxtech.videoplayer.ad;type=' + type + ';S.title=' + name + ';end'; |
直接跳转到上面的地址,就可以拉起MXPlayer
并播放视频。
关于type参数,最开始是没有的。没有type参数导致的问题是,如果视频网址中有多个点
.
(可能是不能超过20个),就会导致MXPlayer无法播放视频,会跳转到MXPlayer在Google Play(谷歌商店)的软件下载页面。
在问了官方之后,官方建议使用type参数来解决这个问题。
需要注意的是,video/*
不要直接写在JS代码中,可能是因为/*
连在一起,在JS中是注释标记,此标记后面的JS代码就都会被当做注释不再执行。
于是这个CTList解决方案使用了一年左右,没有什么大的问题。
PanIndex
前几天刚刚接触了PanIndex,作者不只是适配了天翼云,包括阿里云盘、OneDrive等都完成了适配。
简单的说说使用了这几天的问题。
PanIndex拉取文件的时候,是按照最后修改时间降序排列的,导致的问题就是无法按照文件名显示文件;(2.0.5版本已经可以在前端完成排序)- 还是只有网页播放器,需要解决其播放能力的问题;
拉取文件可能有问题,偶尔会出现重名,就是同一个文件显示两次。可能是BUG?偶尔会出现。(这个是浏览器本地缓存的问题)
至于播放器问题,还是上面的办法,加一个按钮跳转过去就行了。
另外不想看到.ASS
和.SRT
字幕文件,所以用点简单的办法在前端隐藏了。
两种解决方案都先用着,看看哪个先坚持不下去~
至于这两种方案的做出来的成品的网址,就不分享了,我怕到时候真的被天翼云给限速了。
写在最后
- 天翼云用了7T空间了,剩下的空间都比阿里云的总空间大;
- 可惜天翼云每天上传的文件大小有限制,不超过15G(开黄金会员不超过200G);
- 阿里云盘今年才开始用,永久空间只有2T,跟百度云一个样;
- 好像非电信宽带使用天翼云速度不理想?没怎么测试过。
最后更新日期2021.08.27