用Python剪辑视频?太简单了

article/2025/9/19 12:41:34

人生苦短,快学Python!

最近我在网上下载一个视频,结果下载到本地是近百个视频片段,为了方便观看只能将这些片段合并为一个视频整体。

不过我并没有搜到能够处理类似情况的小工具,只是发现剪映等软件可以实现视频合并功能。但是为此下载一个视频剪辑软件,再将一百个视频导进去,最后重新渲染视频也要花费不少时间。

那我,还不如干脆写个Python小脚本,让程序自己慢慢跑去。

MoviePy

MoviePy是一个用于视频编辑的Python模块,你可以用它实现一些基本的操作(比如视频剪辑,视频拼接,插入标题),还可以实现视频合成,还有视频处理,抑或用它加入一些自定义的高级的特效。

# 先安装moviepy模块
pip install moviepy

结合我们前文的需求,搭配使用os模块和MoviePy就可以实现视频片段的合并。

在交互式环境中输入如下命令:

from moviepy.editor import *
import os
L = []# Python视频片段存放的文件夹
for root, dirs, files in os.walk(r"D:\视频\Python视频"):files.sort()  # 按文件名排序for file in files: # 遍历所有文件if os.path.splitext(file)[1] == '.mp4': # 筛选后缀名为.mp4的视频文件filePath = os.path.join(root, file)     # 拼接完整文件路径video = VideoFileClip(filePath)   # 载入视频L.append(video) # 添加到数组final_clip = concatenate_videoclips(L)final_clip.to_videofile("合并视频.mp4", fps = 30, remove_temp = False)

由于视频片段比较多,总时长也比较长,因此运行特别慢。

不过最后,还是成功得到了合并后的Python学习视频。

实际上,这只是MoviePy模块最最简单的应用,它还可以用在剪辑视频的方方面面。

更多应用

比如我们可以使用MoviePy模块截取视频的一部分,并对被定格的一帧画面进行处理,从而实现下图一样的定格视频效果。

还可以给视频增加各种特效,比如给MoviePy Logo做一个闪动的阴影效果。

如果我们使用MoviePy模块对视频进行截取GIF,把截取的GIF进行ASCII字符转换。

最后将被ASCII字符转换成的图片合并成新视频,再添加背景音乐,就可以实现B站特别火的字符画视频

其实放开思路,Python在视频剪辑方面的应用也很多。

比如我还发现有人通过音频剪辑的方式,对音频进行二次处理。

这种方式,能够一次性过滤停顿、杂音和静音,得到新的音频文件。

从此以后,人人都是“通辽可汗”!

如果你对Python进行视频剪辑方面感兴趣,记得多多点赞支持一下,点赞数比较多的话,我会继续分享相关案例。

参考资料:

[1]ucsheep: MoviePy实战案例-给MoviePy_Logo做一个闪动的阴影效果

[2]Dragon少年: 见过仙女蹦迪吗?一起用python做个小仙女代码蹦迪视频


最近我花了两年写的新书已经上市,也算是我在CSDN博客分享Python知识3年的一个总结!

《快学Python:自动化办公轻松实战》点击蓝字查看书籍详情,感谢支持


http://chatgpt.dhexx.cn/article/RXZ8frpi.shtml

相关文章

图片与视频的处理

1.首先需要在mac上安装ffmpeg(参考社区的安装教程) 需要先安装drew 然后再安装ffmpeg 2.使用dlib工具进行人脸识别,获取特征点,并输出人脸坐标 import cv2 import dlib import numpy as np import matplotlib.pyplot as pltpat…

基本全局阈值处理

基本全局阈值处理 1、全局阈值处理 (1)计算步骤 通常,在图像处理中首选的方法是使用一种能基于图像数据自动地选择阈值的算法,为了自动选阈值,下列迭代过程采用的就是这样的方法: (1) 针对全局阈值选择初…

基本的全局阈值处理Otsu方法进行最佳全局阈值处理

前言 图像阈值处理在图像分割中处于核心地位!本节将重点介绍一些常见的阈值处理方法。 一、基本的全局阈值处理 选取阈值往往是通过直方图来选择的,一方面我们可以人为的设置一个阈值进行一次二值化处理达到全局阈值处理的目的,但这样的阈值…

阈值调整

1.不平衡分类问题的阈值调整 如上图所示,正负例样本不平衡,负样本多,分类器就会更容易把图片分成负样本,因此要设置阈值, 如何选择阈值: 1.ROC曲线上的最优阈值 2.PR曲线上的最优阈值

神经网络阈值是什么意思,神经网络阈值如何确定

BP神经网络中初始权值和阈值的设定 1、首先需要了解BP神经网络是一种多层前馈网络。2、以看一下在matlab中BP神经网络的训练函数,有梯度下降法traingd,弹性梯度下降法trainrp,自适应lr梯度下降法traingda等。 3、在matlab中命令行窗口中定义输入P&…

图像的阈值处理

一般情况下,一张图片分为前景和背景,我们感兴趣的一般的是前景部分,所以我们一般使用阈值将前景和背景分割开来,使我们感兴趣的图像的像素值为1,不感兴趣的我0,有时一张图我们会有几个不同的感兴趣区域&…

神经网络阈值是什么意思,神经网络的权值和阈值

神经网络权值怎么确定? 神经网络的权值是通过对网络的训练得到的。如果使用MATLAB的话不要自己设定,newff之后会自动赋值。也可以手动:{};{}。一般来说输入归一化,那么w和b取0-1的随机数就行。 神经网络的权值确定的目的是为了让…

opencv c++ 二值图像、阈值计算方法、全局阈值、自适应阈值

1、图像定义: 彩色图像 :三通道,像素值一般为0~255; 灰度图像:单通道,像素值一般为0~255; 二值图像:单通道,像素值一般为0(黑色)、255&#xff08…

图像分割 - 阈值处理 - 全局阈值处理

目录 1. 介绍 2. 代码实现 3. 代码讲解 1. 介绍 当目标和背景像素的灰度分布非常不同的时候,可以对整个图像使用全局阈值 在大多数的应用中,图像之间通常存在足够的变化,全局阈值是一种合适的办法。所以,需要一种对图像做阈值…

硬阈值 软阈值

1 定义 1.1 硬阈值 硬阈值的定义如下: 相当于 1.2 软阈值 软阈值的定义如下: 相当于 1.3 二者对比(可视化解释) 这是一张很经典地表述软阈值和硬阈值区别的图,其中软阈值是蓝色的线,他没有突变&#xff1…

神经网络阈值是什么意思,神经网络阈值怎么设置

BP神经网络中初始权值和阈值的设定 1、首先需要了解BP神经网络是一种多层前馈网络。2、以看一下在matlab中BP神经网络的训练函数,有梯度下降法traingd,弹性梯度下降法trainrp,自适应lr梯度下降法traingda等。 3、在matlab中命令行窗口中定义输入P&…

图像处理--阈值处理

图像二值化 图像二值化就是将图像上的像素点的灰度值设置为两个值,一般为0(表示黑色)和255(表示白色),可以将整个图像呈现出明显的黑白效果。 最常用的方法就是先将图像灰度处理,然后设定一个阈…

两种划分阈值的方法

风险等级划分的时候可以降低主观性的一些系统方法 方法一:分层聚类法 凝聚层次聚类/分裂层次聚类 重点:确定层次聚类的簇数,画出树状图,基本就能得到你的区间范围,但数据量大的时候还是得再用代码跑 方法二&#xf…

“阀值”与“阈值”的区别

真相请看下图红色框里内容(手动微笑) 啥??你跟我说没看懂,好吧,说的再明白点,“阀(f)值”是一个错误的用词,其正确用法是“阈(y)值”。…

【p116】

#查询score表中为196004,课程号为1201的学生成绩 #查询student表中姓周的学生情况 #查询数学成绩第2~5名的信息 #查询通信专业最高分的学生的情况 #查询1004课程的最高分,最低分,平均成绩 #查询至少有3名学生选修且以4开头的课程号和平均分数 #将计算机专…

《JDK学习》使用JDK的keytool生成p12证书

由于前段时间在研究itext技术中的签章技术中遇到了数字签名的问题,需要用到p12证书,因此就撰写一篇用我们jdk自带的keytool 工具生成p12证书的方法供各位交流。 keytool 简介 keytool 是java 用于管理密钥和证书的工具. 其功能包括: 创建并管…

日志 P11,P12

日志: 复制一个04.内容与03是一样的. 标准日志文件: 在mybatis-config.xml中写入setting设置,配置日志文件(注意setting只能放在properties与typeAliases的中间)。 setting中参数的内容可以在mybatis官方文档查找。…

xcode ios 怎么导入p12证书

注意:在哪台电脑上生成的根证书才能在哪台电脑上导出p12,在另外的电脑上是没有导出p12的选项的(或者是灰的点不了) 1.双击p12文件,将其导入到钥匙串,或者直接把p12文件拖入到钥匙串里 2.如下图,…

iOS证书(.p12)和描述文件(.mobileprovision)申请

原文链接 : iOS证书(.p12)和描述文件(.mobileprovision)申请 如果你从事过iOS开发,大概都会了解到iOS有两种证书和描述文件: 证书类型使用场景开发(Development)证书和描述文件用于开发测试,在 HBuilderX 中打包后可在真机环境调试发布(Dist…

java工具keytool生成p12数字证书文件

最近做毕设的时候需要用到数字证书,于是就用java来生成 Keytool是用于管理和证书的工具,位于%JAVA_HOME%/bin目录** 首选找到keytool.exe 然后在上面的路径显示框中输入CMD,然后回车 进入后输入以下代码 keytool -genkeypair -alias serv…