Exemple #1
0
def part3(vedio_path, output_path):
    """
    时间轴特效
    :return:
    """
    print("part3 拼接中---------")

    try:
        clip = VideoFileClip(vedio_path, audio=False)
        modifiedClip1 = clip.fl_time(lambda t: 1.5 * t, )  #倍速
        modifiedClip2 = clip.fl_time(lambda t: 2 * t)
        modifiedClip3 = clip.fl_time(lambda t: 2.5 * t)
        final_clip = clips_array([
            [clip, modifiedClip1],
            [modifiedClip2, modifiedClip3],
        ])
        final_clip.duration = clip.duration

        final_clip.write_videofile(output_path)
        final_clip.close()
    except Exception:
        pass
    return output_path
Exemple #2
0
#------------------------------------------------------------------------
# Transform into pairs of (origin_offset, destination_offset)
#------------------------------------------------------------------------
brightnesses = dict([ ("%.2f" % (index / clip.fps), value[0]) for index, value in enumerate(brightnesses) ])
print "Found %f frames" % (clip.fps * clip.duration)

#------------------------------------------------------------------------
# Filter function.
# Need two cases, for video (scalar offsets) and audio (arrays).
#------------------------------------------------------------------------
def remap_time(t):
    try:
        t0 = t[0]
        t1 = brightnesses["%.2f" % t0]
        t += (t1 - t0)
    except:
        try:
            t0 = t
            t1 = brightnesses["%.2f" % t0]
            t += (t1 - t0)
        except Exception, e:
            print "Exception when reordering: %s" % e
            sys.exit(1)
    return t

#------------------------------------------------------------------------
# Process the clip.
#------------------------------------------------------------------------
clip_sorted = clip.fl_time(remap_time, apply_to=['mask', 'audio'], keep_duration=True)
clip_sorted.write_videofile(args.output, fps = clip.fps, write_logfile = True, audio_bufsize = int(44100.0 / clip.fps))
Exemple #3
0
def video_preview(source, pipeline):
    clip = VideoFileClip(source)
    clip = clip.fl_time(lambda t: t + 39)
    output = clip.fl_image(pipeline)
    output.duration = 5
    output.preview()