You've already forked FrameTour-RenderWorker
未生成文件时,上报失败
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@ -9,6 +9,7 @@ build/
|
||||
dist/
|
||||
*.mp4
|
||||
*.ts
|
||||
rand*.ts
|
||||
tmp_concat_*.txt
|
||||
*.egg-info/
|
||||
*.egg
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
|
Reference in New Issue
Block a user