From e92e591a7843a6af15e5f95b40618a03a77e13e4 Mon Sep 17 00:00:00 2001 From: kolaczyn Date: Thu, 25 Jun 2020 02:13:56 +0200 Subject: [PATCH] minor tweaks --- .gitignore | 1 + clean.sh | 2 +- gen-script.py | 16 ++++++++++++---- run.sh | 2 +- 4 files changed, 15 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 70a1484..42543cb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ list.txt rip.sh +debug.txt output.mp4 diff --git a/clean.sh b/clean.sh index c9ad2af..bf7ec54 100755 --- a/clean.sh +++ b/clean.sh @@ -1,5 +1,5 @@ #!/bin/bash -rm list.txt rip.sh rm output.mp4 +rm list.txt rip.sh rm output.mp4 debug.txt rm -r ../out mkdir ../out diff --git a/gen-script.py b/gen-script.py index 3911eb2..c67ac3f 100755 --- a/gen-script.py +++ b/gen-script.py @@ -1,3 +1,4 @@ +#!/usr/bin/python import re from pathlib import Path import os @@ -17,17 +18,24 @@ file_names.sort() data = [] -for f in file_names: +for i, f in enumerate(file_names): file = open(path + f) for i, line in enumerate(file): - if re.search(search, line): + if i%4 == 2 and re.search(search, line): # we only need to check lines which contain text, hence the first condition data.append({'fname':f, 'beg':prev[0:8], 'end':prev[17:25], 'desc':line}) # get file name, time stamps and desciption - prev = line # a line just before text is a timestamp + if i%4 == 1: + prev = line # a timestamp line -file_rip = open('rip.sh', 'w') file_list = open('list.txt', 'w') +file_rip = open('rip.sh', 'w') +file_rip.write('#!/bin/bash\n') for (i, d) in enumerate(data): name = d['fname'][:2] # get a name without an extension outname ="../out/{}-{:0>2}.mp4".format(name, i) file_list.write("file '{}'\n".format(outname)) file_rip .write('ffmpeg -ss {} -i ../original/{}.mp4 -to 00:00:12 -c copy {}\n'.format(d['beg'], name, outname)) + + +file_debug = open('debug.txt', 'w') +for d in data: + file_debug.write('{}\t{}\t{}\t{}\n'.format(d['fname'][:2], d['beg'], d['end'], d['desc'])) diff --git a/run.sh b/run.sh index 1c80eec..14b3a66 100755 --- a/run.sh +++ b/run.sh @@ -3,6 +3,6 @@ # TODO make it so the only data you need to feed the application # is an URL of a youtube playlist/ video you want to edit -python gen-script.py +./gen-script.py bash rip.sh ffmpeg -f concat -safe 0 -i list.txt -c copy output.mp4 # splice all the clips