class TeleCasterMastering(object):
"""docstring for TelemetaTranscode"""
- source_formats = ['webm',]
+ source_formats = ['webm', 'mp4']
dest_formats = {
- # 'mp3' : {'in': '', 'out': '-vn -acodec libmp3lame -aq 6'},
+ 'mp3' : {'in': '', 'out': '-vn -acodec libmp3lame -aq 6'},
'mp4' : {'in': '', 'out': '-c:v libx264-c:a aac -b:a 96k'},
'jpg' : {'in': '-ss 0:0:10', 'out': '-frames:v 1 -y'}
}
auto_offset_mode=False,
dry_run=False,
force_mode=False,
- verbose_mode=False):
+ verbose_mode=False,
+ input_formats=None,
+ output_formats=None,
+ ):
self.log_file = log_file
self.logger = Logger(self.log_file)
self.root_dir = root_dir
+
self.nvidia_mode = nvidia_mode
if self.nvidia_mode:
for f in self.nvidia_formats:
self.dest_formats[f] = self.nvidia_formats[f]
+
self.vaapi_mode = vaapi_mode
if self.vaapi_mode:
for f in self.vaapi_formats:
self.dest_formats[f] = self.vaapi_formats[f]
+
self.auto_offset_mode = auto_offset_mode
self.dry_run = dry_run
self.force_mode = force_mode
self.verbose_mode = verbose_mode
+ if input_formats:
+ self.input_formats = input_formats
+ else:
+ self.input_formats = self.source_formats
+
+ if output_formats:
+ self.output_formats = output_formats
+ else:
+ self.output_formats = self.dest_formats
+
+ print(self.input_formats)
+ print(self.output_formats)
+
def get_ext_in_dir(self, extension, root):
files = os.listdir(root)
exts = []
if ext[1:] in self.source_formats:
source_files.append(path + os.sep + file)
+ if self.verbose_mode:
+ print(source_files)
+
if source_files:
offsets = {}
if len(source_files) > 1 and self.auto_offset_mode:
def main():
parser = argparse.ArgumentParser()
- parser.add_argument('--dir', metavar='directory', type=str, help='media directory')
- parser.add_argument('--log', metavar='logfile', type=str, help='log file', default='/tmp/telecaster.log')
- parser.add_argument('--nvidia', help='use GPU nvidia encoder', action="store_true")
- parser.add_argument('--vaapi', help='use VAAPI encoder', action="store_true")
- parser.add_argument('--auto_offset', help='add auto offset based on audio correlation', action="store_true")
- parser.add_argument('--dry_run', help='dry run', action="store_true")
- parser.add_argument('--force', help='force mode', action="store_true")
- parser.add_argument('--verbose', help='verbose mode', action="store_true")
+ parser.add_argument('-d', '--dir', metavar='directory', type=str, help='media directory')
+ parser.add_argument('-l', '--log', metavar='logfile', type=str, help='log file', default='/tmp/telecaster.log')
+ parser.add_argument('-nv', '--nvidia', help='use GPU nvidia encoder', action="store_true")
+ parser.add_argument('-va', '--vaapi', help='use VAAPI encoder', action="store_true")
+ parser.add_argument('-ao', '--auto_offset', help='add auto offset based on audio correlation', action="store_true")
+ parser.add_argument('-dr', '--dry_run', help='dry run', action="store_true")
+ parser.add_argument('-f', '--force', help='force mode', action="store_true")
+ parser.add_argument('-v', '--verbose', help='verbose mode', action="store_true")
+ parser.add_argument('-i','--input_formats', nargs='+', help='Required input formats', required=True)
+ parser.add_argument('-o','--output_formats', nargs='+', help='Required output formats', required=True)
+
args = parser.parse_args()
+
t = TeleCasterMastering(
args.dir,
log_file=args.log,
vaapi_mode=args.vaapi,
auto_offset_mode=args.auto_offset,
dry_run=args.dry_run,
- verbose_mode=args.verbose
+ verbose_mode=args.verbose,
+ input_formats=args.input_formats,
+ output_formats=args.output_formats,
)
+
t.run()