Python3,Moviepy,一款功能强大且操作简单的视频剪辑神库。

简介: Python3,Moviepy,一款功能强大且操作简单的视频剪辑神库。

1、引言

小屌丝:鱼哥, 你知不知道Pr ,

小鱼:Pr,请把剩下的字母补全。

小屌丝:就是 Premiere

小鱼:就是这个啊

小屌丝:对啊,是这个啊

小鱼:不知道。

小屌丝:… 那 Edius知道不

小鱼:不知道。

小屌丝:…Vegas呢

小鱼:不知道

小屌丝:唉我去~~ 一问三不知。

小鱼:(ˉ▽ ̄~) 切~~ ,你还真以为我不知道啊

小屌丝:难道,你知道?

小鱼:那必须的, 这些都是很主流的 视频剪辑软件了。

小屌丝:那,鱼哥,你电脑是不是已经安装了这些软件。

小鱼:咋的, 你想干啥?

小屌丝:我女神想让我给她制作一个视频,我这不是正经人,就寻思找个正经的软件。

小鱼:你女神让你做的事情,管我啥子事么。

小屌丝:你要是帮我搞定,黑桃A, 35号技师,任选其一。

小鱼:小孩子才做选择题。我是成年人。

小屌丝:… 好吧, 搞。搞好了就行。

小鱼:视频给我, 我来搞定。


今天我们的视频剪辑, 绕开商业版, 今天使用开源版的软件,来帮小屌丝的 女神完成视频剪辑。

想知道是什么吗?

2、Moviepy

2.1 定义

Moviepy是一个用于视频编辑的Python库。它提供了一种简单而强大的方式来处理视频文件,包括:

  • 剪辑
  • 合并
  • 裁剪
  • 旋转
  • 缩放
  • 添加文本
  • 添加音频等

看到这里,是不是不禁感叹,哇塞, Moviepy是不是太神奇了。

我们接着往下看。

2.2 功能

Moviepy 的优点那是非常的奈斯,如:

  • 简单易用:Moviepy提供了简洁的API,使得视频编辑变得简单易懂。用户可以通过简单的代码实现复杂的视频编辑操作。
  • 支持多种视频格式:Moviepy支持常见的视频格式,包括MP4、AVI、WMV等。用户可以轻松地导入和导出不同格式的视频文件。
  • 强大的视频处理功能:Moviepy提供了丰富的视频处理功能,包括剪辑、合并、裁剪、旋转、缩放、添加文本、添加音频等。用户可以根据自己的需求进行灵活的视频编辑。
  • 支持视频效果和转场效果:Moviepy提供了多种视频效果和转转场效果,包括模糊、亮度调整、颜色调整、过渡效果等。用户可以通过简单的代码实现各种炫酷的视频效果。
  • 可扩展性强:Moviepy是基于Python的开源库,用户可以根据自己的需求进行扩展和定制。同时,Moviepy还与其他Python库(如NumPy、Pillow等)兼容,可以与其它库进行无缝集成。

看到这里,是不是又要说一句,

此时,不要停, 不要停下来,我们继续往下看。

2.3 代码示例

2.3.1 安装

涉及到第三方库,肯定就需要安装

老规矩,pip 安装

pip install moviepy

然后就是等待着安装。

其它安装方式,直接看这两篇:

2.3.2 实例

安装完成后,我们就来看看它的技能了。

代码示例

# -*- coding:utf-8 -*-
# @Time   : 2023-07-04
# @Author : Carl_DJ
'''
实现功能:
    使用moviepy库,进行视频的常规操作,如:
      加载视频文件
      剪辑视频
      添加文字和音乐
      导出视频
'''
from moviepy.editor import *
# 加载视频文件
video = VideoFileClip("Demo_video.mp4")
# 设置剪辑的起始和结束时间(秒)
start_time = 10
end_time = 60
# 剪辑视频
clipped_video = video.subclip(start_time, end_time)
# 添加文字,并设置字体的颜色和大小等
text = TextClip("Hello, Carl_DJ!", fontsize=35, color='yellow')
text = text.set_position('center').set_duration(5)
# 添加音乐
audio = AudioFileClip("Demo_music.mp3").subclip(0, 5)
# 将文字和音乐添加到视频中
final_video = CompositeVideoClip([clipped_video, text])
final_video = final_video.set_audio(audio)
# 导出视频
final_video.write_videofile("Demo_output.mp4")

3、总结

看到这里,今天的分享差不多就结束了。

今天主要针对Moviepy库的常用方法进行了分享,主要:

  • 加载视频文件
  • 剪辑视频
  • 添加文字和音乐到
  • 导出视频

学会了Moviepy库, 就不需要花费银两购买专业的剪辑软件,从而也能实现视频剪辑制作。

我是小鱼

  • CSDN 博客专家;
  • 阿里云 专家博主;
  • 51CTO博客专家;
  • 51认证讲师等;
  • 认证金牌面试官;
  • 职场面试及培训规划师;
  • 多个国内主流技术社区的认证专家博主;
  • 多款主流产品(阿里云等)测评一、二等奖获得者;

关注我,带你学习更多更专业更前言的Python技术。

目录
相关文章
|
1天前
|
SQL 并行计算 API
Dask是一个用于并行计算的Python库,它提供了类似于Pandas和NumPy的API,但能够在大型数据集上进行并行计算。
Dask是一个用于并行计算的Python库,它提供了类似于Pandas和NumPy的API,但能够在大型数据集上进行并行计算。
19 9
|
1天前
|
机器学习/深度学习 人工智能 数据挖掘
Numba是一个Python库,用于对Python代码进行即时(JIT)编译,以便在硬件上高效执行。
Numba是一个Python库,用于对Python代码进行即时(JIT)编译,以便在硬件上高效执行。
20 9
|
1天前
|
网络协议 安全 Shell
`nmap`是一个开源的网络扫描工具,用于发现网络上的设备和服务。Python的`python-nmap`库允许我们在Python脚本中直接使用`nmap`的功能。
`nmap`是一个开源的网络扫描工具,用于发现网络上的设备和服务。Python的`python-nmap`库允许我们在Python脚本中直接使用`nmap`的功能。
23 7
|
1天前
|
机器人 Shell 开发者
`roslibpy`是一个Python库,它允许非ROS(Robot Operating System)环境(如Web浏览器、移动应用等)与ROS环境进行交互。通过使用`roslibpy`,开发者可以编写Python代码来远程控制ROS节点,发布和订阅话题,以及调用服务。
`roslibpy`是一个Python库,它允许非ROS(Robot Operating System)环境(如Web浏览器、移动应用等)与ROS环境进行交互。通过使用`roslibpy`,开发者可以编写Python代码来远程控制ROS节点,发布和订阅话题,以及调用服务。
18 8
|
1天前
|
自然语言处理 程序员 编译器
`pylatex`是一个Python库,用于生成LaTeX文档。LaTeX是一种用于高质量排版和打印的文档准备系统,特别适用于科学、技术和数学文档。
`pylatex`是一个Python库,用于生成LaTeX文档。LaTeX是一种用于高质量排版和打印的文档准备系统,特别适用于科学、技术和数学文档。
11 2
|
1天前
|
存储 对象存储 Python
`openpyxl`是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。它不需要Microsoft Excel,也不需要.NET或COM组件。
`openpyxl`是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。它不需要Microsoft Excel,也不需要.NET或COM组件。
6 1
|
1天前
|
数据采集 数据挖掘 数据处理
Python数据分析加速器:深度挖掘Pandas与NumPy的高级功能
【7月更文挑战第14天】Python的Pandas和NumPy库是数据分析的核心工具。Pandas以其高效的数据处理能力,如分组操作和自定义函数应用,简化了数据清洗和转换。NumPy则以其多维数组和广播机制实现快速数值计算。两者协同工作,如在DataFrame与NumPy数组间转换进行预处理,提升了数据分析的效率和精度。掌握这两者的高级功能是提升数据科学技能的关键。**
7 0
|
1天前
|
缓存 测试技术 Python
Python中的装饰器:优雅地增强函数功能
在Python编程中,装饰器是一种强大的工具,它能够在不改变函数本身的情况下,动态地增强其功能。本文将深入探讨装饰器的工作原理、常见用法以及如何利用装饰器提高代码的可重用性和可维护性。
|
1天前
|
存储 搜索推荐 算法
`surprise`是一个用于构建和分析推荐系统的Python库。
`surprise`是一个用于构建和分析推荐系统的Python库。
11 0
|
1天前
|
Python
`scipy.signal`模块是SciPy库中的一个子模块,它提供了信号处理、滤波、频谱分析等功能。这个模块包含了许多用于信号处理的函数和类,其中`butter()`和`filtfilt()`是两个常用的函数。
`scipy.signal`模块是SciPy库中的一个子模块,它提供了信号处理、滤波、频谱分析等功能。这个模块包含了许多用于信号处理的函数和类,其中`butter()`和`filtfilt()`是两个常用的函数。
10 0