用python代码制作视频

前言

之前制作视频一般都是pr或者是在线制作视频,然后昨天偶然看到了一个python的库—moviepy,现在我们可以写代码来制作视频了。

安装

这个库安装起来很简单,还是老样子pip install moviepy
不过使用windows的话还需要安装ImageMagick,不然视频制作会报错。
安装ImageMagick的博客
安装好之后就可以慢慢探索这个库的使用了,基本上所有的视频剪辑操作都有相关的函数,我也发现了不少比较好的博客可以用来学习
moviepy的基本使用
国内的相关博客可能不多,有条件的可以去看看国外的相关博客

一个小例子

因为前两天六一刚好出门玩拍了一点视频照片,所以正好拿来作为素材。
准备好素材,然后写点字幕,用网页的文字转语音导出mp3文件,一切素材准备就绪就可以开始写代码了。
结构
在这里插入图片描述
代码

from moviepy import editor
import re


# 添加视频,做淡入淡出处理
video_clips=[]
for name in ["./MP4/10803738726833380508703892223.mp4","./MP4/video_20200601_150530.mp4"]:
    video_clip=editor.VideoFileClip(name).crossfadein(0.5).crossfadeout(0.5)
    video_clips.append(video_clip)
# 拼接
bg_video=editor.concatenate(video_clips)

# 语音
voice=editor.AudioFileClip("./MP3/1.mp3")
duration=voice.duration

# 字幕
with open("./txt/字幕.txt",encoding='utf-8') as f:
    text=f.readlines()[0]
    lines=[line for line in re.split(',|。',text) if line !='']
line_dur=duration/len(lines)

subtitle_clips=[]
for i,line in enumerate(lines):
    subtitle_clip=editor.TextClip(line,color='white',font="simhei.ttf",fontsize=60,bg_color='black',align='center')
    subtitle_clip=editor.CompositeVideoClip([subtitle_clip]).set_duration(line_dur).set_start(i*line_dur).set_end((i+1)*line_dur)
    subtitle_clips.append(subtitle_clip)

subtitles=editor.concatenate(subtitle_clips)

# 合成
final_audio=editor.CompositeAudioClip([voice.volumex(2)]).set_duration(duration)
final_video=editor.CompositeVideoClip([
    bg_video,
    subtitles.set_position(('center',0.8),relative=True)
]).set_duration(duration)

final_video=final_video.set_audio(final_audio)

# 导出
final_video.write_videofile('./test.mp4',fps=24)

然后同一目录下就会生成导出的视频。

最后

近期调整过来了,时不时会发点简单有趣的分享。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

shelgi

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值