Nextcloud 对我而言就是一个能即时备份手机的照片及视频的 APP,大部分时间浏览照片还是用本地相册和 Google Photos 为主,不过工作上偶尔需要用到一些比较久的截图,还是得在 Nas 上才能找到。由于 Nextcloud 上传完照片及视频后,不会主动生成缩略图,只有首次浏览某个目录的时候,才会触发 Nextcloud 生成缩略图的动作。如果较急的时候,就是一个漫长又痛苦的过程,所以得提前生成好缩略图,提高浏览图片或视频时的体验。
照片缩略图
登录后台,找到并安装 “Preview Generator” 插件,然后通过 ssh 连接 Nas 运行命令(注意 Nextcloud 所在的路径)。
#扫描所有图片并生成缩略图
sudo -u www php /www/wwwroot/nextcloud/occ preview:generate-all -vvv
#扫描最新文件并生成缩略图
sudo -u www php /www/wwwroot/nextcloud/occ preview:generate -vvv
#设置定时任务,在指定时间生成缩略图
crontab -e -u www
0 3 * * * php -f /www/wwwroot/nextcloud/occ preview:pre-generate -vvv
如果照片特别多,还是在空闲的时候在后台慢慢生成了,我用了一天一夜都没跑完。
视频缩略图
Nextcloud 默认是不能生成视频缩略图的,有时候只能打开后才知道是什么内容,这样带来很大不便。不过可以安装一个 FFmpeg,为视频文件生成缩略图。
sudo yum install ffmpeg
sudo service nginx restart
以宝塔为例,还需要在 php 禁用函数里删除 exec、system 两个函数。然后在 config 目录下的 config.php 添加:
'enabledPreviewProviders' =>
array (
0 => 'OC\\Preview\\PNG',
1 => 'OC\\Preview\\JPEG',
2 => 'OC\\Preview\\GIF',
3 => 'OC\\Preview\\HEIC',
4 => 'OC\\Preview\\BMP',
5 => 'OC\\Preview\\XBitmap',
6 => 'OC\\Preview\\MP3',
7 => 'OC\\Preview\\TXT',
8 => 'OC\\Preview\\MarkDown',
9 => 'OC\\Preview\\Movie'
),
刷新页面,就能看到视频缩略图已经生成,不过有点奇怪的是,一些较短的视频还是无法生成缩略图。
有国外的VPS架设了一个,装了app,无奈网速太慢,放弃……
那样还不如阿里云主机搭配 oss?不过还是自己组一台合适,哈哈,也不贵。