实战|惊呆了,Python居然能剪辑视频!

你们好,我是辰哥。
python


辰哥以前就想着Python可不能够剪辑视频(提取视频的音频,视频截取等等),而后辰哥在网上一搜,还真找到了Python的一个处理音频的库-MoivePynginx


MoivePy能干吗呢,下面辰哥来给你们简单介绍一下。sql


  1. 提取音频微信

  2. 视频截取app

  3. 视频合并编辑器

  4. 视频叠加
    ide

  5. 添加字幕svg

  6. 追踪人脸,打马赛克学习

  7. 炫酷的特效flex

  8. 阴影效果

  9. .......


01
提取音频



平时咱们在刷短视频或者看到一些视频的时候(视频里才有,网上搜不到这种剪辑的音频时),但愿可以把视频里面的音频提取出来当背景音乐或者想平时听听可是不想打开视频时。


那么辰哥就用python教你们如何去提取一个视频里面的音频。


在开始以前,先把Moivepy库安装一下,经过下面的命令便可安装

pip install moviepy


安装好以后,接着我们就开始对视频进行处理了。


from moviepy.editor import *
video = VideoFileClip('七次人口普查.mp4')
audio = video.audio
audio.write_audiofile('七次人口普查.mp3')


这里以视频:七次人口普查.mp4为例,这个视频是辰哥以前录制的一个视频



提取好的音频保存为:七次人口普查.mp3



打开音频,音质和视频中的音质如出一辙(完美提取成功


02
截取视频



此外还能够将视频进行截取。截图的视频不只能够是保存成视频还能够将截取的视频保存为gif格式


1.截取后保存为视频


一样仍是以视频:七次人口普查.mp4为例(视频一共是38秒),我们从截取其中的一段(第5s~第25s)20秒。


video = VideoFileClip('七次人口普查.mp4')
# 剪辑这个clip 5s-25s,保存mp4
video2 = video.subclip(5, 25)
video2.write_videofile("七次人口普查5_25.mp4")


截取后的视频保存为:七次人口普查5_25.mp4



运行结束以后,视频就已经保存到本地(同时视频中的音频也对应的保存过来


最终效果:



打开以后,没问题,成功截取。



2.截取后保存为gif


接着将截取的视频保存成gif格式


video = VideoFileClip('七次人口普查.mp4')
# 剪辑这个clip 5s-25s,保存mp4
video2 = video.subclip(5, 25)
video2.write_gif("七次人口普查5_25.gif",fps=16)


代码中的fps是帧率,这里设置为16,fps越大,gif越清晰,同时gif也会越大。(这里设置了16,已经较为清晰了)


截取后的视频保存gif:七次人口普查5_25.gif



打开后以下:



03
视频合并





除了对视频截取外,还能够将多个视频进行合并。


video1 = VideoFileClip('七次人口普查.mp4')
video2 = VideoFileClip("七次人口普查5_25.mp4")
video3 = concatenate_videoclips([video1, video2])
video3.write_videofile("七次人口普查_合并.mp4")


视频:七次人口普查.mp4原视频(38秒),视频:七次人口普查5_25.mp4上面案例截取的视频(20秒),最后合并成:七次人口普查_合并.mp4


ps:上面代码只是演示合并两个视频,实际是能够合并多个的



原视频:




最终合并视频:



04
视频叠加



一般在电影中均可以看到视频中分块的部分不一样的画面。这用了视频叠加的效果。接下来辰哥教你们如何用Python去实现。


video1 = VideoFileClip("七次人口普查.mp4").margin(10)
video2 = video1.fx(vfx.mirror_x) # x轴镜像
video3 = video1.fx(vfx.mirror_y) # y轴镜像
video4 = video1.resize(0.8) # 尺寸等比缩放0.8
newvideo = clips_array([
[video1, video2],
[video3, video4]
])
newvideo.resize(width=480).write_videofile("七次人口普查_叠加.mp4")


这里主要是以视频:七次人口普查.mp4为例,弄成四方块的样式进行叠加。最候保存成:七次人口普查_叠加.mp4。



最终效果:



05
小结




ok,辰哥就介绍以上这四种剪辑视频的方法,此外还有不少方法。好比:

  1. 添加字幕

  2. 追踪人脸,打马赛克

  3. 炫酷的特效

  4. 阴影效果

  5. ............


这里辰哥就不一一演示了,感兴趣的小伙伴能够去搜索moviepy的文档教程进行学习。


最后为了你们方便学习,辰哥已经把本文的演示视频和源码上传,须要的在公众号后台回复:视频剪辑


最后说一声:原创不易,求给个赞、在看、评论


推荐阅读

实战|教你用Python玩转Redis

520情人节|用Python跟‘喜欢的人’表白

实战|教你用Python玩转Mysql

照片模糊?辰哥手把手教你用Python让照片高清化


本文分享自微信公众号 - Python研究者(zyzx3344)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索