尝试传入resolution,不使用scale自适应模板
This commit is contained in:
parent
f139fbccd7
commit
1603be9157
3
app.py
3
app.py
@ -1,3 +1,5 @@
|
||||
import time
|
||||
|
||||
import flask
|
||||
|
||||
import config
|
||||
@ -17,6 +19,7 @@ app = flask.Flask(__name__)
|
||||
def do_task(task_id):
|
||||
task_info = api.get_task_info(task_id)
|
||||
biz.task.start_task(task_info)
|
||||
time.sleep(1) # for telemetry upload traces
|
||||
return "OK"
|
||||
|
||||
|
||||
|
@ -33,6 +33,7 @@ def parse_ffmpeg_task(task_info, template_info):
|
||||
logger.info("because only_if exist, placeholder: %s not exist, skip part: %s", only_if, part)
|
||||
continue
|
||||
sub_ffmpeg_task = FfmpegTask(source)
|
||||
sub_ffmpeg_task.resolution = template_info.get("video_size", "")
|
||||
sub_ffmpeg_task.annexb = True
|
||||
sub_ffmpeg_task.ext_data = find_placeholder_params(part.get('source'), task_params) or {}
|
||||
sub_ffmpeg_task.frame_rate = template_info.get("frame_rate", 25)
|
||||
@ -48,6 +49,7 @@ def parse_ffmpeg_task(task_info, template_info):
|
||||
tasks.append(sub_ffmpeg_task)
|
||||
output_file = "out_" + str(time.time()) + ".mp4"
|
||||
task = FfmpegTask(tasks, output_file=output_file)
|
||||
task.resolution = template_info.get("video_size", "")
|
||||
overall = template_info.get("overall_template")
|
||||
task.center_cut = template_info.get("crop_mode", None)
|
||||
task.frame_rate = template_info.get("frame_rate", 25)
|
||||
|
@ -33,6 +33,7 @@ class FfmpegTask(object):
|
||||
self.mute = True
|
||||
self.speed = 1
|
||||
self.frame_rate = 25
|
||||
self.resolution = None
|
||||
self.subtitles = []
|
||||
self.luts = []
|
||||
self.audios = []
|
||||
@ -239,7 +240,13 @@ class FfmpegTask(object):
|
||||
input_index = input_args.count("-i")
|
||||
input_args.append("-i")
|
||||
input_args.append(overlay)
|
||||
filter_args.append(f"{video_output_str}[{input_index}:v]scale=rw:rh[v]")
|
||||
if self.resolution:
|
||||
filter_args.append(f"{video_output_str}scale={self.resolution.replace('x', ':')}[v]")
|
||||
else:
|
||||
if os.getenv("OLD_FFMPEG"):
|
||||
filter_args.append(f"{video_output_str}[{input_index}:v]scale2ref=iw:ih[v]")
|
||||
else:
|
||||
filter_args.append(f"{video_output_str}[{input_index}:v]scale=rw:rh[v]")
|
||||
filter_args.append(f"[v][{input_index}:v]overlay=1:eof_action=endall[v]")
|
||||
video_output_str = "[v]"
|
||||
for subtitle in self.subtitles:
|
||||
|
Loading…
x
Reference in New Issue
Block a user