实战|惊呆了,Python竟然能剪辑视频!

简介: 辰哥之前就想着Python可不可以剪辑视频(提取视频的音频,视频截取等等),然后辰哥在网上一搜,还真找到了Python的一个处理音频的库-MoivePyMoivePy能干嘛呢,下面辰哥来给大家简单介绍一下。

大家好,我是辰哥。

辰哥之前就想着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为例,这个视频是辰哥之前录制的一个视频

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

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

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

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

最终效果:

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

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

打开后如下:

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

原视频:

最终合并视频:

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。

最终效果:

05

小结

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

添加字幕

追踪人脸,打马赛克

炫酷的特效

阴影效果

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

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

最后为了大家方便学习,辰哥已经把本文的演示视频和源码上传,需要的在公众号后台回复:视频剪辑

最后说一声:原创不易,求给个赞、在看、评论

推荐阅读

实战|教你用Python玩转Redis

520情人节|用Python跟‘喜欢的人’表白

实战|教你用Python玩转Mysql

照片模糊?辰哥手把手教你用Python让照片高清化

相关文章
|
1月前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
3天前
|
前端开发 搜索推荐 编译器
【01】python开发之实例开发讲解-如何获取影视网站中经过保护后的视频-用python如何下载无法下载的视频资源含m3u8-python插件之dlp-举例几种-详解优雅草央千澈
【01】python开发之实例开发讲解-如何获取影视网站中经过保护后的视频-用python如何下载无法下载的视频资源含m3u8-python插件之dlp-举例几种-详解优雅草央千澈
【01】python开发之实例开发讲解-如何获取影视网站中经过保护后的视频-用python如何下载无法下载的视频资源含m3u8-python插件之dlp-举例几种-详解优雅草央千澈
|
1月前
|
小程序 开发者 Python
探索Python编程:从基础到实战
本文将引导你走进Python编程的世界,从基础语法开始,逐步深入到实战项目。我们将一起探讨如何在编程中发挥创意,解决问题,并分享一些实用的技巧和心得。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的参考。让我们一起开启Python编程的探索之旅吧!
48 10
|
2月前
|
监控 数据挖掘 数据安全/隐私保护
Python脚本:自动化下载视频的日志记录
Python脚本:自动化下载视频的日志记录
|
2月前
|
算法 Unix 数据库
Python编程入门:从基础到实战
本篇文章将带你进入Python编程的奇妙世界。我们将从最基础的概念开始,逐步深入,最后通过一个实际的项目案例,让你真正体验到Python编程的乐趣和实用性。无论你是编程新手,还是有一定基础的开发者,这篇文章都将为你提供有价值的信息和知识。让我们一起探索Python的世界吧!
|
2月前
|
并行计算 调度 开发者
探索Python中的异步编程:从基础到实战
在Python的世界里,异步编程是一种让程序运行更加高效、响应更快的技术。本文不仅会介绍异步编程的基本概念和原理,还将通过具体代码示例展示如何在Python中实现异步操作。无论你是初学者还是有经验的开发者,都能从中获益,了解如何运用这一技术优化你的项目。
|
2月前
|
数据采集 JSON 数据格式
深入解析:使用Python爬取Bilibili视频
本文介绍了如何使用Python编写脚本自动化下载Bilibili视频。通过requests等库获取视频和音频URL,使用ffmpeg合并音视频文件,最终实现高效下载。注意遵守网站爬虫政策和法律法规。
342 4
|
2月前
|
数据处理 Python
探索Python中的异步编程:从基础到实战
在Python的世界中,“速度”不仅是赛车手的追求。本文将带你领略Python异步编程的魅力,从原理到实践,我们不单单是看代码,更通过实例感受它的威力。你将学会如何用更少的服务器资源做更多的事,就像是在厨房里同时烹饪多道菜而不让任何一道烧焦。准备好了吗?让我们开始这场技术烹饪之旅。
|
2月前
|
机器学习/深度学习 数据采集 数据可视化
Python数据科学实战:从Pandas到机器学习
Python数据科学实战:从Pandas到机器学习
|
2月前
|
机器学习/深度学习 数据采集 人工智能
机器学习入门:Python与scikit-learn实战
机器学习入门:Python与scikit-learn实战
72 0