FFMpeg-Compressor: Show only completed tasks

This commit is contained in:
OleSTEEP 2024-07-19 03:02:38 +03:00
parent 31e82b59b3
commit 0a9114ff64
3 changed files with 8 additions and 9 deletions

View file

@ -41,8 +41,6 @@ def has_transparency(img):
def compress_audio(folder, file, target_folder, extension):
bitrate = configloader.config['AUDIO']['BitRate']
printer.files(file, os.path.splitext(file)[0], extension, f"{bitrate}")
try:
(FFmpeg()
.input(f'{folder}/{file}')
@ -56,6 +54,7 @@ def compress_audio(folder, file, target_folder, extension):
utils.errors_count += 1
if not configloader.config['FFMPEG']['HideErrors']:
printer.error(f"File {file} can't be processed! Error: {e}")
printer.files(file, os.path.splitext(file)[0], extension, f"{bitrate}")
return f'{target_folder}/{os.path.splitext(file)[0]}.{extension}'
@ -64,7 +63,6 @@ def compress_video(folder, file, target_folder, extension):
codec = configloader.config['VIDEO']['Codec']
crf = configloader.config['VIDEO']['CRF']
printer.files(file, os.path.splitext(file)[0], extension, codec)
try:
(FFmpeg()
.input(f'{folder}/{file}')
@ -74,6 +72,7 @@ def compress_video(folder, file, target_folder, extension):
{"codec:v": codec, "v:b": 0, "loglevel": "error"}, crf=crf)
.execute()
)
printer.files(file, os.path.splitext(file)[0], extension, codec)
except FFmpegError as e:
utils.add_unprocessed_file(f'{folder}/{file}', f'{target_folder}/{file}')
utils.errors_count += 1
@ -86,7 +85,6 @@ def compress_video(folder, file, target_folder, extension):
def compress_image(folder, file, target_folder, extension):
quality = configloader.config['IMAGE']['Quality']
printer.files(file, os.path.splitext(file)[0], extension, f"{quality}%")
try:
image = Image.open(f'{folder}/{file}')
@ -110,6 +108,7 @@ def compress_image(folder, file, target_folder, extension):
lossless=configloader.config['IMAGE']['Lossless'],
quality=quality,
minimize_size=True)
printer.files(file, os.path.splitext(file)[0], extension, f"{quality}%")
except Exception as e:
utils.add_unprocessed_file(f'{folder}/{file}', f'{target_folder}/{file}')
utils.errors_count += 1

View file

@ -24,22 +24,22 @@ def clean_str(string):
def info(string):
bar_print(clean_str(f"\r\033[100mI {string}\033[49m"))
bar_print(clean_str(f"\r\033[100m- {string}\033[49m"))
def warning(string):
bar_print(clean_str(f"\r\033[93mW\033[0m {string}\033[49m"))
bar_print(clean_str(f"\r\033[93m!\033[0m {string}\033[49m"))
def error(string):
bar_print(clean_str(f"\r\033[31mE\033[0m {string}\033[49m"))
bar_print(clean_str(f"\r\033[31m\u2715\033[0m {string}\033[49m"))
def files(source, dest, dest_ext, comment):
source_ext = os.path.splitext(source)[1]
source_name = os.path.splitext(source)[0]
bar_print(clean_str(f"\r* \033[0;37m{source_name}\033[0m{source_ext}\033[0;37m -> {dest}\033[0m.{dest_ext}\033[0;37m ({comment})\033[0m ..."))
bar_print(clean_str(f"\r\033[0;32m\u2713\033[0m \033[0;37m{source_name}\033[0m{source_ext}\033[0;37m -> {dest}\033[0m.{dest_ext}\033[0;37m ({comment})\033[0m"))
def unknown_file(file):

View file

@ -55,7 +55,7 @@ def get_compression_status(orig_folder):
def add_unprocessed_file(orig_folder, new_folder):
if configloader.config['FFMPEG']['CopyUnprocessed']:
filename = orig_folder.split().pop()
filename = orig_folder.split("/").pop()
copyfile(orig_folder, new_folder)
printer.info(f"File {filename} copied to compressed folder.")