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利用正则表达式匹配并截取指定子串及去重的方法
Jul 30 Python
python爬虫之xpath的基本使用详解
Apr 18 Python
python判断一个集合是否为另一个集合的子集方法
May 04 Python
python爬取基于m3u8协议的ts文件并合并
Apr 26 Python
pyinstaller打包单个exe后无法执行错误的解决方法
Jun 21 Python
对python中不同模块(函数、类、变量)的调用详解
Jul 16 Python
python实现字典嵌套列表取值
Dec 16 Python
在ipython notebook中使用argparse方式
Apr 20 Python
Keras SGD 随机梯度下降优化器参数设置方式
Jun 19 Python
Python爬虫之爬取最新更新的小说网站
May 06 Python
tensorboard 可视化之localhost:6006不显示的解决方案
May 22 Python
python 安全地删除列表元素的方法
Mar 16 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
如何使用FireFox插件FirePHP调试PHP
2013/07/23 PHP
php实现图片上传、剪切功能
2016/05/07 PHP
php 的多进程操作实践案例分析
2020/02/28 PHP
10款新鲜出炉的 jQuery 插件(Ajax 插件,有幻灯片、图片画廊、菜单等)
2011/06/08 Javascript
JS Date函数整理方便使用
2013/10/23 Javascript
js获取光标位置和设置文本框光标位置示例代码
2014/01/09 Javascript
nodejs npm包管理的配置方法及常用命令介绍
2014/06/05 NodeJs
jquery获取html元素的绝对位置和相对位置的方法
2014/06/20 Javascript
node.js中的fs.truncateSync方法使用说明
2014/12/15 Javascript
js控制div弹出层实现方法
2015/05/11 Javascript
javascript实时显示当天日期的方法
2015/05/20 Javascript
Javascript 使用ajax与C#获取文件大小实例详解
2017/01/13 Javascript
js实现音乐播放控制条
2017/09/09 Javascript
node.js基于socket.io快速实现一个实时通讯应用
2019/04/23 Javascript
微信小程序在线客服自动回复功能(基于node)
2019/07/03 Javascript
layui使用数据表格实现购物车功能
2019/07/26 Javascript
vue多个元素的样式选择器问题
2019/11/29 Javascript
Vue 一键清空表单的实现方法
2020/02/07 Javascript
解决vue项目,npm run build后,报路径错的问题
2020/08/13 Javascript
[01:11:15]VGJ.S vs Secret 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
从django的中间件直接返回请求的方法
2018/05/30 Python
数组保存为txt, npy, csv 文件, 数组遍历enumerate的方法
2018/07/09 Python
wxpython绘制圆角窗体
2019/11/18 Python
详解django中Template语言
2020/02/22 Python
信号生成及DFT的python实现方式
2020/02/25 Python
Python 的 f-string 可以连接字符串与数字的原因解析
2021/02/20 Python
实例教程 一款纯css3实现的数字统计游戏
2014/11/10 HTML / CSS
德国BA保镖药房韩文网:kr.ba.de
2017/09/04 全球购物
Gtech官方网站:地毯清洁器、吸尘器及园艺设备
2018/05/23 全球购物
英国游戏机和游戏购物网站:365games.co.uk
2018/06/18 全球购物
后勤采购员岗位职责
2013/12/19 职场文书
庆祝教师节标语
2014/10/09 职场文书
护理见习报告范文
2014/11/03 职场文书
给客户的检讨书
2014/12/21 职场文书
如何让2019年上半年的工作总结更出色!
2019/07/01 职场文书
电脑开机弹出documents文件夹怎么回事?弹出documents文件夹解决方法
2022/04/08 数码科技