Python竟然能剪辑视频


Posted in Python onMay 25, 2021

大家好,我是辰哥。

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

MoivePy能干嘛呢,下面辰哥来给大家简单介绍一下。

提取音频

视频截取

视频合并

视频叠加

添加字幕

追踪人脸,打马赛克

炫酷的特效

阴影效果

.......

01提取音频

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

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

在开始之前,先把Moivepy库安装一下,通过下面的命令即可安装

pip install moviepy

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

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

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

Python竟然能剪辑视频

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

Python竟然能剪辑视频

打开音频,音质和视频中的音质一模一样(完美提取成功

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

Python竟然能剪辑视频

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

最终效果:

Python竟然能剪辑视频

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

Python竟然能剪辑视频

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

Python竟然能剪辑视频

打开后如下:

Python竟然能剪辑视频

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:上面代码只是演示合并两个视频,实际是可以合并多个的

Python竟然能剪辑视频

原视频:

Python竟然能剪辑视频

Python竟然能剪辑视频

最终合并视频:

Python竟然能剪辑视频

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。

Python竟然能剪辑视频

最终效果:

Python竟然能剪辑视频

05小结

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

添加字幕

追踪人脸,打马赛克

炫酷的特效

阴影效果

............

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

以上就是哇哦 Python竟然能剪辑视频的详细内容,更多关于Python剪辑视频的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python实现的批量下载RFC文档
Mar 10 Python
简单的连接MySQL与Python的Bottle框架的方法
Apr 30 Python
python使用in操作符时元组和数组的区别分析
May 19 Python
python anaconda 安装 环境变量 升级 以及特殊库安装的方法
Jun 21 Python
django 消息框架 message使用详解
Jul 22 Python
python实现读取excel文件中所有sheet操作示例
Aug 09 Python
Django项目中使用JWT的实现代码
Nov 04 Python
Python GUI自动化实现绕过验证码登录
Jan 10 Python
关于tf.TFRecordReader()函数的用法解析
Feb 17 Python
PyTorch中torch.tensor与torch.Tensor的区别详解
May 18 Python
总结Pyinstaller的坑及终极解决方法(小结)
Sep 21 Python
python获取带有返回值的多线程
May 02 Python
python中的None与NULL用法说明
May 25 #Python
判断Python中的Nonetype类型
May 25 #Python
Keras在mnist上的CNN实践,并且自定义loss函数曲线图操作
python编写五子棋游戏
浅谈python数据类型及其操作
对Keras自带Loss Function的深入研究
May 25 #Python
pytorch中的model=model.to(device)使用说明
May 24 #Python
You might like
动漫女神老婆无限好,但日本女生可能就不是这么一回事了!
2020/03/04 日漫
探讨php define()函数及defined()函数使用详解
2013/06/09 PHP
解析php session_set_save_handler 函数的用法(mysql)
2013/06/29 PHP
微信JSSDK分享功能图文实例详解
2019/04/08 PHP
thinkPHP框架通过Redis实现增删改查操作的方法详解
2019/05/13 PHP
用javascript获取地址栏参数
2006/12/22 Javascript
javascript+dom树型菜单类,希望朋友们一起进步
2007/05/03 Javascript
js apply/call/caller/callee/bind使用方法与区别分析
2009/10/28 Javascript
JS getStyle获取最终样式函数代码
2010/04/01 Javascript
JavaScript 函数参数是传值(byVal)还是传址(byRef) 分享
2013/07/02 Javascript
js传中文参数controller里获取参数乱码问题解决方法
2014/01/03 Javascript
利用Jquery实现可多选的下拉框
2014/02/21 Javascript
JavaScript实现表格点击排序的方法
2015/05/11 Javascript
深入学习JavaScript中的Rest参数和参数默认值
2015/07/28 Javascript
bootstrapValidator 重新启用提交按钮的方法
2017/02/20 Javascript
jQuery Pagination分页插件使用方法详解
2017/02/28 Javascript
js中自定义react数据验证组件实例详解
2018/10/19 Javascript
从0到1搭建Element的后台框架的方法步骤
2019/04/10 Javascript
使用preload预加载页面资源时注意事项
2020/02/03 Javascript
Vue2.x和Vue3.x的双向绑定原理详解
2020/11/05 Javascript
Python tempfile模块学习笔记(临时文件)
2014/05/25 Python
Python使用Pycrypto库进行RSA加密的方法详解
2016/06/06 Python
Python实现字符串匹配算法代码示例
2017/12/05 Python
利用Python代码实现数据可视化的5种方法详解
2018/03/25 Python
解决matplotlib库show()方法不显示图片的问题
2018/05/24 Python
使用Python AIML搭建聊天机器人的方法示例
2018/07/09 Python
说说如何遍历Python列表的方法示例
2019/02/11 Python
python实现五子棋游戏(pygame版)
2020/01/19 Python
设置jupyter中DataFrame的显示限制方式
2020/04/12 Python
python中列表的含义及用法
2020/05/26 Python
python 根据列表批量下载网易云音乐的免费音乐
2020/12/03 Python
python 自定义异常和主动抛出异常(raise)的操作
2020/12/11 Python
利用Python实现最小二乘法与梯度下降算法
2021/02/21 Python
文明礼仪伴我行演讲稿
2014/05/12 职场文书
2014年端午节演讲稿范文
2014/05/23 职场文书
离婚协议书格式
2014/11/21 职场文书