# m3u8sync
**Repository Path**: asgards/m3u8sync
## Basic Information
- **Project Name**: m3u8sync
- **Description**: 基于nginx的m3u8文件同步服务,可用于srs的m3u8同步或其他m3u8同步
springboot服务,配置好后由它下载,并回调结果
支持失败重试
- **Primary Language**: Java
- **License**: MIT
- **Default Branch**: master
- **Homepage**: https://blog.csdn.net/jview
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2022-07-02
- **Last Updated**: 2022-08-20
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# m3u8sync Sync m3u8 files by nginx
* 需要把m3u8文件挂到nginx下,以提供对外下载(可以在防火墙配IP白名单)
* 可以开启nginx gzip压缩
## 使用场景
* m3u8视频备份或同步
* 跨区同步,网络不太好的情况
* 内存要求低,64M内存就可以运行
* 支持nginx文件全理同步,可用于物联网数据同步
## m3u8sync主服务
* 基于nginx下载的m3u8同步服务,可用于跨地域同步,网络差的情况。
* 支持nginx的gzip,即下载时可走gzip模式,以降低流量。
* 支持按单个m3u8进行同步。
* 支持ts已下载只检查大小一致就不再重新下载,即m3u8下载一半出错,则下次已完成不会重新下载。
* 支持ts下载不全,则删掉重新下载。
* 支持m3u8的所有ts全部下载完成后回调服务,回调失败可多次回调。
* 下载未完成,失败次数超过5次的,不再下载,加入异常队列
* 异常队列每小时重新加入下载队列,以便于重新下载。
* 下载完成后进行回调通知,回调失败也当做异常,加入异常队列
* 直到下载完成,并进行回调通知,才从下载队列删除。
* 支持nginx开启文件列表时,按列表递归同步所有子目录以及所有件(可用于同步任何文件,含非m3u8)。
* 支持arm服务器(比如树莓派4b),内存要求小,64M内存也能跑起来
## m3u8sync-call-demo调用服务示例(支持回调)
* 增加同步时可传入回调接口地址。
* 下载完成后,按传入的回调接口地址进行回调通知。
# 支持两种模式
## 单体模式(支持集群)
## 中继模式(各relay层支持集群)
