for each in render_commands: print each return import subprocess for each in render_commands: # bake each ffmpeg cake into movie chunk print each print '-----------------' returncode = subprocess.call(each, shell=True) if returncode > 0: raise Exception('Command %s failed. Exit code %d' % (each, returncode)) if __name__ == "__main__": grouped_fcp_cakes = jsonhelper.json_file_to_jsonobj('sample.json') ffmpeg_cakes = convert_fcp_to_ffmpeg(grouped_fcp_cakes) render_commands = get_render_commands(ffmpeg_cakes) # Fix: r2 or r3 not related to the actual file name linked_render_commands = [] for each in render_commands: temp = each.replace(' r2 ', ' WP_20140830_14_39_10_Pro.mp4 ').replace( ' r3 ', ' WP_20140830_15_13_44_Pro.mp4 ') linked_render_commands.append(temp) render_commands = linked_render_commands # Fix end.
from context import worker as worker from context import jsonhelper class ScreenReporter(worker.ReportHandler): def report(self, messageobj): print '### Report to screen', str(messageobj) my_h264_worker = worker.RenderWorker(codecflag='-crf 18 -preset veryfast') my_h264_worker.add_handler(handler=ScreenReporter('screen_reporter')) sequence = jsonhelper.json_file_to_jsonobj('sequence.json') file_name_list = [] for each in sequence: real_file_name = each['src'] if '.mp4' in each[ 'src'] else each['src'] + '.mp4' if 'start' not in each: file_name_list.append(real_file_name) else: # need to trim result_file_name = '%s-%s-%s.mp4' % (each['src'].split('-')[0], each['start'], each['end']) my_h264_worker.trim(real_file_name, each['start'], each['end'], result_file_name, 30) file_name_list.append(result_file_name) my_h264_worker.concat(file_name_list, 'demo.mp4')
ffmpeg_cakes.append(get_single_ffmpeg_cake(each_single_cake)) return ffmpeg_cakes import threading import time class ScreenReporter(worker.ReportHandler): def report(self, messageobj): print '### Report to screen', str(messageobj) if __name__ == "__main__": grouped_fcp_cakes = jsonhelper.json_file_to_jsonobj('cakes.json') ffmpeg_cakes = convert_fcp_to_ffmpeg(grouped_fcp_cakes) # Fix: r2 or r3 not related to the actual file name # for each_ffmpeg_cake in ffmpeg_cakes: # layers = each_ffmpeg_cake['layers'] # for each_layer in layers: # each_layer['resource'] = each_layer['resource'].replace('r2', 'WP_20140830_14_39_10_Pro.mp4') # each_layer['resource'] = each_layer['resource'].replace('r3', 'WP_20140830_15_13_44_Pro.mp4') # Fix end. for idx, each_ffmpeg_cake in enumerate(ffmpeg_cakes): my_h264_worker = worker.RenderWorker( codecflag='-crf 18 -preset veryfast') my_h264_worker.add_handler(handler=ScreenReporter('screen_reporter'))