import re import subprocess import sys from pathlib import Path import os regex = re.compile("Stream #0:\d(\(\w*\))?: Audio:.*") droppedFile = sys.argv[1] droppedName = Path(droppedFile).name #droppedFile = ['sam_overlord_bluraysource.mkv'] del sys.argv[0] number_of_ss=int(input("Number of ss: ")) print(number_of_ss) for i, file in enumerate(sys.argv): arg_list = 'ffprobe.exe -show_entries format=duration -i "{file}"'.format(file=file) print(arg_list) cmd = subprocess.Popen(arg_list, stdout=subprocess.PIPE, stderr=subprocess.PIPE, encoding='UTF-8') subprocess_std = cmd.communicate()[0] print("stdout printing: " , subprocess_std) video_duration = [int(s) for s in re.findall(r"[0-9]+", subprocess_std)][0] print("video_duration: ", video_duration, "s") duration_percent = video_duration / 100 print(duration_percent) time = duration_percent * 15 skip = ((duration_percent * 90) - (duration_percent* 15)) / (number_of_ss -1) for i in range(0, number_of_ss): args = 'ffmpeg.exe -ss {time} -i "{file}" -frames:v 1 -q:v 1 "{file}{i}.jpg"'.format(time=skip*i+time, file=file, i=i) print(args) run = subprocess.Popen(args) print('\n') input("press enter to exit")