当前位置: 首页 > news >正文

使用python库moviepy完成视频剪辑

1.关于moviepy和原理

moviepy事github上面的一个开源项目,地址是:GitHub - Zulko/moviepy: Video editing with Python

官方文档地址:

User Guide — MoviePy 1.0.2 documentation

中文版文档可参考:

MoviePy中文手册 — moviepy-cn 文档

底层是调用其他开源的视频、图片等开源软件,操作视频使用的ffmpeg,地址为:

https://github.com/FFmpeg/FFmpeg

操作图片使用ImageMagick,地址为:

https://github.com/ImageMagick/ImageMagick

2.windows上安装

a.下载和安装FFmpeg,地址为:Download FFmpeg ,安装完成后设置环境变量

b.下载和安装ImageMagick,地址为:ImageMagick – Download

c.安装moviepy,使用命令 pip install moviepy

d.修改 moviepy/config_defaults.py 中的IMAGEMAGICK_BINARY的值为本地magic.exe的绝对路径

3.实操和代码示例

from moviepy.editor import *inPath = r'E:\songhq\video\car_concatenate.mp4'
outPath = r'E:\songhq\video\car_concatenate_word.mp4'clip = VideoFileClip(inPath)
print(TextClip.list('font'))
# 添加文本
text_clip = TextClip("端午节六折大甩卖!", fontsize=70, color="red", font='simfang.ttf')text_clip = text_clip.set_position((800, 50)).set_duration(3)
final_clip = CompositeVideoClip([clip, text_clip])final_clip.write_videofile(outPath)if __name__ == '__main__':# processors.reverse_video(r'E:\songhq\video\login.mp4',r'E:\songhq\video\aa.mp4')# clip = VideoFileClip(r'E:\songhq\video\login.mp4').rotate(180)# clip.write_videofile(r'E:\songhq\video\login_180.mp4')# font = TextClip.list('font')# for a in font:#     print("字体" + a)inputPath = r'E:\songhq\video\login.mp4'inputPath2 = r'E:\songhq\video\video.mp4'outPath = r'E:\songhq\video\login_hebing.mp4'musicPath = r'E:\songhq\video\追光者.mp3'start_time = 0end_time = 7video = VideoFileClip(inputPath)video2 = VideoFileClip(inputPath2)# 对视频进行剪辑clipped_video = video.subclip(start_time, end_time)video2 = video2.subclip(0, 3)final_clip = concatenate_videoclips([clipped_video, video2])# 添加文字# txtclip = TextClip(inf, font='仿宋_GB2312.ttf', fontsize=18, color='blue', bg_color='white', transparent=True).set_duration(30).resize((clip.size[0], clip.size[1] * 2)).set_fps(clip.fps)text = TextClip("MyHolidays", fontsize=90, color='white', font='simfang.ttf')# 插入图片text = text.set_position('center').set_duration(5)# 添加音乐 .subclip(0, 7) 可以截片段audio = AudioFileClip(musicPath).subclip(40, 50)# 将文字和音乐添加到视频中final_video = CompositeVideoClip([final_clip, text])final_video = final_video.set_audio(audio)final_video.write_videofile(outPath)

相关文章:

使用python库moviepy完成视频剪辑

1.关于moviepy和原理 moviepy事github上面的一个开源项目,地址是:GitHub - Zulko/moviepy: Video editing with Python 官方文档地址: User Guide — MoviePy 1.0.2 documentation 中文版文档可参考: MoviePy中文手册 — mov…...

Java高手的30k之路|面试宝典|精通泛型

泛型 知识点 在Java高级开发中,掌握泛型(Generics)是非常重要的,它是Java语言中的一项重要特性,提供了编译时类型安全检查机制,使得代码更加灵活和可重用。以下是Java高级开发需要掌握的泛型知识点&#…...

清理Linux操作系统buff/cache缓存

清理Linux操作系统buff/cache缓存 清理页缓存 echo 1 > /proc/sys/vm/drop_caches 或者 sysctl -w vm.drop_caches1 清理目录项和inode缓存 echo 2 > /proc/sys/vm/drop_caches 或者 sysctl -w vm.drop_caches2 同时清理页缓存、目录项和inode缓存 echo 3 > /pr…...

接口测试的几种方法

其实无论用那种测试方法,接口测试的原理是通过测试程序模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做出处理然后再把应答报文发送给客户端,客户端接收应答报文这一个过程。 方法一、用LoadRunner实现接口测试 大家都…...

OpenGL3.3_C++_Windows(3)

GLSL Shader基础 Shader(把输入转化为输出,运行在GPU上):首先要声明版本,有各自的入口点main()顶点数据上限:16个包含4分量:16 * 4 64个分量向量:容器vec。使用.x、.y、.z和.w&am…...

24执业药师报名时间汇总及报名流程!

24执业药师报名时间汇总!报名流程! 🕛️各省市报名时间汇总(共9地) 西藏:6月29日-7月8日 新疆:6月25日10:30-7月9日19:00 内蒙古:6月20日9:00-7月3日24:00 新疆兵团:6月2…...

成都跃享未来教育咨询解锁新篇章

在快节奏的现代社会中,每个人都在追求着属于自己的非凡人生。而成都跃享未来教育咨询,正是那个能够智慧引领你走向成功、成就非凡人生的灯塔。 跃享未来教育咨询,位于历史悠久的文化名城成都,这里不仅有丰富的文化底蕴&#xff0c…...

怎么把网页上的接口信息导入postman

第一步 打开f12,右键选中需要的接口。选择copy-copy as cURL 第二步 打开postman,选择"Raw Text", 把刚才复制的curl粘贴到空白位置,点击Continue - 最后的效果。导入的接口自带cookie,不用再输入cookie&a…...

10KM无人机高清图传通信模组,低延迟、抗干扰,飞睿智能无线MESH组网模块

随着科技的飞速发展,无人机技术在各个领域的应用越来越广泛。尤其在海上监测、搜索救援、货物运输等场景中,无人机的应用显得尤为重要。然而,要实现无人机在复杂海域环境中的高效通信,高清图传通信模组的作用不可忽视。本文将深入…...

分布式文件存储 - - - MinIO从入门到飞翔

MinIO从入门到飞翔 文章目录 MinIO从入门到飞翔0、前言1、分布式文件系统2、MinIO 介绍3、 MinIO安装(docker)4、基本概念5、通过代码上传文件到MinIO6、封装MinIO为starter7、在其他项目中集成封装好的模块 0、前言 对象存储是一种数据存储架构&#x…...

Python界面编辑器Tkinter布局助手 使用体验

一、发现 我今天在网上搜关于Python Tkinter方面的信息时,发现了Python界面编辑器 Tkinter布局助手 的使用说明。 https://blog.csdn.net/weixin_52777652/article/details/135291731?spm1001.2014.3001.5506 这个编辑器是个开源的项目,个人用户可以…...

嵌入式操作系统_2.嵌入式操作系统的一般架构

1.嵌入式操作系统的概念 嵌入式操作系统通常由硬件驱动程序、调式代理、操作系统内核、文件系统和可配置组件等功能组成,并为应用软件提供标准的API(Application Programming Interface)接口服务。 2.一般嵌入式操作系统的体系结构 从嵌入…...

docker 容器 network host 模式启动

docker 默认启动容器 network 是 bridge 模式,需使用 -p 映射端口实现容器与宿主机网络通信,较安全; 当使用 network host 模式,直接走宿主机网络通信,较不安全。 下面来一个 docker 容器 network host 模式启动 的 实…...

群晖NAS安装配置Joplin Server用来存储同步Joplin笔记内容

一、Joplin Server简介 1.1、Joplin Server介绍 Joplin支持多种方式进行同步用户的笔记数据(如:Joplin自己提供的收费的云服务Joplin Cloud,还有第三方的云盘如Dropbox、OneDrive,还有自建的云盘Nextcloud、或者通过WebDAV协议来…...

leetcode-08-[151]翻转字符串里的单词[卡码网55]右旋转字符串

一、[151]翻转字符串里的单词 重点:见注释 class Solution {public String reverseWords(String s) {//1、移除多余的空格StringBuilder stringBuilder removeSpace(s);//2、反转整个字符串reverse(stringBuilder,0,stringBuilder.length()-1);//3、反转每个单词…...

Json-server 的使用教程

目录 前言一、简介二、安装与配置1. 安装 node-js2. npm 镜像设置3. 安装 json-server 三、使用1. 创建本地数据源2. 启动 Json Server3. 操作数据(1)查询数据(2)新增数据(3)修改数据(4&#xf…...

LLM中表格处理与多模态表格理解

文档处理中不可避免的遇到表格,关于表格的处理问题,整理如下,供各位参考。 问题描述 RAG中,对上传文档完成版式处理后进行切片,切片前如果识别文档元素是表格,那么则需要对表格进行处理。一般而言&#x…...

短剧系统搭建全攻略:功能齐全,一步到位

前言 近年来,短剧系统以其独特魅力,成为大众消遣娱乐的热门选择。简单来说,短剧系统就是用来看短剧的小程序,它汇集了丰富多彩的短剧资源,让观众随时随地享受观影乐趣。本文将为你详细解析短剧系统的搭建全攻略&#…...

【Linux】进程_7

文章目录 五、进程8. 进程地址空间9. 进程终止10. 进程等待 未完待续 五、进程 8. 进程地址空间 我们上节知道了进程地址空间是根据页表来使虚拟地址转换成内存中的物理地址,那这种 地址空间 页表 的机制有什么好处呢?①这种机制可以将物理内存从无序…...

从中概回购潮,看互联网的未来

王兴的饭否语录里有这样一句话:“对未来越有信心,对现在越有耐心。” 而如今的美团,已经不再掩饰对未来的坚定信心。6月11日,美团在港交所公告,计划回购不超过20亿美元的B类普通股股份。 而自从港股一季度财报季结束…...

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...

线程同步:确保多线程程序的安全与高效!

全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

Java 二维码

Java 二维码 **技术&#xff1a;**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...

(一)单例模式

一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...

Python 训练营打卡 Day 47

注意力热力图可视化 在day 46代码的基础上&#xff0c;对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...

k8s从入门到放弃之HPA控制器

k8s从入门到放弃之HPA控制器 Kubernetes中的Horizontal Pod Autoscaler (HPA)控制器是一种用于自动扩展部署、副本集或复制控制器中Pod数量的机制。它可以根据观察到的CPU利用率&#xff08;或其他自定义指标&#xff09;来调整这些对象的规模&#xff0c;从而帮助应用程序在负…...

鸿蒙(HarmonyOS5)实现跳一跳小游戏

下面我将介绍如何使用鸿蒙的ArkUI框架&#xff0c;实现一个简单的跳一跳小游戏。 1. 项目结构 src/main/ets/ ├── MainAbility │ ├── pages │ │ ├── Index.ets // 主页面 │ │ └── GamePage.ets // 游戏页面 │ └── model │ …...