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使用装饰器和线程限制函数执行时间的方法
Apr 18 Python
Python2.x与Python3.x的区别
Jan 14 Python
Bottle框架中的装饰器类和描述符应用详解
Oct 28 Python
python安装twisted的问题解析
Aug 21 Python
Python使用matplotlib绘制随机漫步图
Aug 27 Python
set在python里的含义和用法
Jun 24 Python
python matplotlib库直方图绘制详解
Aug 10 Python
python 成功引入包但无法正常调用的解决
Mar 09 Python
python matplotlib:plt.scatter() 大小和颜色参数详解
Apr 14 Python
Python模拟登入的N种方式(建议收藏)
May 31 Python
golang/python实现归并排序实例代码
Aug 30 Python
python的netCDF4批量处理NC格式文件的操作方法
Mar 21 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
php下实现农历日历的代码
2007/03/07 PHP
php记录日志的实现代码
2011/08/08 PHP
linux iconv方法的使用
2011/10/01 PHP
PHP中HTML标签过滤技巧
2014/01/07 PHP
php阿拉伯数字转中文人民币大写
2015/12/21 PHP
PHP实现数据分页显示的简单实例
2016/05/26 PHP
php实现等比例压缩图片
2018/07/26 PHP
laravel实现上传图片的两种方式小结
2019/10/12 PHP
快速保存网页中所有图片的方法
2006/06/23 Javascript
JS中setTimeout()的用法详解
2013/04/14 Javascript
基于JavaScript实现文字超出部分隐藏
2016/02/29 Javascript
javascript简单实现跟随滚动条漂浮的返回顶部按钮效果
2016/08/19 Javascript
javaScript如何跳出多重循环break、continue
2016/09/01 Javascript
深入理解JS继承和原型链的问题
2016/12/17 Javascript
浅谈angularjs $http提交数据探索
2017/01/20 Javascript
Bootstrap的popover(弹出框)2秒后定时消失的实现代码
2017/02/27 Javascript
AngularJS中使用three.js的实例详解
2017/07/21 Javascript
JavaScript插入排序算法原理与实现方法示例
2018/08/06 Javascript
vue中v-text / v-html使用实例代码详解
2019/04/02 Javascript
浅谈vue异步数据影响页面渲染
2019/10/29 Javascript
vue使用nprogress实现进度条
2019/12/09 Javascript
在vue中使用console.log无效的解决
2020/08/09 Javascript
用Pygal绘制直方图代码示例
2017/12/07 Python
详解python之协程gevent模块
2018/06/14 Python
python 批量修改/替换数据的实例
2018/07/25 Python
让你Python到很爽的加速递归函数的装饰器
2019/05/26 Python
python中property属性的介绍及其应用详解
2019/08/29 Python
pytorch动态网络以及权重共享实例
2020/01/06 Python
Python中的sys.stdout.write实现打印刷新功能
2020/02/21 Python
python数据分析:关键字提取方式
2020/02/24 Python
基于Python和C++实现删除链表的节点
2020/07/06 Python
Python word文本自动化操作实现方法解析
2020/11/05 Python
求职推荐信
2013/10/28 职场文书
养成教育经验材料
2014/05/26 职场文书
大学生入党积极分子自我评价
2014/09/20 职场文书
民事起诉状范文
2015/05/19 职场文书