diff --git a/FFMpeg-Compressor/ffmpeg-comp.toml b/FFMpeg-Compressor/ffmpeg-comp.toml index 800584d..2154d35 100644 --- a/FFMpeg-Compressor/ffmpeg-comp.toml +++ b/FFMpeg-Compressor/ffmpeg-comp.toml @@ -1,15 +1,16 @@ [FFMPEG] FFmpegParams = "-hide_banner -loglevel error" +MimicMode = true [AUDIO] -Extension = "original" +Extension = "mp3" BitRate = "320k" [IMAGE] -Extension = "original" +Extension = "png" CompLevel = 20 JpegComp = 3 [VIDEO] -Extension = "original" +Extension = "mp4" Codec = "libvpx-vp9" diff --git a/FFMpeg-Compressor/main.py b/FFMpeg-Compressor/main.py index c410721..790adee 100755 --- a/FFMpeg-Compressor/main.py +++ b/FFMpeg-Compressor/main.py @@ -1,5 +1,6 @@ #!/bin/python3 +from modules import configloader from modules import compressor from modules import printer from modules import utils @@ -35,11 +36,13 @@ for folder, folders, files in os.walk(orig_folder): if os.path.isfile(f'{folder}/{file}'): match compressor.get_file_type(file): case "audio": - compressor.compress_audio(folder, file, target_folder) + comp_file = compressor.compress_audio(folder, file, target_folder) case "image": - compressor.compress_image(folder, file, target_folder) + comp_file = compressor.compress_image(folder, file, target_folder) case "video": - compressor.compress_video(folder, file, target_folder) + comp_file = compressor.compress_video(folder, file, target_folder) case "unknown": - compressor.compress(folder, file, target_folder) + comp_file = compressor.compress(folder, file, target_folder) + if configloader.config['FFMPEG']['MimicMode']: + os.rename(comp_file, f'{folder}_compressed/{file}') utils.get_compression_status(orig_folder) diff --git a/FFMpeg-Compressor/modules/compressor.py b/FFMpeg-Compressor/modules/compressor.py index 1022d97..3455988 100644 --- a/FFMpeg-Compressor/modules/compressor.py +++ b/FFMpeg-Compressor/modules/compressor.py @@ -5,11 +5,6 @@ import os def get_req_ext(file): - if configloader.config['AUDIO']['Extension'] == "original" or \ - configloader.config['IMAGE']['Extension'] == "original" or \ - configloader.config['VIDEO']['Extension'] == "original": - return os.path.splitext(file)[1][1:] - match get_file_type(file): case "audio": return configloader.config['AUDIO']['Extension'] @@ -59,6 +54,7 @@ def compress_audio(folder, file, target_folder): printer.files(file, os.path.splitext(file)[0], get_req_ext(file), f"{bitrate}") os.system(f"ffmpeg -i '{folder}/{file}' {ffmpeg_params} -q:a {bitrate} " f"'{target_folder}/{os.path.splitext(file)[0]}.{get_req_ext(file)}'") + return f'{target_folder}/{os.path.splitext(file)[0]}.{get_req_ext(file)}' def compress_video(folder, file, target_folder): @@ -68,6 +64,7 @@ def compress_video(folder, file, target_folder): printer.files(file, os.path.splitext(file)[0], get_req_ext(file), codec) os.system(f"ffmpeg -i '{folder}/{file}' {ffmpeg_params} -vcodec {codec} " f"'{target_folder}/{os.path.splitext(file)[0]}.{get_req_ext(file)}'") + return f'{target_folder}/{os.path.splitext(file)[0]}.{get_req_ext(file)}' def compress_image(folder, file, target_folder): @@ -87,6 +84,7 @@ def compress_image(folder, file, target_folder): printer.files(file, os.path.splitext(file)[0], get_req_ext(file), f"{comp_level}%") os.system(f"ffmpeg -i '{folder}/{file}' {ffmpeg_params} -compression_level {comp_level} " f"'{target_folder}/{os.path.splitext(file)[0]}.{get_req_ext(file)}'") + return f'{target_folder}/{os.path.splitext(file)[0]}.{get_req_ext(file)}' def compress(folder, file, target_folder): @@ -94,3 +92,4 @@ def compress(folder, file, target_folder): printer.warning("File extension not recognized. This may affect the quality of the compression.") printer.unknown_file(file) os.system(f"ffmpeg -i '{folder}/{file}' {ffmpeg_params} '{target_folder}/{file}'") + return f'{target_folder}/{file}'