perf(#1280): 预览视频生成加速 — ultrafast编码+并行下载+跳过非必要步骤 (#1284)
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 1m16s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 1m16s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 2m29s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 3m3s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 5m3s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 5m35s
CI/CD Pipeline / Integration Tests (push) Successful in 2m37s
CI/CD Pipeline / Unit Tests (push) Successful in 9m57s
CI/CD Pipeline / Build Staging API Image (push) Successful in 12m44s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m28s
CI/CD Pipeline / Staging API Integration Tests (push) Failing after 17s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 17s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 34s
CI/CD Pipeline / Canary Release to Production (push) Failing after 953h20m32s
CI/CD Pipeline / PR Build Web Image (push) Failing after 953h35m2s
CI/CD Pipeline / Production Browser E2E (push) Failing after 953h25m3s
CI/CD Pipeline / PR Build API Image (push) Failing after 953h35m3s
CI/CD Pipeline / Deploy Production (push) Failing after 953h25m3s
CI/CD Pipeline / CI Gate (push) Failing after 953h25m5s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 953h35m7s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 953h25m5s
CI/CD Pipeline / Build Production Web Image (push) Failing after 953h25m5s
CI/CD Pipeline / Build Production API Image (push) Failing after 953h25m5s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 954h8m23s
CI/CD Pipeline / Frontend Lint (push) Failing after 954h8m26s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 1m16s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 1m16s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 2m29s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 3m3s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 5m3s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 5m35s
CI/CD Pipeline / Integration Tests (push) Successful in 2m37s
CI/CD Pipeline / Unit Tests (push) Successful in 9m57s
CI/CD Pipeline / Build Staging API Image (push) Successful in 12m44s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m28s
CI/CD Pipeline / Staging API Integration Tests (push) Failing after 17s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 17s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 34s
CI/CD Pipeline / Canary Release to Production (push) Failing after 953h20m32s
CI/CD Pipeline / PR Build Web Image (push) Failing after 953h35m2s
CI/CD Pipeline / Production Browser E2E (push) Failing after 953h25m3s
CI/CD Pipeline / PR Build API Image (push) Failing after 953h35m3s
CI/CD Pipeline / Deploy Production (push) Failing after 953h25m3s
CI/CD Pipeline / CI Gate (push) Failing after 953h25m5s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 953h35m7s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 953h25m5s
CI/CD Pipeline / Build Production Web Image (push) Failing after 953h25m5s
CI/CD Pipeline / Build Production API Image (push) Failing after 953h25m5s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 954h8m23s
CI/CD Pipeline / Frontend Lint (push) Failing after 954h8m26s
This commit was merged in pull request #1284.
This commit is contained in:
@@ -151,6 +151,7 @@ class UnifiedRenderService:
|
||||
asr_service: Any = None, # ASRService 实例,用于自动生成字幕
|
||||
bgm_path: str | None = None, # BGM 本地文件路径
|
||||
voiceover_audio_path: str | None = None, # 配音素材库音频本地路径
|
||||
is_preview: bool = False, # 预览模式:ultrafast 编码 + 跳过非必要步骤
|
||||
):
|
||||
self.plan = plan
|
||||
self.clips = clips
|
||||
@@ -163,6 +164,7 @@ class UnifiedRenderService:
|
||||
self.asr_service = asr_service
|
||||
self.bgm_path = bgm_path
|
||||
self.voiceover_audio_path = voiceover_audio_path
|
||||
self.is_preview = is_preview
|
||||
self._transition_engine = TransitionEngine(default_duration=transition_duration)
|
||||
self._speed_engine = SpeedEngine()
|
||||
self._asr_timeline_cache: Any = None # ASR 字幕结果缓存,避免重复调用
|
||||
@@ -1228,9 +1230,9 @@ class UnifiedRenderService:
|
||||
"-c:v",
|
||||
"libx264",
|
||||
"-crf",
|
||||
"23",
|
||||
"28" if self.is_preview else "23",
|
||||
"-preset",
|
||||
"medium",
|
||||
"ultrafast" if self.is_preview else "medium",
|
||||
"-pix_fmt",
|
||||
"yuv420p",
|
||||
"-movflags",
|
||||
@@ -1742,9 +1744,9 @@ class UnifiedRenderService:
|
||||
"-c:v",
|
||||
"libx264",
|
||||
"-crf",
|
||||
"23",
|
||||
"28" if self.is_preview else "23",
|
||||
"-preset",
|
||||
"medium",
|
||||
"ultrafast" if self.is_preview else "medium",
|
||||
"-pix_fmt",
|
||||
"yuv420p",
|
||||
"-movflags",
|
||||
@@ -1753,10 +1755,11 @@ class UnifiedRenderService:
|
||||
]
|
||||
|
||||
logger.info(
|
||||
"执行渲染: plan_id=%s inputs=%d output=%s",
|
||||
"执行渲染: plan_id=%s inputs=%d output=%s preview=%s",
|
||||
self.plan.id,
|
||||
input_args.count("-i"),
|
||||
output_path,
|
||||
self.is_preview,
|
||||
)
|
||||
try:
|
||||
run_ffmpeg(command)
|
||||
|
||||
Reference in New Issue
Block a user