网站首页 > 技术文章 正文
《GitHub精选》是我们分享Github中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是 MoviePy一个用于视频编辑的 Python 库:剪切、串联、标题插入、视频合成(又名非线性编辑)、视频处理和创建自定义效果。
举例
这个例子中,我们打开一个视频文件,选择 t=50s 和 t=60s 之间的子剪辑,在屏幕中央添加一个标题,并将结果写入一个新文件:
from moviepy import *
video = VideoFileClip("myHolidays.mp4").subclip(50,60)
# Make the text. Many more options are available.
txt_clip = ( TextClip("My Holidays 2013",fontsize=70,color='white')
.with_position('center')
.with_duration(10) )
result = CompositeVideoClip([video, txt_clip]) # Overlay text on video
result.write_videofile("myHolidays_edited.webm",fps=25) # Many options...
安装
MoviePy 依赖于 Python 模块NumPy、Imageio、Decorator和Proglog,它们将在 MoviePy 安装期间自动安装。在您第一次使用 MoviePy 时,FFMPEG 软件应该会自动下载/安装(通过 imageio)(安装需要几秒钟)。如果要使用特定版本的 FFMPEG,请按照 中的说明进行操作config_defaults.py。
手动安装
$ (sudo) python setup.py install
使用 pip 安装
$ (sudo) pip install moviepy
如果你既没有setuptools也没有ez_setup安装,上面的命令就会失败。在这种情况下,在安装之前输入:
$ (sudo) pip install setuptools
对于高级图像处理,您将需要以下一个或多个软件包
- Python Imaging Library (PIL) 或者更好的是它的分支Pillow。
- 如果未安装 PIL 和 OpenCV,Scipy(用于跟踪、分割等)可用于调整视频剪辑的大小。
- 一些高级图像处理可能需要Scikit Image。
- cv2某些高级图像处理可能需要OpenCV 2.4.6或更新版本(提供包的版本)。
- Matplotlib
文档
构建文档具有需要安装的其他依赖项。
$ (sudo) pip install moviepy[doc]
可以通过以下方式生成和查看文档:
$ python setup.py build_docs
您可以将其他参数传递给文档构建,例如干净构建:
$ python setup.py build_docs -E
更多信息:https://www.sphinx-doc.org/en/master/usage/advanced/setuptools.html
新功能:Proglog 的进度条和消息
在 1.0.0 中引入了非向后兼容的更改,以使用Proglog管理进度条和消息 ,这可以在控制台以及 Jupyter 笔记本或任何用户界面(如网站)中显示漂亮的进度条。
要显示笔记本友好的进度条,首先安装 IPyWidgets:
sudo pip install ipywidgets
sudo jupyter nbextension enable --py --sys-prefix widgetsnbextension
然后在笔记本的开头输入:
import proglog
proglog.notebook()
完整文档:https://zulko.github.io/moviepy/
猜你喜欢
- 2024-09-11 给3D Slicer添加Python第三方插件库
- 2024-09-11 使用Python创建自己的Instagram滤镜
- 2024-09-11 薅羊毛我愿称Python为最强,Python 自动化带你轻松赚钱
- 2024-09-11 史上最全的OpenCV入门教程!这篇够你学习半个月了!万字长文入门
- 2024-09-11 使用python实现简易的人脸检测(python人脸检测106关键点)
- 2024-09-11 机器视觉技术(一)边缘提取(机器视觉边缘检测)
- 2024-09-11 Python-OpenCV 16. 图像特征检测与描述算法
- 2024-09-11 Flask—远程查看行空板USB摄像头视频
- 2024-09-11 OpenCV+Python识别车牌和字符分割的实现
- 2024-09-11 在Fedora中安装OpenCV-Python | 二
- 02-21走进git时代, 你该怎么玩?_gits
- 02-21GitHub是什么?它可不仅仅是云中的Git版本控制器
- 02-21Git常用操作总结_git基本用法
- 02-21为什么互联网巨头使用Git而放弃SVN?(含核心命令与原理)
- 02-21Git 高级用法,喜欢就拿去用_git基本用法
- 02-21Git常用命令和Git团队使用规范指南
- 02-21总结几个常用的Git命令的使用方法
- 02-21Git工作原理和常用指令_git原理详解
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)