Python批量视频分段(基于moviepy)

MoviePy简介

MoviePy是一个用于视频编辑的Python模块,它可被用于一些基本操作(如剪切、拼接、插入标题)、视频合成(即非线性编辑)、视频处理和创建高级特效。它可对大多数常见视频格式进行读写,包括GIF。
在这里插入图片描述

简单使用

安装moviepy库

pip install moviepy

简单操作:

from moviepy.editor import *
video = VideoFileClip("esword.mp4")
clip1 = video.subclip(10,20)#第10秒到第20秒的片段
clip2 = video.subclip(30,35)#第10秒到第20秒的片段
final_clip = concatenate_videoclips([clip1,clip2])
final_clip.write_videofile("new_esword.mp4")#写入10-20片段和30-35s片段的新视频

批量视频分段(根据时间)

import glob
from shutil import copy
from moviepy.editor import *

def subclips_from_dir(dir_path,new_path,clip_duration=3):
    for all_file_name in glob.glob(dir_path):
        file_name_array = all_file_name.split('/')
        sub_dir = file_name_array[-2]

        video = VideoFileClip(all_file_name)

        file_name = file_name_array[-1]
        video_duration = int(video.duration)

        if not os.path.exists(os.path.join(new_path, sub_dir)): os.makedirs(os.path.join(new_path, sub_dir))
        if video_duration<3:
            copy(all_file_name,os.path.join(new_path,sub_dir,file_name))
        else:
            for i in range(0,video_duration,clip_duration):

                new_file_name = os.path.join(new_path,sub_dir,str(i)+'_'+file_name)
                sub_video = video.subclip(i, min(i + clip_duration, video_duration))
                sub_video.write_videofile(new_file_name)

if __name__ == "__main__":
    dir = "/home/esword/datasets/esword/*/*"
    new_dir = "/home/esword/datasets/esword_3"
    subclips_from_dir(dir,new_dir,3) #3秒一个视频分段

进阶应用

MoviePy最强大的功能当然还是各种剪辑
上述脚本只是懒得调ffmpeg而已😥😥
中文手册:
http://doc.moviepy.com.cn/

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赛文X

觉得不错就打赏下呗mua~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值