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 09 Python
Python实现将sqlite数据库导出转成Excel(xls)表的方法
Jul 17 Python
解决PyCharm中光标变粗的问题
Aug 05 Python
深入理解Python异常处理的哲学
Feb 01 Python
pycharm创建scrapy项目教程及遇到的坑解析
Aug 15 Python
使用python3批量下载rbsp数据的示例代码
Dec 20 Python
Jupyter Notebook的连接密码 token查询方式
Apr 21 Python
python实现一次性封装多条sql语句(begin end)
Jun 06 Python
使用pytorch 筛选出一定范围的值
Jun 28 Python
pytorch学习教程之自定义数据集
Nov 10 Python
python中HTMLParser模块知识点总结
Jan 25 Python
python 如何在测试中使用 Mock
Mar 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自定义apk安装包实例
2014/10/20 PHP
THINKPHP项目开发中的日志记录实例分析
2014/12/01 PHP
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
2014/12/17 PHP
AJAX PHP无刷新form表单提交的简单实现(推荐)
2016/09/09 PHP
php+mysql+ajax实现单表多字段多关键词查询的方法
2017/04/15 PHP
PHP中error_reporting函数用法详细介绍
2017/06/11 PHP
JS的replace方法介绍
2012/10/20 Javascript
js判断生效时间不得大于失效时间的思路及代码
2013/04/23 Javascript
使用javascript实现ListBox左右全选,单选,多选,全请
2013/11/07 Javascript
JQGrid的用法解析(列编辑,添加行,删除行)
2013/11/08 Javascript
jsp网页搜索结果中实现选中一行使其高亮
2014/02/17 Javascript
js获取当前时间显示在页面上并每秒刷新
2014/12/24 Javascript
JavaScript常用的返回,自动跳转,刷新,关闭语句汇总
2015/01/13 Javascript
js跨域请求数据的3种常用的方法
2015/12/01 Javascript
基于JavaScript实现通用tab选项卡(通用性强)
2016/01/07 Javascript
jQuery实现获取table表格第一列值的方法
2016/03/01 Javascript
jquery实现转盘抽奖功能
2017/01/06 Javascript
浅谈Angular.js中使用$watch监听模型变化
2017/01/10 Javascript
基于MVC方式实现三级联动(JavaScript)
2017/01/23 Javascript
jQuery Mobile漏洞会有跨站脚本攻击风险
2017/02/12 Javascript
JS中通过url动态获取图片大小的方法小结(两种方法)
2018/10/31 Javascript
Vue利用History记录上一页面的数据方法实例
2018/11/02 Javascript
利用python实现汉字转拼音的2种方法
2019/08/12 Python
python中如何实现将数据分成训练集与测试集的方法
2019/09/13 Python
Python数据处理篇之Sympy系列(五)---解方程
2019/10/12 Python
不到20行实现Python代码即可制作精美证件照
2020/04/24 Python
Pycharm编辑器功能之代码折叠效果的实现代码
2020/10/15 Python
纽约的奢华内衣店:Journelle
2016/07/29 全球购物
波比布朗英国官网:Bobbi Brown英国
2017/11/13 全球购物
一份全面的PHP面试问题考卷
2012/07/15 面试题
2014年行政人事工作总结
2014/12/09 职场文书
公务员政审材料范文
2014/12/23 职场文书
小学数学国培研修日志
2015/11/13 职场文书
Python实战之实现简易的学生选课系统
2021/05/25 Python
php解析非标准json、非规范json的方式实例
2022/05/10 PHP
Python 避免字典和元组的多重嵌套问题
2022/07/15 Python