You've already forked FrameTour-RenderWorker
支持同机位多视频片段复用
This commit is contained in:
@ -16,10 +16,11 @@ logger = logging.getLogger('biz/ffmpeg')
|
|||||||
|
|
||||||
def parse_ffmpeg_task(task_info, template_info):
|
def parse_ffmpeg_task(task_info, template_info):
|
||||||
tracer = get_tracer(__name__)
|
tracer = get_tracer(__name__)
|
||||||
with tracer.start_as_current_span("parse_ffmpeg_task"):
|
with tracer.start_as_current_span("parse_ffmpeg_task") as span:
|
||||||
tasks = []
|
tasks = []
|
||||||
# 中间片段
|
# 中间片段
|
||||||
task_params_str = task_info.get("taskParams", "{}")
|
task_params_str = task_info.get("taskParams", "{}")
|
||||||
|
span.set_attribute("task_params", task_params_str)
|
||||||
task_params = json.loads(task_params_str)
|
task_params = json.loads(task_params_str)
|
||||||
for part in template_info.get("video_parts"):
|
for part in template_info.get("video_parts"):
|
||||||
source = parse_video(part.get('source'), task_params, template_info)
|
source = parse_video(part.get('source'), task_params, template_info)
|
||||||
@ -87,8 +88,8 @@ def parse_video(source, task_params, template_info):
|
|||||||
logger.debug("no video found for placeholder: " + placeholder_id)
|
logger.debug("no video found for placeholder: " + placeholder_id)
|
||||||
return None
|
return None
|
||||||
else:
|
else:
|
||||||
# TODO: Random Pick / Policy Pick
|
_pick_source = new_sources.pop(0)
|
||||||
new_sources = new_sources[0].get("url")
|
new_sources = _pick_source.get("url")
|
||||||
if new_sources.startswith("http"):
|
if new_sources.startswith("http"):
|
||||||
_, source_name = os.path.split(new_sources)
|
_, source_name = os.path.split(new_sources)
|
||||||
oss.download_from_oss(new_sources, source_name)
|
oss.download_from_oss(new_sources, source_name)
|
||||||
|
@ -13,6 +13,8 @@ def start_task(task_info):
|
|||||||
with tracer.start_as_current_span("start_task") as span:
|
with tracer.start_as_current_span("start_task") as span:
|
||||||
task_info = api.normalize_task(task_info)
|
task_info = api.normalize_task(task_info)
|
||||||
span.set_attribute("task", json.dumps(task_info))
|
span.set_attribute("task", json.dumps(task_info))
|
||||||
|
span.set_attribute("scenicId", task_info.get("scenicId", "?"))
|
||||||
|
span.set_attribute("templateId", task_info.get("templateId"))
|
||||||
template_info = get_template_def(task_info.get("templateId"))
|
template_info = get_template_def(task_info.get("templateId"))
|
||||||
api.report_task_start(task_info)
|
api.report_task_start(task_info)
|
||||||
ffmpeg_task = parse_ffmpeg_task(task_info, template_info)
|
ffmpeg_task = parse_ffmpeg_task(task_info, template_info)
|
||||||
|
Reference in New Issue
Block a user