示例#1
0
        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.
示例#2
0
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'))