66 lines
2.7 KiB
Python
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)
|
|
|