chore: rebase到develop + 格式化代码
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 27s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 1541h50m9s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 1541h50m11s
CI/CD Pipeline / Build Production Runtime Images (pull_request) Failing after 1541h50m13s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (pull_request) Failing after 1541h50m13s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 1541h50m11s
CI/CD Pipeline / Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 1542h21m47s

This commit is contained in:
CI Bot
2026-07-14 09:36:04 +08:00
parent 84abfbcfcd
commit 528deeb52e
3 changed files with 23 additions and 55 deletions
+5 -7
View File
@@ -47,10 +47,10 @@ _VALID_POSITIONS = {
}
# 动画类型
ANIMATION_FADE = "fade" # 淡入淡出
ANIMATION_SLIDE_LEFT = "slide_left" # 从左滑入
ANIMATION_FADE = "fade" # 淡入淡出
ANIMATION_SLIDE_LEFT = "slide_left" # 从左滑入
ANIMATION_SLIDE_RIGHT = "slide_right" # 从右滑入
ANIMATION_SLIDE_TOP = "slide_top" # 从上滑入
ANIMATION_SLIDE_TOP = "slide_top" # 从上滑入
ANIMATION_SLIDE_BOTTOM = "slide_bottom" # 从下滑入
_VALID_ANIMATIONS = {
@@ -81,7 +81,7 @@ class PiPLayerConfig:
# 大小配置
width: int | str = "25%" # 宽度(像素或百分比)
height: int | str = "" # 高度(空则按比例自适应)
height: int | str = "" # 高度(空则按比例自适应)
# 样式
opacity: float = 1.0 # 透明度 0.0-1.0
@@ -452,9 +452,7 @@ class PiPEngine:
# overlay 滤镜
overlay_filter = (
f"[{current_label}][{pre_label}]"
f"overlay={x_expr}:{y_expr}{enable_expr}"
f"[{combined_label}]"
f"[{current_label}][{pre_label}]" f"overlay={x_expr}:{y_expr}{enable_expr}" f"[{combined_label}]"
)
filter_parts.append(overlay_filter)
@@ -256,9 +256,7 @@ class UnifiedRenderService:
# 追加画中画滤镜
if has_pip:
filter_complex, input_args = self._append_pip_filters(
filter_complex, input_args, pip_sources
)
filter_complex, input_args = self._append_pip_filters(filter_complex, input_args, pip_sources)
self._execute_ffmpeg(filter_complex, input_args, video_only_path)
@@ -1002,9 +1000,7 @@ class UnifiedRenderService:
# ── 画中画(PiP)相关方法 ──────────────────────────────────────────────────
def _resolve_pip_sources(
self, pip_config: PiPConfig
) -> list[tuple[str, "PiPLayerConfig", Path]]:
def _resolve_pip_sources(self, pip_config: PiPConfig) -> list[tuple[str, "PiPLayerConfig", Path]]:
"""解析画中画图层的素材源,返回可用的图层列表.
降级策略:素材不存在或无效的图层自动跳过,不阻断渲染。
@@ -1026,9 +1022,7 @@ class UnifiedRenderService:
for i, layer in enumerate(pip_config.layers):
path = engine.validate_layer_source(layer, self.asset_path_map)
if path is None:
logger.warning(
"PiP图层素材不可用,跳过: layer_index=%d source=%s", i, layer.source
)
logger.warning("PiP图层素材不可用,跳过: layer_index=%d source=%s", i, layer.source)
continue
# 标签占位,实际输入索引由 build_pip_filters 内部管理
result.append((f"pip_src_{i}", layer, path))