云存储同步详细设置
一般我们转码后,有的对播放速度不满意,除了使用CDN
加速外,还可以将切片上传到其它服务器、阿里云OSS
、七牛云或者其他云存储进行加速。
目前已支持以下存储:
亚马逊S3,也适用于接口支持AWS S3的存储服务
Minio存储,适用于同步到其它服务器
Cloudflare R2
华为云
七牛云
阿里云OSS
腾讯云OSS
又拍云
Wasabi
Bunny
Google Cloud Storage
Azure Blob Storage
同步步骤
同步期间会记录同步日志,再次同步的时候,会跳过已同步的切片;如果想重新同步,可先批量清空同步日志,程序会重新扫描并同步。
且每个文件上传失败默认有3
次重试次数,如果3
次依旧失败,则该文件在本次扫描不会再次上传,直到下次重新扫描会再次尝试上传。
操作步骤
先前往EFV
后台左侧 ⇒ 转码相关 ⇒ 云储存设置,添加对应的云存储,然后开启同步。
同步参数
云存储需要的同步参数在每个类型添加页面都有说明,这里说一下比较难找的几个。
S3
的endpoints
参考 ⇒ 点击查看。
Wasabi
的endpoints
参考 ⇒ 点击查看,基本上组成就是s3.region.wasabisys.com
。
CF R2
的endpoints
参考 ⇒ 点击查看,基本上组成就是https://ACCOUNT_ID.r2.cloudflarestorage.com
。
Minio
存储需要在接收同步的服务器上安装Minio
,安装教程 ⇒ 点击查看;还需要让转码服务器
和Minio服务器
的时间一致,不然同步会失败,可使用date
命令进行时间查看。
如果两台服务器时间不一样,可以分别在ssh
客户端运行命令改一下:
rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#查看修改后的时间
date
如何查看视频是否已同步
前往视频管理,先去标题栏把是否已同步
调出来,方便标题栏查看。
然后点击其它筛选
,选择已同步的视频
即可。
如何批量清空视频同步记录
前往视频管理 ⇒ 其它筛选,选择已同步的视频
,然后批量选择,点击下方批量清空同步记录
即可
最后清空后,同步监听会重新自动同步这些视频。
同步日志查看
使用SSH
客户端,比如Xshell
软件,登录服务器,再使用命令:
pm2 log efvasync
修改监控间隔时间
目前默认间隔3
分钟,先编辑helper/newcloud.js
文件,需要修改代码await agenda.every("3 minutes", "auto async")
,修改如下:
#分钟单位minute,且大于1分钟用minutes
1 minute
2 minutes
3 minutes
#秒钟单位,比如20秒
20 seconds
#如果我要修改为30秒,则具体代码
await agenda.every("30 seconds", "auto async");
根据自行情况进行相关修改,不建议改太低,否则会占用资源;修改完重新开启同步即可。
如何加快同步速度
提示:机器性能一般的默认即可,不然上传太猛服务器容易崩掉,或者被云存储服务商限制,导致上传出错,不是太赶速度就微调下即可。
目前同步原理就是,按时监听未同步的视频,然后每次只处理2
个未同步视频,处理该未同步视频的时候,每次同时上传5
个切片,依次传完。
如果你的视频量大,且都是长视频,并且同步远远赶不上秒切速度,则可以修改如下配置进行同步加速,编辑helper/newcloud.js
文件,修改如下:
#同时处理未同步的视频数,默认2
asyncMapLimit(unAsyncFiles, 2, async (file)
#处理每个未同步的视频的时候,每次上传的切片数,默认5
await asyncMapLimit(files, 5, async (file)
最后修改完毕后,重新点击开启同步就行了。