网上自己想办法去找账号
反正就是网上有人提供教育邮箱,申请一个学生账号,会给一个5T的网盘。
关键是5T网盘是免费的,能用多久不太清楚,网上也找不到实用的东西。
不过这种网盘是有管理员账号的,管理员可以查看网盘上的所有资料,所以公共的东西放上去就行了,私人的照片最好不要往上扔。
解决方案
方案一:Aria2 下载到本地,oneindex上传至OneDrive,在线播放也是oneindex。
方案二:或者 Aria2下载到本地,rclone把OneDrive挂载到本地,然后用mv命令移动到OneDrive,在线播放还是oneindex。
方案三:rclone把OneDrive挂载到本地,然后Aria2的下载地址就用这个挂载到本地的路径,比如
/mnt/OneDrive
。方案四:这个方案是我瞎弄的,可能流程都有问题。先用Aira2下载到本地,rclone把OneDrive挂载到本地,本地用samba共享下载盘和OneDrive,然后用Windows访问两个共享文件夹,把下载盘的东西复制到OneDrive。
四种解决方案都有问题
首先是方案一,用oneindex上传至OneDrive确实方便,但是如果是大文件的,上传时间会比较长,它是调用起一个php进程用来上传,每个进程理论上互不影响,也就是说可以同时上传多个文件,每个文件占用一定的内存和CPU来处理。
所以问题就来了,方案一是Aria2下载完成后自动执行上传脚本,(我目前只测试了单个文件上传,没有测试上传整个文件夹。)如果你晚上睡觉前一下子给Aria2挂了几十个任务,都是电影,每个电影的大小都在2G以上,然后第一个电影下载完了,会调起一个php进程,紧接着又下载完成一个,就又会调起一个php进程,由于国内的宽带上传都是小水管,4M/s恐怕已经是最高速度了,两个php进程会平分这一点点带宽,拖慢上传速度。更要命的是,紧接着又下载完成了几个任务,就又会调起一些php进程来瓜分带宽、内存和CPU。到最后一晚上恐怕服务器已经挂掉,一个也上传不成功。
方案二也是同样的问题。
方案三直接Aria2没有速度。
方案四复制的电影不能解码,可能是操作问题?不确定。
所以我想到一个改进的方案。
新的改进方案
前面已经安装了Aria2和AriaNg了,这里不再多说。
项目网址:oneindex
界面示例:Demo
用oneindex上传成功率是非常高的,上传的命令是php /path/to/your/oneindex/one.php upload:file /the/local/path/test.mp4 /upload/
- 第一个参数是
php
,是你本地已经安装好php,并配置好了php的环境变量,如果没有配置环境变量,那么就需要用php的绝对路径了。 - 第二个参数是oneindex的安装目录,最好不要用项目网址上推荐的安装办法,用docker安装的可能还不好管理,我认为。
- 第三个参数是upload:file,这是固定的格式。
- 第四个参数是要上传的文件路径,只要能找到对应的文件就可以,可以相对路径,也可以绝对路径。
- 第五个参数是要上传到OneDrive的目标路径。
直接命令行执行会输出如下:
1 | 本地文件:/the/local/path/test.mp4 |
该上传文件的大小大概是2G
于是结合前面的方案一和方案二,有了新的方案。
首先,下载完成后执行脚本把下载完成的文件,移动到另一个目录,用脚本完成。
脚本内容如下:
1 |
|
这样的速度是非常快的,一般电影2-10G,本地磁盘之间移动非常快。理论上不存在占用CPU或者内存过多的情况。
可以把这个文件保存成move.sh
,随便放到哪个目录都可以,添加执行权限chmod +x move.sh
。
然后在aria2的配置文件中,最下边加入on-download-complete=/path/to/move.sh
。
重启aria2c即可。
然后,借助宝塔面板,定时执行Shell。
把上传脚本放进去,定时执行。比如每天执行一次。
脚本内容如下:
1 |
|
该脚本会遍历中转目录中的所有文件,所有大于200M的文件都会上传,上传完成后删除。
如果想要上传所有文件,可以把200M的判断条件删除。
这个脚本的好处就是,只会执行一次,只有一个php进程,一次只上传一个文件,上传完成后再会上传下一个。
脚本执行的时间间隔不建议太短,比如10分钟执行一次,可能上一次的脚本还没有执行完。
为什么这个脚本不直接上传aria2下载目录的文件,为什么要一个中转目录?
你总不想让Aria2还没有下载完成,脚本就上传吧哈。
这个方案并不是百分百能成功的,不过这不是这个脚本的锅吧,我感觉。
昨天上传一部电视剧冰血暴的时候,就出现了上传不全的问题,不知道问题出在哪里。
日志如下:
1 | 本地文件:/home/upload/冰血暴.Fargo.S01E03.中英字幕.WEB-HR.AC3.1024X576.x264.mkv |
乱码就是上传出问题的那几个文件
我检查了OneDrive,也没有看到有临时文件,所以不知道为啥出了问题。
播放软件有个致命的问题
当然这也不是oneindex的问题,所有的浏览器播放方案中应该都有这个问题。
oneindex播放.mkv
格式的文件没有声音。
网上查了相关的资料,说是一部分.mkv
格式的电影使用的音频编码是特殊的AC3
,所以没有声音,额外的,可能视频编码H265(HEVC),播放黑屏,可能切成DPlayer也是一样的问题。
这是html5的问题,不是oneindex的问题。
所以有大量mkv电影的人要仔细考虑要不要上传了,没有声音就只能下载到本地才能播放了。
还有,希望作者能加入搜索功能。上传的文件太多了,找文件不头疼么。
非要用这个网盘的目的
既然有这么多不便,为什么还非要用这个网盘?
大费周张的找资源,先下载到本地,然后再上传到OneDrive。
可是你有没有发现这个用来分享非常方便。
即使是mkv文件不能在线播放,它下载的速度可不像百度云那么坑,基本上浏览器下载也是满速的。
现在百度云分享有限制,敏感资源根本分享不出去;115你懂的,不花钱就算了吧;别的网盘该倒的也早就倒了,你还想用迅雷?旋风?还是360?都是一个德性。
而且这个网盘是高度个性化的。用用就知道有多方便了。
Emby也可以分享,但是仅是针对本地磁盘上的吧。
我用rclone把OneDrive加载到了本地,然后Emby添加了这个目录,里面的视频能看到,但是要打开观看速度就非常感人了,基本上都在转圈。主要我的Emby服务器是内网穿透出来的,可能速度也会大打折扣。
Emby服务器太占内存了,不用的时候都占20%左右,更不要说播放视频的时候了。
需要服务器解码视频,当然要占内存,没办法。