From 616a0416bae1f0f1cb58996a5ad08c27962a8902 Mon Sep 17 00:00:00 2001 From: Thaloria Date: Mon, 28 Jun 2021 07:37:05 +0200 Subject: [PATCH] added json tests refactored main to utils add_input and add_output used static ffmpeg paths --- main.py | 19 ++++++++++++------- main2.py | 28 ++++++++++++++++++++++++---- 2 files changed, 36 insertions(+), 11 deletions(-) diff --git a/main.py b/main.py index a983ecc..149a35c 100644 --- a/main.py +++ b/main.py @@ -1,7 +1,6 @@ import os import shutil - -# startdir = os.path.join("E:", "tmp", "input") +from Utils import FFEXE_STATIC, add_input, add_output season = r"E:\tmp\Season2\\" @@ -11,9 +10,7 @@ videodir = season + "video" rescaleddir = season + "rescaled" outputdir = season + "output" networkdir = r"\\nas451\Video\serieUR\Kalkofes Mattscheibe - Premiere Klassiker\Season 2" -networkdir2 = r"\\nas451\Inbox\Kalkofe\Scale1080p\Season2\rescaled" -ffexe = r"C:\Users\Thaloria\Downloads\ffmpeg-4.4-full_build\bin\ffmpeg.exe" # -i S01E01.mkv -map 0:a S01E01.m4a # ffmpeg -i input.mp4 -map 0 -c copy -metadata:s:a:0 title="One" -metadata:s:a:1 title="Two" -metadata:s:a:0 language=eng -metadata:s:a:1 language=spa output.mp4 @@ -22,7 +19,9 @@ os.chdir(inputdir) for file in os.listdir(inputdir): ifilename = inputdir + "\\" + file audiofilename = audiodir + "\\" + file[:6] + ".m4a" - cmd = ffexe + " -i " + ifilename + " -map 0:a -metadata:s:a:0 title='Original' -metadata:s:a:1 title='Audiokommentar' -metadata:s:a:0 language=ger -metadata:s:a:1 language=ger " + audiofilename + cmd = add_input(FFEXE_STATIC, ifilename) + cmd = cmd + " -map 0:a -metadata:s:a:0 title='Original' -metadata:s:a:1 title='Audiokommentar' -metadata:s:a:0 language=ger -metadata:s:a:1 language=ger" + cmd = add_output(cmd, audiofilename) if not os.path.isfile(audiofilename): os.system(cmd) @@ -31,7 +30,9 @@ os.chdir(rescaleddir) for file in os.listdir(rescaleddir): ifilename = rescaleddir + "\\" + file videofile = videodir + "\\" + file[:6] + ".mp4" - cmd = ffexe + " -i " + ifilename + " -map 0:v -c copy " + videofile + cmd = add_input(FFEXE_STATIC, ifilename) + cmd = cmd + " -map 0:v -c copy" + cmd = add_output(cmd, videofile) if not os.path.isfile(videofile): os.system(cmd) @@ -41,7 +42,11 @@ for file in os.listdir(videodir): videofile = videodir + "\\" + file audiofilename = audiodir + "\\" + file[:6] + ".m4a" outputfilename = outputdir + "\\" + file[:6] + ".mp4" - cmd = ffexe + " -i " + videofile + " -i " + audiofilename + " -map 0:v -map 1:a -metadata:s:a:0 title='Original' -metadata:s:a:1 title='Audiokommentar' -c copy " + outputfilename + + cmd = add_input(FFEXE_STATIC, videofile) + cmd = add_input(cmd, audiofilename) + cmd = cmd + " -map 0:v -map 1:a -metadata:s:a:0 title='Original' -metadata:s:a:1 title='Audiokommentar' -c copy" + cmd = add_output(cmd, outputfilename) if not os.path.isfile(outputfilename): os.system(cmd) diff --git a/main2.py b/main2.py index d5bf883..5b9e219 100644 --- a/main2.py +++ b/main2.py @@ -1,18 +1,38 @@ import os from Utils import FFEXE_STATIC, select_video_stream, add_stream_selection, stream_selector, add_output, format_output, \ add_input +import json -input_0 = r"E:\tmp\S01e01.mkv" -input_1 = r"E:\tmp\S01e01_1.88x_1920x1080_dtvs-2.mp4" -output = r"E:\tmp\out.mp4" + +input_0 = r"E:\tmp\Bab5-Sample\S01e01.mkv" +input_1 = r"E:\tmp\Bab5-Sample\S01e01_1.88x_1920x1080_dtvs-2.mp4" +output = r"E:\tmp\Bab5-Sample\out.mp4" streams = stream_selector(input_0, 0) -streams = select_video_stream(streams) +streams = select_video_stream(streams, 1) cmd = add_input(FFEXE_STATIC, input_0) cmd = add_input(cmd, input_1) cmd = add_stream_selection(cmd, streams) cmd = add_output(cmd, output) + +# C:\Users\Thaloria\Downloads\ffmpeg-4.4-full_build\bin\ffprobe.exe -v quiet -print_format json -show_format -show_streams S01e01.mkv > S01e01.json + +# read file +with open(r"E:\tmp\Bab5-Sample\S01e01.json", 'r') as myfile: + data = myfile.read() + +# parse file +obj = json.loads(data) +for i in obj['streams']: + if i['codec_type'] == 'video': + print(i['codec_type']) + else: + print(i['codec_type']) + print(i['tags']) + + + print(cmd) os.system(cmd)