zoukankan      html  css  js  c++  java
  • 如何使用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")
  • 相关阅读:
    阿里规范
    阿里规范
    阿里规范
    sql 优化步骤
    事务的并发问题:脏读、幻读和不可重复读
    Hive 常见面试题(二)
    yield 的使用
    Java 线程状态
    Lambda 表达式推演全过程
    IDEA 代码自动补全/自动联想 功能
  • 原文地址:https://www.cnblogs.com/wybert/p/12400907.html
Copyright © 2011-2022 走看看