moviepy,短视频生成

2021-01-08 15:33:49 浏览数 (1)

moviepy

moviepy是一个用于视频编辑的python模块,能够实现基本的操作,比如视频的裁剪,拼接,插入标题等等 甚至还自带了一些高级的特效,以后再说。当然,gif格式的读写也在其内。

简单说,moviepy可以作为服务端的视频处理,在服务端完成简单的处理,流水线工作。而且考虑到实际上所有的视频处理最后都追踪到 底层的数据处理,理论上知晓视频处理的原理,可以完成甚至开发新的功能。

pip安装

pip install moviepy即可完成安装

opencv

opencv也是我们最常用的视频读写库,但是opencv很明显,不太适合简单的视频剪辑,而更适合视频处理的用户,比如完成运动目标检测,运动目标跟踪等等。

基本使用

代码语言:javascript复制
import random

from moviepy import editor


def merge_music_video(video, audio):
    return video.set_audio(audio)  # 返回用audio代替背景声的video


clip = editor.VideoFileClip('./origin/1.mp4')  # 读取视频
todo = clip.subclip(0, 5)  # 截取视频的前5秒
time_length = clip.duration  # 拿到视频的时长
count_length = int(time_length / 10)  # 以10秒为间隔,拿到全视频10s为片段的数量
count_list = range(0, count_length)  # 生成列表
random_list = random.sample(count_list, 9)  # 从列表中随机选取9个,共计90s

bg_audio = editor.AudioFileClip('./bg-music/1.mp3')  # 读取音乐
for item in random_list:
    todo = editor.concatenate_videoclips([todo, clip.subclip(item * 10, item * 10   10)])  # concatenate拼接两个视频
# todo=merge_music_video(todo,bg_audio)
todo.write_videofile('./output/1.mp4', threads=16)  # 以16个线程保存视频

这将是一个有趣的东西,计划完成到自动生成营销短视频的程度!

0 人点赞