2025-03-04 12:36:48 +08:00

28 lines
1.1 KiB
Python

from biz.ffmpeg import parse_ffmpeg_task, start_ffmpeg_task, clear_task_tmp_file, probe_video_info
from telemetry import get_tracer
from template import get_template_def
from util import api
def start_task(task_info):
tracer = get_tracer(__name__)
with tracer.start_as_current_span("start_task"):
task_info = api.normalize_task(task_info)
template_info = get_template_def(task_info.get("templateId"))
api.report_task_start(task_info)
ffmpeg_task = parse_ffmpeg_task(task_info, template_info)
result = start_ffmpeg_task(ffmpeg_task)
if not result:
return api.report_task_failed(task_info)
oss_result = api.upload_task_file(task_info, ffmpeg_task)
if not oss_result:
return api.report_task_failed(task_info)
# 获取视频长度宽度和时长
width, height, duration = probe_video_info(ffmpeg_task)
clear_task_tmp_file(ffmpeg_task)
api.report_task_success(task_info, videoInfo={
"width": width,
"height": height,
"duration": duration
})