moviepy 视频剪切,拼接,音频处理
官网
使用matplotlib — moviepy-cn 文档
案例
from moviepy.editor import *
from moviepy.video.fx import resize
from PIL import Imagefile1=r"D:\xy_fs_try\video_to_deal\spider_video\file\vedeo3.mp4"
file2=r"D:\xy_fs_try\video_to_deal\spider_video\file\vedeo4.mp4"
file4=r'D:\xy_fs_try\video_to_deal\spider_video\file\qianlong.mp4'file3=r'D:\xy_fs_try\video_to_deal\spider_video\file\source.mp4'
file5=r'D:\xy_fs_try\video_to_deal\spider_video\file\source1.mp4'
file6=r'D:\xy_fs_try\video_to_deal\spider_video\file\source2.mp4'def extract_frames_on_original(video_path, output_path, fps=1):original_clip = VideoFileClip(video_path)frames = original_clip.iter_frames(fps=fps)extracted_clips = []for frame in frames:extracted_clip = VideoFileClip(video_path).set_duration(1/fps).set_start(len(extracted_clips) / fps)extracted_clips.append(extracted_clip)# 将原视频和抽帧视频拼接起来final_clip = clips_array([[original_clip], [clips_array([extracted_clips])]])final_clip.write_videofile(output_path, codec='libx264')# 使用示例
# video_file = r"D:\xy_fs_try\video_to_deal\spider_video\file\vedeo3.mp4" # 替换为你的视频文件路径
# output_video = "./extracted_video.mp4" # 替换为你想要保存的抽帧后的视频路径
# extract_frames_on_original(video_file, output_video, fps=1) # 抽取帧并生成视频,每秒一帧def concatenate_videos(video1_path, video2_path, output_path):'''视频拼接'''audio=VideoFileClip(file3).audiovideo = VideoFileClip(file3).without_audio()video2 = VideoFileClip(file5).without_audio()video3 = VideoFileClip(file6).without_audio()re_video=video.subclip(1,25)ba_video=video.subclip(26,56.7)# # 拼接两个视频剪辑final_clip = concatenate_videoclips([re_video, video2,video3,ba_video],method='compose')final_clip=final_clip.set_audio(audio)final_clip.write_videofile(output_path, codec='libx264')final_clip.reader.close()final_clip.audio.reader.close_proc()video1_file = file3 # 替换为第一个视频文件路径
video2_file = file4 # 替换为第二个视频文件路径
output_video = "./concatenated_video.mp4" # 替换为输出的合并视频路径
concatenate_videos(video1_file, video2_file, output_video) # 将两个视频拼接成一个新视频
总结
moviepy使用的还是比较方便的,比起opencv需要自己去遍历处理,视频拼接原理与列表切分原理是一样的,灵活性比较高,内置一些其他的函数叠加,使用还是比较方便的
相关文章:
moviepy 视频剪切,拼接,音频处理
官网 使用matplotlib — moviepy-cn 文档 案例 from moviepy.editor import * from moviepy.video.fx import resize from PIL import Imagefile1r"D:\xy_fs_try\video_to_deal\spider_video\file\vedeo3.mp4" file2r"D:\xy_fs_try\video_to_deal\spider_video\…...

ubuntu搭建phpmyadmin+wordpress
Ubuntu搭建phpmyadmin wordpress Linux系统设置:Ubuntu 22配置apache2搭建phpmyadmin配置Nginx环境,搭建wordpress Linux系统设置:Ubuntu 22 配置apache2 安装apache2 sudo apt -y install apache2设置端口号为8080 sudo vim /etc/apache…...

linux网络之网络层与数据链路层
文章目录 一、网络层 1.IP协议 2.IP协议头格式 3.网段划分 4.特殊ip地址 5.IP地址的数量限制 6.私有ip和公网IP 7.路由 二、数据链路层 1.以太网 2.以太网帧格式 3.MAC地址 4.对比理解MAC地址和IP地址 5.MTU 6.ARP协议 ARP协议的工作流程 ARP数据报的格式 7.DNS 8.ICMP协议 9.N…...

python数学建模之Numpy、Pandas学习与应用介绍
文章目录 Numpy学习1 Numpy 介绍与应用1-1Numpy是什么 2 NumPy Ndarray 对象3 Numpy 数据类型4 Numpy 数组属性 Pandas学习1 pandas新增数据列2 Pandas数据统计函数3 Pandas对缺失值的处理 总结关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品P…...

LiveVIS视图库1400-如何切换数据库?默认使用的数据库是什么?如何切换到Mysql/MariaDB?
LiveVIS视图库1400-如何切换数据库?默认使用的数据库是什么?如何切换到Mysql/MariaDB? 1、切换成Mysql/Mariadb数据库1.1 连接数据库1.2 创建数据库实例1.3 配置.ini文件1.4 重启完成切换 1、切换成Mysql/Mariadb数据库 LiveVIS 默认使用 sqlite3 文件…...

【2023.11.24】Mybatis基本连接语法学习➹
基本配置 1.如果使用Maven管理项目,需要在pom.xml中配置依赖。 2.安装Mybatis-3.5.7.jar包 3.进行XML配置:这里将文件命名为mybatis-config.xml 配置数据库连接XML文件 <?xml version"1.0" encoding"UTF-8" ?> <!DO…...

如何防止网络被入侵?
随着互联网的普及,网络安全问题越来越受到人们的关注。其中,如何防止网络被入侵是一个重要的问题。本文将介绍一些防止网络被入侵的方法,帮助大家保护自己的网络安全。 一、使用强密码 强密码是防止网络被入侵的第一道防线。一个好的密码应该…...

【Linux】常见指令及周边知识(一)
【Linux】常见指令及周边知识(一) 一、初始Linux操作系统1.Linux背景2.如何使用Linux 二、学习Linux之前的预备周边知识(重点):1.什么叫做文件?2. Linux下的路径分隔符3.在Linux中为什么会存在路径…...

【Docker】从零开始:6.配置镜像加速器
【Docker】从零开始:5.配置镜像加速器 什么是镜像加速器?为什么要配置docker镜像加速器?常见的Docker镜像加速器有哪些?如何申请Docker镜像加速器如何配置Docker镜像加速器 什么是镜像加速器? 镜像加速器是一个位于Docker Hub之…...

The Bridge:从临床数据到临床应用(预测模型总结)
The Bridge:从临床数据到临床应用(预测模型总结) 如果说把临床预测模型比作临床数据和临床应用之间的一座“桥梁”,那它应该包括这样几个环节:模型的构建和评价、模型的概率矫正、模型决策阈值的确定和模型的局部再评价。 模型的构…...

[极客大挑战 2019]Secret File1
[极客大挑战 2019]Secret File1 在bp里面发现secr3t.php 将secr3t.php 直接加在网站后面,发现了有关flag的信息,一个flag.php文件 在遇到flag.php时候,联想到php伪协议,构造伪协议方式 secr3t.php?filephp://filter/readconver…...

如何评估一个论坛或峰会值不值得参加?
现在的论坛和峰会非常多,且都宣传的非常高端,很多人为了不错过机会像赶场一样总在参会路上。但究竟什么样的论坛或峰会才值得一去呢? 评估一个论坛或峰会是否值得参加,需要考虑多个因素。 1、主题与你的兴趣或职业相关性…...
04_使用API_日期和时间
JDK 8 之前传统的日期、时间 Date 类 代表的是日期和时间 import java.util.Date;public class Test {public static void main(String[] args) {// 1. 创建一个Data对象,代表系统当前时间信息的Date d new Date();System.out.println(d); // 输出的是日期与当…...

手动实现 git 的 git diff 功能
这是 git diff 后的效果,感觉挺简单的,不就是 比较新旧版本,新增了就用 "" 显示新加一行,删除了就用 "-" 显示删除一行,修改了一行就用 "-"、"" 显示将旧版本中的该行干掉了并…...

RabbitMQ之MQ的可靠性
文章目录 前言一、数据持久化交换机持久化队列持久化消息持久化 二、LazyQueue控制台配置Lazy模式代码配置Lazy模式更新已有队列为lazy模式 总结 前言 消息到达MQ以后,如果MQ不能及时保存,也会导致消息丢失,所以MQ的可靠性也非常重要。 一、…...

Navicat 技术指引 | 适用于 GaussDB 的查询编辑器
Navicat Premium(16.2.8 Windows版或以上) 已支持对 GaussDB 主备版的管理和开发功能。它不仅具备轻松、便捷的可视化数据查看和编辑功能,还提供强大的高阶功能(如模型、结构同步、协同合作、数据迁移等),这…...

Jenkins+Maven+Gitlab+Tomcat 自动化构建打包、部署
JenkinsMavenGitlabTomcat 自动化构建打包、部署 1、环境需求 本帖针对的是Linux环境,Windows或其他系统也可借鉴。具体只讲述Jenkins配置以及整个流程的实现。 1.JDK(或JRE)及Java环境变量配置,我用的是JDK1.8.0_144࿰…...

(2023码蹄杯)省赛(初赛)第三场真题(原题)(题解+AC代码)
题目1:MC0227堆煤球 码题集OJ-堆煤球 (matiji.net) 思路: 1.i从l枚举到r,i是8的倍数就跳过,i不是8的倍数就用等差数列求和公式i(1i)/2,最后累加到答案中即可 AC_Code:C #include<bits/stdc.h> using namespace std;int main( ) {in…...
第十二章 : Spring Boot 日志框架详解
第十二章 : Spring Boot 日志框架详解 前言 本章知识重点:介绍了日志诞生背景,4种日志框架:Logback、Log4j、Log4j2和Slf4j的优劣势分析,以及重点介绍了log4j2的应用示例以及配置,以及日志框架应用中遇到常见的问题以及如何处理。 背景 Java日志框架的发展历程可以追…...

STM32 -Bin/Hex文件格式解析
文章目录 1. 概述2. Hex文件2.1 格式解析2.2 数据类型2.3 举例解析2.4 合并两个Hex文件方法 3. Bin文件3.1 生成方式3.2 合并多个Bin文件方法3.3 打开Bin文件方式3.4 和Hex文件比较 4 总结 1. 概述 Hex文件:它是单片机和嵌入式工程编译输出的一种常见的目标文件格式…...

IDEA运行Tomcat出现乱码问题解决汇总
最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...

多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...