未生成文件时,上报失败

This commit is contained in:
2025-02-08 15:02:36 +08:00
parent b7d6797901
commit 94a5e687df
4 changed files with 17 additions and 3 deletions

1
.gitignore vendored
View File

@ -9,6 +9,7 @@ build/
dist/
*.mp4
*.ts
rand*.ts
tmp_concat_*.txt
*.egg-info/
*.egg

View File

@ -84,7 +84,9 @@ def check_placeholder_exist(placeholder_id, task_params):
def start_ffmpeg_task(ffmpeg_task):
for task in ffmpeg_task.analyze_input_render_tasks():
start_ffmpeg_task(task)
result = start_ffmpeg_task(task)
if not result:
return False
ffmpeg_task.correct_task_type()
return ffmpeg.start_render(ffmpeg_task)

View File

@ -168,7 +168,7 @@ def upload_task_file(task_info, ffmpeg_task):
logger.info("开始上传文件: %s%s", task_info.get("id"), url)
try:
with open(ffmpeg_task.get_output_file(), 'rb') as f:
requests.put(url, data=f)
requests.put(url, data=f, headers={"Content-Type": "video/mp4"})
except requests.RequestException as e:
logger.error("上传失败!", e)
return False

View File

@ -47,7 +47,18 @@ def start_render(ffmpeg_task: FfmpegTask):
ffmpeg_process = subprocess.run(["ffmpeg", "-progress", "-", "-loglevel", "error", *ffmpeg_args], **subprocess_args(True))
logger.info("FINISH TASK, OUTPUT IS %s", handle_ffmpeg_output(ffmpeg_process.stdout))
code = ffmpeg_process.returncode
return code == 0
if code != 0:
logger.error("FFMPEG ERROR: %s", ffmpeg_process.stderr)
return False
try:
out_file_stat = os.stat(ffmpeg_task.output_file)
if out_file_stat.st_size < 4096:
logger.error("FFMPEG ERROR: OUTPUT FILE IS TOO SMALL")
return False
except OSError:
logger.error("FFMPEG ERROR: OUTPUT FILE NOT FOUND")
return False
return True
def handle_ffmpeg_output(stdout: Optional[bytes]) -> str:
out_time = "0:0:0.0"