• 如何使用Python完成视频的快速剪辑


    没有特别高效的方法,不过可以使用moviepy来进行尝试,这里的经验是,时刻注意自己的视频的大小和视频的长短,输出出来(这些参数)看看。不过这个moviepy不像在pr中的那样能够支持实时预览。但是能够支持预览其中的某些帧。这样其实对于简单的应用可以自动化的处理。

     除了 moviepy之外,还可以使用这个工具:https://yuuno.encode.moe/。问题在于这个工具的编辑效率和速度也没有经过测试。

    一下的代码实现,对一段运动的视频进行加速播放,时期变成60s,然后配上一段音乐并输出视频。试了一下大概20分钟的视频,按照代码中的设置,在我的上网本上需要运行6分钟。

    # coding: utf-8
    from moviepy.editor import *
    import datetime
    
    video_fileName = "WIN_20200302_22_49_10_Pro.mp4"
    audio_fileName = "song21719403.mp3"
    
    # 加速为 60s
    duration = 60
    save_video_name = "day12.mp4"
    
    
    
    clip = VideoFileClip(video_fileName)
    print("video clip size:",clip.size)
    print("video duration:%s mins"%str(clip.duration/60))
    
    # clip = clip.resize(0.50)
    clip = clip.resize(width = 640)
    print("video resize to:",clip.size)
    
    clip = clip.fx( vfx.speedx, final_duration = duration)
    print("change video duration to:",clip.duration)
    
    
    
    audioclip = AudioFileClip(audio_fileName)
    audioclip = audioclip.subclip(0,clip.duration)
    print("change audio duration to:",audioclip.duration)
    
    
    videoclip2 = clip.set_audio(audioclip)
    
    s = datetime.datetime.now()
    videoclip2.write_videofile(save_video_name)
    e = datetime.datetime.now()
    
    print("total used:",(e-s).seconds/60,"mins")
  • 相关阅读:
    C#多线程(16):手把手教你撸一个工作流
    C#多线程(15):任务基础③
    C#多线程(14):任务基础②
    C#多线程(13):任务基础①
    C#多线程(12):线程池
    C#多线程(11):线程等待
    C#多线程(10):读写锁
    C#多线程(9):多阶段并行线程
    C#多线程(8):线程完成数
    C#多线程(7):手动线程通知
  • 原文地址:https://www.cnblogs.com/wybert/p/12400907.html
Copyright © 2020-2023  润新知