Files
Upscale/Start.py
2026-02-08 12:10:28 +01:00

66 lines
2.7 KiB
Python

import os
import re
from utils.encode_downloads import encode_downloads
from utils.encode_stream import encode_streams
from utils.interpolate import interpolate
from utils.upcale import upscale
from utils.mediainfo import get_aspect_ratio
INTERPOLATE_4K = False
def create_folder(folder_path):
if not os.path.exists(folder_path):
os.makedirs(folder_path)
for filename in os.listdir('0-Source'):
if filename == '.gitignore':
continue
input_file = os.path.join('0-Source', filename)
if not os.path.isfile(input_file):
continue
# Parse File Name
try:
hentai_name = re.sub(r'\[.*?\]|\(.*?\)', "", filename).rsplit('.', 1)[0].strip()
folder_name = re.sub(r'[^A-Za-z ]+', '', hentai_name).strip()
episode_number = re.findall(r'\d+', hentai_name)[-1]
except:
print(f"Error Parsing name for: {filename}")
continue
cdn_folder_name = folder_name.replace(" ", ".")
cdn_folder = os.path.join('2-Out', folder_name, cdn_folder_name, f'E{episode_number}')
muxed_folder = os.path.join('2-Out', folder_name, 'Muxed')
# Output of Upscale and Interpolation
# Hentai Name [2160p]
# -> "Hentai Name [4k][HEVC].mkv"
# -> "Hentai Name [1080p][48fps][HEVC].mkv"
# -> "Hentai Name [2160p][48fps][HEVC].mkv"
upscale_output_folder = os.path.join('2-Out', folder_name, f'{folder_name} [2160p]')
upscale_output = os.path.join(upscale_output_folder, f'{hentai_name} [4k][HEVC].mkv')
interpolate_output = os.path.join(upscale_output_folder, f'{hentai_name} [1080p][48fps][HEVC].mkv')
interpolate_4k_output = os.path.join(upscale_output_folder, f'{hentai_name} [2160p][48fps][HEVC].mkv')
print('Parsed Name: ' + hentai_name)
create_folder(cdn_folder)
create_folder(muxed_folder)
create_folder(upscale_output_folder)
aspect_ratio = get_aspect_ratio(input_file)
upscale(input_file, upscale_output, aspect_ratio)
interpolate(upscale_output, interpolate_output, hentai_name, "1080p", aspect_ratio)
if INTERPOLATE_4K:
interpolate(upscale_output, interpolate_4k_output, hentai_name, "2160p", aspect_ratio)
encode_downloads(folder_name, hentai_name, input_file, upscale_output, interpolate_output, interpolate_4k_output, aspect_ratio)
encode_streams(cdn_folder, input_file, upscale_output, interpolate_output, interpolate_4k_output, aspect_ratio)
else:
encode_downloads(folder_name, hentai_name, input_file, upscale_output, interpolate_output, None, aspect_ratio)
encode_streams(cdn_folder, input_file, upscale_output, interpolate_output, None, aspect_ratio)