Files
ffmpeg_collection/bulk_covert_drop - test.py
Elghinnarisa c326143eb8 just updates
2023-03-26 18:32:35 +02:00

45 lines
1.3 KiB
Python

import subprocess
import sys
from pathlib import Path
import os
import re
output_folder_name ="/bulk_convert_out/"
droppedFile = sys.argv[1]
droppedName = Path(droppedFile).name
originalfiles = sys.orig_argv[2:]
#long path shenanigans
joined = (' '.join(originalfiles))
re.sub (' +', ' ', joined)
listed = re.split(r'(.+?mkv)', joined)
listed = list(filter(None, listed))
listed = [i.lstrip() for i in listed]
print(droppedName)
#get path of script location and remove the tail
head_tail = os.path.split(sys.argv[0])
output_path = head_tail[0]
#skip first part of sys.argv since it points to script location
arguments = sys.argv[1:]
#check if output folder exists, otherwise create it
isExist = os.path.exists(output_path+output_folder_name)
if not isExist:
os.makedirs(output_path+output_folder_name)
for file in listed:
basename = os.path.basename(file)
print(file)
args = 'ffmpeg.exe -i "{file}" -fps_mode passthrough -map 0:v:0 -c:v libx265 -preset slow -crf 20 -x265-params "no-sao=1:bframes=8:psy-rd=2:psy-rdoq=1.5:aq-mode=3:ref=6:deblock=-1,-1" -pix_fmt yuv420p10le -map 0:a -c:a copy -f matroska "{output_path}{output_folder_name}{basename}"'.format(file=file, output_path=output_path, output_folder_name=output_folder_name, basename=basename)
print(args)
subprocess.run(args)
k=input("press close to exit")