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

MoviePy,利用Python自动剪辑tiktok视频

Python剪辑视频是非常强大的,而且能流水线批量操作,可以使用MoviePy库实现。

最近看到一个Github项目,作者利用Python写了一个自动生成tiktok视频的脚本,受到热捧。

现在像抖音、tiktok上有很多流水线生产的视频,不少视频博主靠这个赚了很多,我觉得蛮有意思,这里分享给大家。

仔细看了下该项目,作者主要从游戏视频网站中爬取视频素材,然后从reddit论坛中截取有意思的问答,最后利用Python的MoviePy库剪辑视频,把收集来的素材拼接到一起。

这种视频生产方式几乎不需要人工参与,一天可以剪辑上百个视频,可以先看看作者给出的案例视频效果。

00:59

其实国内的抖音、快手平台也适合这种自动化视频的模式,靠量取胜,有兴趣的小伙伴可以试试。

下面来讲讲作者用到的视频编辑库-MoviePy,一个非常经典的视频工具。

MoviePy是一个用于视频编辑的Python模块,它可被用于一些基本操作(如剪切、拼接、插入标题)、视频合成(即非线性编辑)、视频处理和创建高级特效。它可对大多数常见视频格式进行读写,包括MP4、GIF等。

比如说打开一个视频:

安装MoviePy可以通过PIP来实现,当然会需要一些依赖库,比如Numpy, imageio, Decorator, tqdm等,还有FFMPEG 软件。

pip install moviepy

MoviePy的使用也非常简单,它的核心对象是剪辑,提供了多种函数实现对视频的复杂操作。

具体的编辑功能可以去MoviePy官网去查阅,非常的详细。

https://zulko.github.io/moviepy/

有趣的是MoviePy可以结合Matplotlib,制作动态的图表。

import matplotlib.pyplot as plt
import numpy as np
from moviepy.editor import VideoClip
from moviepy.video.io.bindings import mplfig_to_npimagex = np.linspace(-2, 2, 200)duration = 2fig, ax = plt.subplots()
def make_frame(t):ax.clear()ax.plot(x, np.sinc(x**2) + np.sin(x + 2*np.pi/duration * t), lw=3)ax.set_ylim(-1.5, 2.5)return mplfig_to_npimage(fig)animation = VideoClip(make_frame, duration=duration)
animation.write_gif('matplotlib.gif', fps=20)

动图封面

最后,你可以去研究下Github上自动化视频的代码,自己配合有趣的素材,就可以批量生产视频,说不定有很大的商机。

相关文章:

MoviePy,利用Python自动剪辑tiktok视频

Python剪辑视频是非常强大的,而且能流水线批量操作,可以使用MoviePy库实现。 最近看到一个Github项目,作者利用Python写了一个自动生成tiktok视频的脚本,受到热捧。 现在像抖音、tiktok上有很多流水线生产的视频,不少…...

ubuntu20.04+RTX4060Ti大模型环境安装

装显卡驱动 这里是重点,因为我是跑深度学习的,要用CUDA,所以必须得装官方的驱动,Ubuntu的附件驱动可能不太行. 进入官网https://www.nvidia.cn/geforce/drivers/,选择类型,最新版本下载。 挨个运行&#…...

2024~2025学年佛山市普通高中教学质量检测(一)【高三数学】

一、选择题 本题共8小题&#xff0c;每小题5分&#xff0c;共40分。在每小题给出的四个选项中。只有一项是符合题目要求的。 1、若 5 z 2 i 1 \frac{5}{z}2i1 z5​2i1&#xff0c;则 z z z A. 1-2i B. 12i C. 2-i D. 2i2、已知集合 A { x ∣ 1 < x < a } A\left\{…...

管理etcd的存储空间配额

如何管理etcd的存储空间配额 - 防止集群存储耗尽指南 本文基于etcd v3.4官方文档编写 为什么需要空间配额&#xff1f; 在分布式系统中&#xff0c;etcd作为可靠的键值存储&#xff0c;很容易成为系统瓶颈。当遇到以下情况时&#xff1a; 应用程序频繁写入大量数据未及时清理…...

备战蓝桥杯-洛谷

今天打算写一些洛谷上面的题目 P10904 [蓝桥杯 2024 省 C] 挖矿 https://www.luogu.com.cn/problem/P10904 看了大佬写的题解才写出来这道题的&#xff1a;题解&#xff1a;P10904 [蓝桥杯 2024 省 C] 挖矿 - 洛谷专栏 思路&#xff1a; 这是一道贪心的题目&#xff0c;用…...

在线免费 HTML 预览导出为图片,并且支持水平切割

在线体验 作用&#xff1a;可以直接预览 html 的页面效果&#xff0c;导出为图片&#xff0c;支持指定切割的数量&#xff0c;等高水平切割。 https://houbb.github.io/tools/html-preview.html 创作背景 有时候希望给一段 html 导出为长度&#xff0c;或者水平切分&#xff…...

洛谷题目: P2996 [USACO10NOV] Visiting Cows G 题解

题目传送门&#xff1a; P2996 [USACO10NOV] Visiting Cows G - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 前言&#xff1a; 本题的核心问题是在一棵由奶牛&#xff08;节点&#xff09;和道路&#xff08;边&#xff09;构成的树状结构中&#xff0c;根据 “不能同时拜…...

告别手动操作!用Ansible user模块高效管理 Linux账户

在企业运维环境中&#xff0c;服务器的用户管理是一项基础但非常重要的任务。比如&#xff0c;当有新员工加入时&#xff0c;我们需要在多台服务器上为他们创建账户并分配合适的权限。而当员工离职或岗位发生变化时&#xff0c;我们也需要迅速禁用或删除他们的账户&#xff0c;…...

java 8 在 idea 无法创建 java spring boot 项目的 变通解决办法

java 8 在 idea 无法创建 java spring boot 项目的 变通解决办法 spring boot 3 官方强制 要用 java 17 &#xff0c;但是 不想安装java 17的 &#xff0c;但是又想 使用 spring boot &#xff0c;可以这样 &#xff1a; 在这个网站 https://start.aliyun.com/ 选择 你相对…...

javaEE初阶————多线程初阶(3)

大家新年快乐呀&#xff0c;今天是第三期啦&#xff0c;大家前几期的内容掌握的怎么样啦&#xff1f; 1&#xff0c;线程死锁 1.1 构成死锁的场景 a&#xff09;一个线程一把锁 这个在java中是不会发生的&#xff0c;因为我们之前讲的可重入机制&#xff0c;在其他语言中可…...

eggnog后kegg结果提取和注释

首先进入KEGG BRITE: KEGG Orthology (KO) 下载json文件 用python处理一下 import json import re import osos.chdir("C:/Users/fordata/Downloads/") with open("ko00001.json","r") as f:fj f.read()kojson json.loads(fj)with open(&qu…...

shell脚本控制——处理信号

Linux利用信号与系统中的进程进行通信。你可以通过对脚本进行编程&#xff0c;使其在收到特定信号时执行某些命令&#xff0c;从而控制shell脚本的操作。 1.重温Linux信号 Linux系统和应用程序可以产生超过30个信号。下表列出了在shell脚本编程时会遇到的最常见的Linux系统信…...

Doris更新某一列数据完整教程

在Doris,要更新数据,并不像mysql等关系型数据库那样方便,可以用update set来直接更新某个列。在Doris只能进行有限的更新,官方文档如下: UPDATE - Apache Doris 1、使用Doris自带的Update功能 描述​ 该语句是为进行对数据进行更新的操作,UPDATE 语句目前仅支持 UNIQUE…...

VIVADO生成DCP和EDF指南

VIVADO生成DCP和EDF 文章目录 VIVADO生成DCP和EDF前言一、DCP封装二、EDF封装 前言 详细步骤就不贴图了&#xff0c;网上一大堆 在Vivado中&#xff0c;常用的三种封装形式有三种&#xff1a; ● IP ● edif ● dcp 在下文之前&#xff0c;先看几个概念 out_of_context&…...

Python中字节顺序、大小与对齐方式:深入理解计算机内存的底层奥秘

在计算机科学的世界里&#xff0c;理解数据的存储方式是每个程序员必备的技能。无论是处理网络通信、文件读写&#xff0c;还是进行底层系统编程&#xff0c;字节顺序&#xff08;Endianness&#xff09;、数据大小&#xff08;Size&#xff09;和对齐方式&#xff08;Alignmen…...

在亚马逊云科技上云原生部署DeepSeek-R1模型(上)

DeepSeek-R1在开源版本发布的第二天就登陆了亚马逊云科技AWS云平台&#xff0c;这个速度另小李哥十分震惊。这又让我想起了在亚马逊云科技全球云计算大会re:Invent2025里&#xff0c;亚马逊CEO Andy Jassy说过的&#xff1a;随着目前生成式AI应用规模的扩大&#xff0c;云计算的…...

Redis实现分布式锁详解

前言 用 Redis 实现分布式锁&#xff0c;是我们常见的实现分布式锁的一种方式 下面是 redis 实现 分布式锁的四种方式&#xff0c;每种方式都有一定的问题&#xff0c;直到最后的 zookeeper 先透露一下&#xff1a; Redission 解决了 set ex nx 无法自动续期的问题 RedLo…...

表单标签(使用场景注册页面)

表单域&#xff08;了解即可&#xff0c;还要到学习服务器阶段才可以真正送到后台&#xff09; 定义了一个区域了之后&#xff0c;可以把这部分区域发送到后台上 <form action“url地址” method“提交方式” name"表单域名称">各种表单元素控件 </form>…...

c++ template-3

第 7 章 按值传递还是按引用传递 从一开始&#xff0c;C就提供了按值传递&#xff08;call-by-value&#xff09;和按引用传递&#xff08;call-by-reference&#xff09;两种参数传递方式&#xff0c;但是具体该怎么选择&#xff0c;有时并不容易确定&#xff1a;通常对复杂类…...

【创建模式-单例模式(Singleton Pattern)】

赐萧瑀 实现方案饿汉模式懒汉式&#xff08;非线程安全&#xff09;懒汉模式&#xff08;线程安全&#xff09;双重检查锁定静态内部类 攻击方式序列化攻击反射攻击 枚举(最佳实践)枚举是一种类 唐 李世民 疾风知劲草&#xff0c;板荡识诚臣。 勇夫安识义&#xff0c;智者必怀仁…...

ES6从入门到精通:前言

ES6简介 ES6&#xff08;ECMAScript 2015&#xff09;是JavaScript语言的重大更新&#xff0c;引入了许多新特性&#xff0c;包括语法糖、新数据类型、模块化支持等&#xff0c;显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

Linux云原生安全:零信任架构与机密计算

Linux云原生安全&#xff1a;零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言&#xff1a;云原生安全的范式革命 随着云原生技术的普及&#xff0c;安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测&#xff0c;到2025年&#xff0c;零信任架构将成为超…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

2023赣州旅游投资集团

单选题 1.“不登高山&#xff0c;不知天之高也&#xff1b;不临深溪&#xff0c;不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...

在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?

uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件&#xff0c;用于在原生应用中加载 HTML 页面&#xff1a; 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列&#xff0c;以便知晓哪些列包含有价值的数据&#xff0c;…...

SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题

分区配置 (ptab.json) img 属性介绍&#xff1a; img 属性指定分区存放的 image 名称&#xff0c;指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件&#xff0c;则以 proj_name:binary_name 格式指定文件名&#xff0c; proj_name 为工程 名&…...

短视频矩阵系统文案创作功能开发实践,定制化开发

在短视频行业迅猛发展的当下&#xff0c;企业和个人创作者为了扩大影响力、提升传播效果&#xff0c;纷纷采用短视频矩阵运营策略&#xff0c;同时管理多个平台、多个账号的内容发布。然而&#xff0c;频繁的文案创作需求让运营者疲于应对&#xff0c;如何高效产出高质量文案成…...

Linux 中如何提取压缩文件 ?

Linux 是一种流行的开源操作系统&#xff0c;它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间&#xff0c;使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的&#xff0c;要在 …...

提升移动端网页调试效率:WebDebugX 与常见工具组合实践

在日常移动端开发中&#xff0c;网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时&#xff0c;开发者迫切需要一套高效、可靠且跨平台的调试方案。过去&#xff0c;我们或多或少使用过 Chrome DevTools、Remote Debug…...