EFV智能云转码子系统分离计划:独立通用自动监听同步系统,自定义监听后缀,同步完成删除,失败自动重试等

分布式云转码

2022-04-06T03:16:30.943Z

EFV智能云转码的总代码行数已经超过2万行了,有一些比较重要的子系统我也准备慢慢分离出主程序,作为独立的简短小巧的程序运行,并且自由度比主程序中的组件自由度要高的多,今天我就来介绍这次分离出来的独立全自动监听同步系统。

全自动监听同步系统:

一、支持minio,s3,阿里OSS,又拍云,七牛云,wasabi基本涵盖国内外所有知名云储存厂商,根据自己需要选择适用的云储存。
二、可自由配置监听目录,就算不用于EFV的切片同步,也可以用于纯净版或者其他任何想要监听同步的目录。
三、自由设置过滤后缀,可设置任意多的过滤后缀名,这些后缀名的文件不会自动同步到云储存中,对于一些不需要同步至云储存的文件非常有用,例如使用EFV自带的CMS中的分发功能,则只需要同步TS文件到云储存即可,所有其他图片和m3u8文件就可以添加到过滤中。
四、自由设置是否同步完成删除源文件,这个功能非常有用,监听EFV的public/videos文件夹,转码完成一瞬间,就自动将需要同步的文件同步至云储存,并且删除源文件,节省空间,这个是对接云储存非常重要的一步。
五、自由设置同步完成删除文件过滤,可以自由设置同步完成之后删除源文件是否过滤一些后缀,这些后缀的文件就算同步完成也不会删除掉,对于想全部文件同步至云储存,又想使用EFV的分发功能,就可以设置过滤掉m3u8等后缀自动同步完成不进行删除。
六、整个系统完成度极高,文件同步失败自动重试,云储存存在相同文件不进行同步,系统出错自动重启,完全全自动,并且不影响EFV转码的主程序。

案例介绍:

使用EFV自带高级CMS进行运营(tip:目前EFV的CMS已经进化到2.0时代,后面我会写更新日志及优化的项目。),分发设置中使用云储存的域名,要求同步ts文件和jpg,png,gif,mp4等到云储存,并且保留jpg,png,gif在服务器中,删除掉同步完成的ts文件,最后不同步m3u8文件。

设置截图

详解

ignored就是过滤某些后缀不进行同步,这里设置的是所有m3u8都不同步到云储存。
remove是设置自动同步完成之后是否删除源文件,这里设置的是true,就是自动同步完成之后要删除源文件。
removeignored是指自动同步完成之后删除文件中是否过滤某些文件不进行删除。这里设置的是jpg,png,gif,也就是图片和动态图片在同步完成之后不删除。

流程介绍

首先,程序判断不同步m3u8文件,则跳过监听所有m3u8文件,然后开始监听所有文件夹变化,一旦发现有新的切片出现,则开始进行同步,同步完成之后根据是否自动同步完成删除源文件设置知道了要删除源文件,于是每一个文件同步完成就删除文件,但是根据删除过滤文件判断,有一些文件就算设置了同步完成自动删除也无需删除,这些文件就是jpg,png,gif等图片,于是跳过删除这些图片,整个流程完成。