miguelangel-nubla/immich-upload-optimizer
GitHub: miguelangel-nubla/immich-upload-optimizer
这是一个代理工具,通过自动优化Immich上传的图像和视频来减少存储空间占用。
Stars: 263 | Forks: 21
# Immich 上传优化器
## 功能
## 质量
默认情况下,Immich 上传优化器对**图像**使用无损优化,确保图像优化过程中不会丢失任何信息。这意味着在减小文件大小的同时,图像质量保持不变。
如果您希望节省更多存储空间,可以修改优化参数以执行有损优化。这可以显著减小文件大小(约减少 80%),同时保持相同的感知质量。为此,请调整任务命令以使用有损压缩设置。示例请参阅[配置](config/)。
### 图像
您可以使用 [Caesium.app](https://caesium.app/) 在线实时试验不同的质量设置,然后再根据优化器文档修改任务。具体参数请参阅 [Caesium CLI 文档](https://github.com/Lymphatus/caesium-clt)。或者,使用 [Squoosh.app](https://squoosh.app/) 为 [JPEG-XL](https://github.com/libjxl/libjxl) 转换器进行同样的操作。
### 视频
默认情况下,视频转换是禁用的,因为已知的无损视频转码后文件大小不会变小。然而,有损压缩有很多潜力。完整镜像中包含了 HandBrake,请查看如何进行[有损转换](config/profile1/tasks.yaml)。
## 通过 docker compose 使用
1. 更新您的 Docker Compose 配置,以通过代理路由传入的连接:
```yaml
services:
immich-upload-optimizer:
image: ghcr.io/miguelangel-nubla/immich-upload-optimizer:latest
ports:
- "2283:2283"
environment:
- IUO_UPSTREAM=http://immich-server:2283
depends_on:
- immich-server
restart: always
immich-server:
# ...现有配置...
# 移除 ports 部分,以便默认情况下传入请求由代理处理
```
2. 重启您的 Docker Compose 服务:
```bash
docker compose down
docker compose up -d
```
## 可用标志
- `-upstream`:Immich 服务器的 URL(例如,`http://immich-server:2283`)。
- `-listen`:代理监听的地址(默认值:`:2283`)。
- `-tasks_file`:[任务配置文件](TASKS.md)的路径。
- `-filter_path`:用于过滤文件上传的路径(默认值:`/api/assets`)。
- `-filter_form_key`:用于过滤文件上传的表单键(默认值:`assetData`)。
所有标志均可使用 `IUO_` 前缀作为环境变量使用。
## 许可证
本项目根据 MIT 许可证授权。详情请参阅 [LICENSE](LICENSE) 文件。
## 关于此项目
本项目是对 [JamesCullum/multipart-upload-proxy](https://github.com/JamesCullum/multipart-upload-proxy) 原始想法的完全重写。其设计遵循以下关键目标:
- **Immich 的透明代理**
无需 Cloudflare 或具有路径重定向的反向代理,实现无缝集成。
- **可扩展性**
设计为支持任何 CLI 程序或自定义脚本,实现文件处理的自定义工作流。
## 鸣谢
- [JamesCullum/multipart-upload-proxy](https://github.com/JamesCullum/multipart-upload-proxy) 的原始想法。
- [Caesium](https://github.com/Lymphatus/caesium-image-compressor)
- [libjxl](https://github.com/libjxl/libjxl)
- [HandBrakeCLI](https://github.com/HandBrake/HandBrake)
- [Immich](https://github.com/immich-app/immich)
标签:EVTX分析, Immich集成, 上传优化, 云存储, 图像优化, 备份管理, 存储优化, 性能优化, 文件压缩, 无损压缩, 有损压缩, 检测绕过, 版权保护, 自动处理, 视频优化, 请求拦截