From 807b2c179cff190826e7134469a9b7011621b6d8 Mon Sep 17 00:00:00 2001 From: beacon Date: Mon, 14 Feb 2022 23:58:57 +0300 Subject: [PATCH] refract --- prepare.py | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/prepare.py b/prepare.py index 7a3843a..95ab40c 100755 --- a/prepare.py +++ b/prepare.py @@ -6,6 +6,7 @@ import pathlib import moviepy.editor import moviepy import pymediainfo +import threading class Args: @@ -42,22 +43,13 @@ def info(mfile, media_info): f.close() -def screens(fold, max_time): +def screens(fold, mintimescr, maxtimescr, screen_create): + time = random.randint(mintimescr, maxtimescr) + imgname = fold + "/" + str(time) + ".png" + print(" time %ds" % time) - print("Creating %s screenschots" % Args.args.count) - i = 0 - max_time = round(max_time) - print("Rounded duration %ss" % max_time) - screen_create = moviepy.editor.VideoFileClip(Args.args.input) - mintimescr = round(max_time * 0.05) - maxtimescr = round(max_time * 0.95) + make_screen = screen_create.save_frame(imgname, t=time) - while i < Args.args.count: - i += 1 - time = random.randint(mintimescr, maxtimescr) - imgname = fold + "/" + str(time) + ".png" - print("%s at time %ds" % (i, time)) - screen_create.save_frame(imgname, t=time) screen_create.reader.close() screen_create.audio.reader.close_proc() @@ -95,10 +87,24 @@ class Head: if Args.args.sample: sample(fold, exname, max_time) if Args.args.screens: - screens(fold, max_time) + print("Creating %s screenschots" % Args.args.count) + i = 0 + max_time = round(max_time) + print("Rounded duration %ss" % max_time) + screen_create = moviepy.editor.VideoFileClip(Args.args.input) + mintimescr = round(max_time * 0.05) + maxtimescr = round(max_time * 0.95) + + return mintimescr, maxtimescr, fold, screen_create + # screens(fold, mintimescr, maxtimescr, screen_create) if Args.args.mediainfo: info(mfile, media_info) if __name__ == '__main__': Head() + if Args.args.screens: + for i in range (Args.args.count): + condition = threading.Condition() + thread = threading.Thread(name="screenshot", target=screens, args=(Head.mintimescr, Head.maxtimescr, Head.fold, Head.screen_create)) + thread.start() \ No newline at end of file