# 图片压缩功能详细说明

[返回1.0.4目录](./api.md) | [返回主文档](../../README.md)

## 📋 ly-gateway

todo 更加安全的上传 。目前是空白token
## 方案调研
dockerfile
```bash
ssh 102 "docker exec gateway-prod /opt/ffmpeg-7.0.2-amd64-static/ffmpeg -version" && \
scp /Users/sunyafei/Downloads/azer1/ffmpeg-release-amd64-static.tar.xz  \
102:/home && \
ssh 102 "docker cp /home/ffmpeg-release-amd64-static.tar.xz gateway-prod:/tmp" && \
ssh 102 "docker exec gateway-prod tar -xf /tmp/ffmpeg-release-amd64-static.tar.xz -C /opt/" && \
ssh 102 "docker exec gateway-prod /opt/ffmpeg-7.0.2-amd64-static/ffmpeg -version"     
```
```xml
<dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp</artifactId>
    <version>4.12.0</version>
</dependency>
<dependency>
    <groupId>com.squareup.okio</groupId>
    <artifactId>okio</artifactId>
    <version>3.6.0</version>
</dependency>

<!-- 对 minio-spring-boot-starter 进行更精细的依赖管理 -->
<dependency>
    <groupId>com.leying</groupId>
    <artifactId>minio-spring-boot-starter</artifactId>
    <version>${ly.minio.version}</version>
    <exclusions>
        <exclusion>
            <groupId>com.squareup.okhttp3</groupId>
            <artifactId>okhttp</artifactId>
        </exclusion>
        <exclusion>
            <groupId>com.squareup.okio</groupId>
            <artifactId>okio</artifactId>
        </exclusion>
    </exclusions>
</dependency>
```
```yaml
# Spring配置
spring:
  # 文件上传
  servlet:
    multipart:
      # 单个文件大小
      max-file-size: 1000MB
      # 设置总上传的文件大小
      max-request-size: 2000MB
leying:
  minio:
    enabled: true
    endpoint: "https://oss.dev1.ipykj.com"
    access-key: "dev1"
    secret-key: "dev1@100%"
    bucket: "dev1-bucket"

video:
  compression:
    enabled: true  # 视频压缩功能开关
    ffmpeg:
      path: ${FFMPEG_PATH:/Users/sunyafei/workspace/app/ffmpeg/ffmpeg}
      temp-dir: ${TEMP_DIR:/tmp/video_compress}
      max-concurrent: ${MAX_CONCURRENT_PROCESSES:2}

    defaults:
      crf: 23
      preset: slow
      profile: high          # 新增：baseline, main, high
      level: "4.1"          # 新增：编码级别
      audio-bitrate: 128k
      max-width: 1920
      max-height: 1080
      enable-smart-scaling: true
      two-pass-encoding: false
      output-format: mp4
```
```bash
server {
    listen 443 ssl;
    server_name  lygateway.ilyixy.com;
    client_max_body_size 1000m;
}
```
```bash
curl --request POST \
  --url https://lygateway.ilyixy.com/prod-api/openapi/oss/upload \
  --header 'Accept: */*' \
  --header 'Accept-Encoding: gzip, deflate, br' \
  --header 'Authorization: eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjM5MTRlNjY1LTE0Y2ItNDE2Ny1hYTYzLTIzMGFjM2M2MjJiNyJ9.r7_bTyQ0qUKFFps1m1Cti701WhoGMZF_ku6stJxucUqwa-nCekbvI2MJtraZqaxhgpPPt5oWBh4raJzShC6mYA' \
  --header 'Connection: keep-alive' \
  --header 'User-Agent: PostmanRuntime-ApipostRuntime/1.1.0' \
  --header 'content-type: multipart/form-data' \
  --form 'file=@[object Object]'
```
```json
{
	"msg": "操作成功",
	"fileName": "lygateway/videos/2025/12/22/1766372440371_video(5).mp4",
	"code": 200,
	"ossUrl": "https://oss.dev1.ipykj.com/dev1-bucket/lygateway/videos/2025/12/22/1766372440371_video(5).mp4",
	"newFileName": "1766372440371_video(5).mp4",
	"url": "lygateway/videos/2025/12/22/1766372440371_video(5).mp4",
	"originalFilename": "video(5).mp4"
}
```
## 🔗 相关文档
更新日志
[返回主文档](../../README.md)

*功能版本: 1.0.4-SNAPSHOT | 最后更新: 2025-12-22*