94 lines
2.9 KiB
Markdown
94 lines
2.9 KiB
Markdown
---
|
||
|
||
# GMapiServer
|
||
|
||
**GMapiServer** 是一个基于 Python 和 Flask 构建的高性能 API 服务器,支持通过 URL 输入文件并输出下载链接,提供异步处理功能,确保主进程不被阻塞。内置缓存自动清理机制(默认保留 2 小时),支持多种工具接口调用。
|
||
|
||
---
|
||
|
||
## 🚀 项目简介
|
||
|
||
**GMapiServer** 是一个轻量级、模块化的 API 服务框架,旨在为开发者提供以下核心功能:
|
||
|
||
- **URL 输入与输出**:支持通过 URL 提交文件,返回生成文件的下载链接。
|
||
- **异步处理**:任务在后台异步执行,不阻塞主进程,提升服务器并发性能。
|
||
- **自动缓存清理**:内置定时清理机制,自动删除过期的缓存文件(包括输出文件),默认保留时间 2 小时。
|
||
- **多工具接口集成**:集成 FFmpeg 和 Sanjuuni 工具接口,支持在线调用。
|
||
|
||
---
|
||
|
||
## 🛠️ 技术栈
|
||
|
||
- **编程语言**: Python
|
||
- **Web 框架**: Flask
|
||
- **异步处理**: 基于 `threading`
|
||
- **缓存清理**: 定时任务
|
||
- **依赖管理**: pip
|
||
|
||
---
|
||
|
||
## 🧩 支持的接口
|
||
|
||
### 1. FFmpeg 工具接口
|
||
- **功能**: 在线调用 FFmpeg 工具进行视频/音频处理(如转码、裁剪、合并等)。
|
||
- **接口文档**: [FFmpegApi 文档](https://www.liulikeji.cn/archives/FFmpegApi)
|
||
|
||
### 2. Sanjuuni 工具接口
|
||
- **功能**: 在线调用 [Sanjuuni 工具](https://github.com/MCJack123/sanjuuni/tree/master)(具体功能需参考其官方文档)。
|
||
- **接口文档**: [SanjuuniApi 文档](https://www.liulikeji.cn/archives/SanjuuniApi)
|
||
|
||
---
|
||
|
||
## 📦 部署与使用
|
||
|
||
### 1. 安装依赖
|
||
```bash
|
||
pip install -r requirements.txt
|
||
```
|
||
|
||
### 2. 启动服务器
|
||
```bash
|
||
python main.py --port 5000
|
||
```
|
||
### 3. 指定公网地址
|
||
```python
|
||
##sanjuuni_utils.py
|
||
return {
|
||
'status': 'success',
|
||
'download_url': f"http://ffmpeg.liulikeji.cn/download/{output_id}/{output_filename}", #外部访问地址
|
||
'file_id': output_id,
|
||
'temp_dir': temp_dir # 返回临时目录路径
|
||
}
|
||
|
||
##ffmpeg_utils.py
|
||
return {
|
||
'status': 'success',
|
||
'download_url': f"http://ffmpeg.liulikeji.cn/download/{output_id}/{output_filename}", #外部访问地址
|
||
'file_id': output_id,
|
||
'temp_dir': temp_dir # 返回临时目录路径
|
||
}
|
||
```
|
||
---
|
||
|
||
## ⏰ 自动缓存清理配置
|
||
- **默认保留时间**: 2 小时
|
||
- **自定义配置**:
|
||
```python
|
||
# 在logging_config.py文件中修改缓存清理时间
|
||
CLEANUP_INTERVAL = 3600 # 清理临时文件的间隔(秒)
|
||
FILE_EXPIRY = 7200 # 文件过期时间(秒)
|
||
```
|
||
---
|
||
|
||
## ⚠️ 注意事项
|
||
1. **文件合法性**: 请确保上传文件符合法律法规,不得用于非法用途。
|
||
2. **缓存文件**: 系统会自动清理过期文件,请及时下载生成的输出文件。
|
||
|
||
---
|
||
|
||
## 📝 贡献与反馈
|
||
欢迎提交 Issue 或 Pull Request!
|
||
如有问题,请联系:[xingluo01@liulikeji.cn] 或 [qq:180877430]
|
||
|
||
---
|