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