feat: 实现真实素材AI分类和视频质量评估 #19

Merged
xiaoxia merged 9 commits from feature/ai-classification-quality into develop 2026-06-26 21:11:06 +08:00
Owner

功能说明

实现真实的素材 AI 分类和视频质量评估功能,替代原有的 Mock 实现。

新增功能

1. 视频素材分析器 (asset_analyzer.py)

基于 FFmpeg + NumPy 的轻量级智能分析,不依赖外部 AI API。

分类功能 (多维度分析):

  • 色彩分布分析 (HSV 空间) - 绿色=风景,暖色=美食,冷色=科技
  • 画面运动分析 - 高运动=运动/动物,低运动=产品/科技
  • 音频特征分析 - 人声频率=人物,音乐节奏=音乐,自然音=风景

分类类别

  • scenic (风景)、product (产品)、person (人物)
  • animal (动物)、food (美食)、tech (科技)
  • sport (运动)、music (音乐)、other (其他)

2. 质量评分 (5 维度,满分 100)

  • 分辨率得分 (25分) - 4K=25, 1080p=20, 720p=15, 480p=8
  • 帧率得分 (20分) - 60fps+=20, 30fps=15, 24fps=10
  • 码率得分 (20分) - >10Mbps=20, 5-10Mbps=15, 2-5Mbps=10
  • 清晰度得分 (20分) - Laplacian 方差评估
  • 稳定性得分 (15分) - 帧间位移方差

代码修改

  1. 新增 apps/worker/worker_app/tasks/asset_analyzer.py - 核心分析模块
  2. 修改 apps/worker/worker_app/tasks/classification.py - 调用真实分类
  3. 修改 apps/worker/worker_app/tasks/ingest.py - 添加质量评分计算
  4. 修改 requirements.txt - 添加 numpy 和 scipy 依赖

技术特点

  • 不依赖外部 AI API,降低成本
  • 使用 FFmpeg 提取帧和音频数据
  • 使用 NumPy/SciPy 进行矩阵运算
  • 完整的错误处理和 fallback 机制
  • 合理的置信度评分 (0.3-0.95)
## 功能说明 实现真实的素材 AI 分类和视频质量评估功能,替代原有的 Mock 实现。 ### 新增功能 #### 1. 视频素材分析器 (`asset_analyzer.py`) 基于 FFmpeg + NumPy 的轻量级智能分析,不依赖外部 AI API。 **分类功能** (多维度分析): - 色彩分布分析 (HSV 空间) - 绿色=风景,暖色=美食,冷色=科技 - 画面运动分析 - 高运动=运动/动物,低运动=产品/科技 - 音频特征分析 - 人声频率=人物,音乐节奏=音乐,自然音=风景 **分类类别**: - scenic (风景)、product (产品)、person (人物) - animal (动物)、food (美食)、tech (科技) - sport (运动)、music (音乐)、other (其他) #### 2. 质量评分 (5 维度,满分 100) - 分辨率得分 (25分) - 4K=25, 1080p=20, 720p=15, 480p=8 - 帧率得分 (20分) - 60fps+=20, 30fps=15, 24fps=10 - 码率得分 (20分) - >10Mbps=20, 5-10Mbps=15, 2-5Mbps=10 - 清晰度得分 (20分) - Laplacian 方差评估 - 稳定性得分 (15分) - 帧间位移方差 ### 代码修改 1. **新增** `apps/worker/worker_app/tasks/asset_analyzer.py` - 核心分析模块 2. **修改** `apps/worker/worker_app/tasks/classification.py` - 调用真实分类 3. **修改** `apps/worker/worker_app/tasks/ingest.py` - 添加质量评分计算 4. **修改** `requirements.txt` - 添加 numpy 和 scipy 依赖 ### 技术特点 - 不依赖外部 AI API,降低成本 - 使用 FFmpeg 提取帧和音频数据 - 使用 NumPy/SciPy 进行矩阵运算 - 完整的错误处理和 fallback 机制 - 合理的置信度评分 (0.3-0.95)
xiaoxia added 7 commits 2026-06-26 19:54:59 +08:00
merge: release V21 UI and core E2E hardening
CI/CD Pipeline / Validate Code Quality And Tests (push) Successful in 26s
Tests / test (push) Successful in 18s
Tests / lint (push) Successful in 10s
Deploy / Deploy Staging (push) Has been skipped
Deploy / Build Production Runtime Images (push) Successful in 9m52s
Deploy / Deploy Production (push) Successful in 24s
Deploy / Production Browser E2E (push) Failing after 58s
31c0f23297
Merge develop into main through protected Gitea PR flow.
fix(ci): pass production API base to E2E
CI/CD Pipeline / Validate Code Quality And Tests (push) Successful in 23s
Tests / test (push) Successful in 17s
Tests / lint (push) Successful in 10s
Deploy / Deploy Staging (push) Has been skipped
Deploy / Build Production Runtime Images (push) Successful in 9m40s
Deploy / Deploy Production (push) Successful in 23s
Deploy / Production Browser E2E (push) Failing after 32s
b914f55b7d
Merge production E2E API base hotfix.
test(web): scope generation approval assertion
CI/CD Pipeline / Validate Code Quality And Tests (push) Successful in 26s
Tests / test (push) Successful in 16s
Tests / lint (push) Successful in 11s
Deploy / Deploy Staging (push) Has been skipped
Deploy / Build Production Runtime Images (push) Successful in 9m43s
Deploy / Deploy Production (push) Successful in 23s
Deploy / Production Browser E2E (push) Failing after 36s
2f9a1a42f5
Merge production E2E assertion hotfix.
test(web): target generation approval pill
CI/CD Pipeline / Validate Code Quality And Tests (push) Successful in 26s
Tests / test (push) Successful in 17s
Tests / lint (push) Successful in 10s
Deploy / Deploy Staging (push) Has been skipped
Deploy / Build Production Runtime Images (push) Successful in 10m16s
Deploy / Deploy Production (push) Successful in 23s
Deploy / Production Browser E2E (push) Successful in 36s
06857d0a0d
Merge generation approval pill hotfix.
Merge pull request 'feat(web): complete V21 UI redesign' (#6) from develop into main
CI/CD Pipeline / Validate Code Quality And Tests (push) Successful in 24s
Tests / test (push) Successful in 15s
Tests / lint (push) Successful in 8s
Deploy / Deploy Staging (push) Has been skipped
Deploy / Build Production Runtime Images (push) Failing after 29s
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
a31145950f
fix(p1): resolve 4 P1 technical debt issues
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 0s
Tests / test (pull_request) Failing after 0s
Tests / lint (pull_request) Failing after 0s
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
7fa327aa27
- P1-1: CORS configuration security - use DEBUG mode to differentiate
  production vs development CORS settings
- P1-2: Implement token refresh logic in RefreshTokenUseCase
  - Add get_session_by_refresh_token to SessionStore
  - Verify session validity and expiry
  - Generate new access token on refresh
- P1-3: Fix database connection leak in worker ingest task
  - Add proper try-except-finally block
  - Ensure db.close() is always called
- P1-4: Implement real media metadata extraction
  - Use ffprobe for video metadata
  - Use Pillow for image metadata
  - Return empty dict on failure (no mock data)
feat: 实现真实素材AI分类和视频质量评估
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 0s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 0s
62ec1473ea
xiaoxia added 1 commit 2026-06-26 20:52:07 +08:00
fix: 修复AI分类模块resize bug和添加max_frames参数
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 0s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 1m1s
b32ae14288
xiaoxia added 1 commit 2026-06-26 21:11:04 +08:00
chore: merge develop into feature/ai-classification-quality
CI/CD Pipeline / Validate Code Quality And Tests (push) Waiting to run
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Waiting to run
dc88594afb
xiaoxia merged commit 336456340a into develop 2026-06-26 21:11:06 +08:00
Sign in to join this conversation.