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 字符串中的字符倒转
Sep 06 Python
在Heroku云平台上部署Python的Django框架的教程
Apr 20 Python
在Python中使用lambda高效操作列表的教程
Apr 24 Python
python检查指定文件是否存在的方法
Jul 06 Python
Python中xml和json格式相互转换操作示例
Dec 05 Python
Python全局锁中如何合理运用多线程(多进程)
Nov 06 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
Nov 15 Python
Tensorflow: 从checkpoint文件中读取tensor方式
Feb 10 Python
python解析xml文件方式(解析、更新、写入)
Mar 05 Python
python使用ctypes库调用DLL动态链接库
Oct 22 Python
深入解析NumPy中的Broadcasting广播机制
May 30 Python
OpenCV实现常见的四种图像几何变换
Apr 01 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源码加密 仿微盾PHP加密专家(PHPCodeLock)
2010/05/06 PHP
php记录日志的实现代码
2011/08/08 PHP
PHP数据库操作之基于Mysqli的数据库操作类库
2014/04/19 PHP
js对象的构造和继承实现代码
2010/12/05 Javascript
js的隐含参数(arguments,callee,caller)使用方法
2014/01/28 Javascript
js倒计时简单实现方法
2015/12/17 Javascript
信息页文内画中画广告js实现代码(文中加载广告方式)
2016/01/03 Javascript
快速掌握Node.js事件驱动模型
2016/03/21 Javascript
详解JavaScript RegExp对象
2017/02/04 Javascript
jQuery插件zTree实现清空选中第一个节点所有子节点的方法
2017/03/08 Javascript
基于vue.js 2.x的虚拟滚动条的示例代码
2018/01/23 Javascript
vue axios请求超时的正确处理方法
2018/04/02 Javascript
在Vue项目中引入腾讯验证码服务的教程
2018/04/03 Javascript
Node.js文件编码格式的转换的方法
2018/04/27 Javascript
webpack4打包vue前端多页面项目
2018/09/17 Javascript
详解如何在Node.js的httpServer中接收前端发送的arraybuffer数据
2018/11/11 Javascript
vue elementUI table 自定义表头和行合并的实例代码
2019/05/22 Javascript
关于vue项目中搜索节流的实现代码
2019/09/17 Javascript
JavaScript生成随机验证码代码实例
2019/09/28 Javascript
详解Typescript里的This的使用方法
2021/01/08 Javascript
Python抓取Discuz!用户名脚本代码
2013/12/30 Python
浅谈python中的变量默认是什么类型
2016/09/11 Python
Python三种遍历文件目录的方法实例代码
2018/01/19 Python
python爬取各类文档方法归类汇总
2018/03/22 Python
Python爬取成语接龙类网站
2018/10/19 Python
python实现祝福弹窗效果
2019/04/07 Python
Python Datetime模块和Calendar模块用法实例分析
2019/04/15 Python
Django分组聚合查询实例分享
2020/04/29 Python
什么是Python变量作用域
2020/06/03 Python
python ETL工具 pyetl
2020/06/07 Python
我的动漫时代的创业计划书范文
2014/01/27 职场文书
服装设计师职业生涯规划范文
2014/02/28 职场文书
大学生暑期社会实践证明范本
2014/10/24 职场文书
身份证丢失证明
2015/06/19 职场文书
element多个表单校验的实现
2021/05/27 Javascript
MySQL的存储过程和相关函数
2022/04/26 MySQL