fix: 预览播放器4个线上问题修复(弹窗裁剪+HEVC黑屏+标题换行+封面400) #1439

Closed
xiaoxia wants to merge 1 commits from fix/preview-player-4-issues into develop

1 Commits

Author SHA1 Message Date
张宏杰 1e2d06ec1b fix: 预览播放器4个线上问题修复
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 48s
CI/CD Pipeline / Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build API Image (pull_request) Has been skipped
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 48s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 1m43s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m46s
CI/CD Pipeline / PR Build Worker Image (pull_request) Has been skipped
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m54s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 2m1s
AI Code Review / AI Code Review (pull_request) Failing after 2m24s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m58s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m56s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 2m20s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 7m45s
CI/CD Pipeline / Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Successful in 10s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Has been cancelled
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 35s
Bug 1: 弹窗顶部被裁剪
- generate.css: .ant-modal-content/.ant-modal-close 规则限定到 .xx-preview-modal
- GeneratePage.tsx: 预览弹窗 Modal 添加 className='xx-preview-modal'

Bug 2: Canvas 黑屏(HEVC 编码不支持)
- useCanvasPlayer.ts: 新增 findCodecConfig 模块级函数解析 MP4 buffer
- 提取 avcC/hvcC box 数据作为 VideoDecoder description
- SegmentMeta 新增 description 字段,decoder.configure 传入

Bug 3: 标题 / 手动换行
- useCanvasPlayer.ts: drawTitle 按 / 分割多行绘制
- lineHeight = fontSize * 1.3,根据 position 居中/对齐

Bug 4: 封面生成 400 错误
- useStep6Cover.ts: 封面 API 返回 400 时自动创建后端预览渲染
- 轮询等待预览完成后重试封面生成
2026-08-19 14:05:17 +08:00