This commit is contained in:
2025-09-24 11:28:42 +08:00
parent ec1705769c
commit 873c89c778
9 changed files with 100 additions and 39 deletions

View File

@@ -23,8 +23,10 @@ def temp_dir():
def test_ffmpeg_config():
"""测试用FFmpeg配置"""
return FFmpegConfig(
encoder_args="-c:v h264",
video_args="",
encoder_args=["-c:v", "h264"],
video_args=["-profile:v", "high"],
audio_args=["-c:a", "aac"],
default_args=["-shortest"],
)
@@ -49,9 +51,8 @@ def test_storage_config():
def sample_render_task():
"""示例渲染任务"""
return RenderTask(
task_id="test_task_001",
template_id="test_template",
output_path="test_output.mp4",
input_files=["test_input.mp4"],
output_file="test_output.mp4",
frame_rate=25,
effects=["zoom:0,2.0,3.0", "ospeed:1.5"],
ext_data={

View File

@@ -96,7 +96,7 @@ class TestFFmpegCommandBuilder:
task.ext_data = {"posJson": "{}"}
builder = FFmpegCommandBuilder(task)
filter_args = []
filter_args: list[str] = []
result_input, result_index = builder._add_effects(filter_args, "[0:v]", 1)
@@ -112,7 +112,7 @@ class TestFFmpegCommandBuilder:
task.ext_data = {"posJson": "{}"}
builder = FFmpegCommandBuilder(task)
filter_args = []
filter_args: list[str] = []
result_input, result_index = builder._add_effects(filter_args, "[0:v]", 1)
@@ -127,7 +127,7 @@ class TestFFmpegCommandBuilder:
task.effects = ["invalid_effect:params"]
builder = FFmpegCommandBuilder(task)
filter_args = []
filter_args: list[str] = []
result_input, result_index = builder._add_effects(filter_args, "[0:v]", 1)
@@ -141,7 +141,7 @@ class TestFFmpegCommandBuilder:
task.effects = []
builder = FFmpegCommandBuilder(task)
filter_args = []
filter_args: list[str] = []
result_input, result_index = builder._add_effects(filter_args, "[0:v]", 1)
@@ -210,7 +210,7 @@ class TestFFmpegCommandBuilder:
task.frame_rate = 30
builder = FFmpegCommandBuilder(task)
filter_args = []
filter_args: list[str] = []
builder._add_effects(filter_args, "[0:v]", 1)

View File

@@ -16,21 +16,41 @@ class MockRenderTask:
def __init__(
self,
task_id: str = "test_task",
template_id: str = "test_template",
effects: List[str] = None,
ext_data: Dict[str, Any] = None,
input_files: Optional[List[str]] = None,
output_file: str = "test_output.mp4",
effects: Optional[List[str]] = None,
ext_data: Optional[Dict[str, Any]] = None,
frame_rate: int = 25,
output_path: str = "test_output.mp4",
):
self.task_id = task_id
self.template_id = template_id
self.effects = effects or []
self.ext_data = ext_data or {}
# RenderTask required fields
self.input_files = input_files or []
self.output_file = output_file
self.task_type = "copy" # TaskType.COPY equivalent
# Optional fields that match RenderTask
self.resolution = None
self.frame_rate = frame_rate
self.output_path = output_path
self.input_files = []
self.overlays = []
self.speed = 1.0
self.mute = True
self.annexb = False
# Cut parameters
self.zoom_cut = None
self.center_cut = None
# Resource lists
self.subtitles: List[str] = []
self.luts: List[str] = []
self.audios: List[str] = []
self.overlays: List[str] = []
self.effects = effects or []
# Extension data
self.ext_data = ext_data or {}
# Legacy compatibility
self.task_id = "test_task"
self.template_id = "test_template"
self.use_center_cut = False
self.use_zoom_cut = False
self.audio_file = None