用Python打造精彩动画与视频,3.3 添加音频和简单效果

news2025/1/17 3:03:36

 3.3 添加音频和简单效果

在本节中,我们将学习如何使用 MoviePy 库为视频添加音频和一些简单的效果。这些操作可以让你的视频更具吸引力和个性化。

准备工作

首先,确保你已经安装了 MoviePy 和 pydub 库。你可以通过以下命令安装:

pip install moviepy pydub

同时,你需要确保系统中安装了 `ffmpeg`。你可以从 [ffmpeg.org](https://ffmpeg.org/download.html) 下载并安装 `ffmpeg`。安装完成后,将 `ffmpeg` 添加到系统的 PATH 环境变量中。

验证安装

在 PyCharm 中新建一个 Python 文件,例如 `verify_installation.py`,并编写以下代码来验证 MoviePy 库的安装:

from moviepy.editor import VideoFileClip

验证 MoviePy 库的安装

video = VideoFileClip("I:/《从基础到精通:用Python打造精彩动画与视频》/python动画视频项目目录/MyNewProject/浪迹天涯的游子想家了吗.mp4")

print(f"视频时长: {video.duration} 秒")

运行这段代码,如果没有错误,并且输出了视频的时长,则表明 MoviePy 库安装成功。

生成音频文件

在 PyCharm 中新建一个 Python 文件,例如 `generate_audio.py`,并编写以下代码来生成一个简单的 MP3 音频文件:

from pydub.generators import Sine

生成一个 5 秒钟的正弦波音频

tone = Sine(440).to_audio_segment(duration=5000)

保存生成的音频文件

tone.export("I:/《从基础到精通:用Python打造精彩动画与视频》/python动画视频项目目录/MyNewProject/background_music.mp3", format="mp3")

print("Audio file generated successfully.")

运行这段代码后,会生成一个名为 `background_music.mp3` 的音频文件,并保存在指定的目录中。你可以使用这个音频文件进行后续的操作。

 步骤一:在 PyCharm 中创建一个新项目

1. 打开 PyCharm。

2. 创建一个新项目,命名为 `MyNewProject`。

3. 在项目目录下创建一个新的 Python 文件,例如 `main.py`。

步骤二:编写添加音频和效果的代码

在 `main.py` 文件中,编写以下代码来实现为视频添加音频和简单效果:

from moviepy.editor import VideoFileClip, AudioFileClip

from moviepy.video.fx.all import fadein, fadeout

读取视频文件

video = VideoFileClip("I:/《从基础到精通:用Python打造精彩动画与视频》/python动画视频项目目录/MyNewProject/浪迹天涯的游子想家了吗.mp4")

读取音频文件

audio = AudioFileClip("I:/《从基础到精通:用Python打造精彩动画与视频》/python动画视频项目目录/MyNewProject/background_music.mp3")

为视频添加音频

video = video.set_audio(audio)

添加简单效果(例如:淡入淡出效果)

video = video.fx(fadein, duration=2).fx(fadeout, duration=2)

保存最终视频

video.write_videofile("I:/《从基础到精通:用Python打造精彩动画与视频》/python动画视频项目目录/MyNewProject/final_video_with_audio.mp4")

 代码解释

1. 导入库:

    from moviepy.editor import VideoFileClip, AudioFileClip

   from moviepy.video.fx.all import fadein, fadeout

   导入 `VideoFileClip` 和 `AudioFileClip` 用于读取视频和音频文件,导入 `fadein` 和 `fadeout` 用于添加视频效果。

2. 读取视频和音频文件:

   video = VideoFileClip("I:/《从基础到精通:用Python打造精彩动画与视频》/python动画视频项目目录/MyNewProject/浪迹天涯的游子想家了吗.mp4")

   audio = AudioFileClip("I:/《从基础到精通:用Python打造精彩动画与视频》/python动画视频项目目录/MyNewProject/background_music.mp3")

   读取视频和音频文件并创建相应的对象。

3. 为视频添加音频:

     video = video.set_audio(audio)

  

   使用 `set_audio` 方法将音频添加到视频中。

4. 添加简单效果:

    video = video.fx(fadein, duration=2).fx(fadeout, duration=2)

   使用 `fadein` 和 `fadeout` 方法为视频添加淡入淡出效果,每个效果的持续时间为 2 秒。

5. 保存最终视频:

    video.write_videofile("I:/《从基础到精通:用Python打造精彩动画与视频》/python动画视频项目目录/MyNewProject/final_video_with_audio.mp4")

   使用 `write_videofile` 方法将添加音频和效果后的最终视频保存到指定路径。

步骤三:运行代码

1. 确保你的 `main.py` 文件中包含上述代码。

2. 在 PyCharm 中运行 `main.py` 文件。

运行后,PyCharm 的控制台会显示视频处理的进度。处理完成后,添加音频和效果的视频文件 `final_video_with_audio.mp4` 将会保存到指定路径。

总结

通过以上步骤,你已经学会了如何使用 MoviePy 库在 PyCharm 中为视频添加音频和简单的效果。你可以根据需要调整音频和效果的参数,进一步探索 MoviePy 提供的其他功能来创建更复杂的视频编辑项目。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1967915.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Qt 实战(2)搭建开发环境 | 2.4、查看 Qt 源码

文章目录 一、查看 Qt 源码1、获取 Qt 源码2、添加源码路径3、配置定位器4、查看源码 前言: Qt 是一个跨平台的 C 图形用户界面应用程序开发框架,广泛应用于开发 GUI 程序以及非 GUI 程序,如控制台工具和服务器。查看 Qt 的源码不仅可以帮助你…

故障案例:网络访问慢

现象描述 FW作为中间设备的场景下,用户访问网页慢,报文延时大等。 相关告警与日志 相关告警 无 相关日志 ARP/4/ARP_DUPLICATE_IPADDR 原因分析 图1 网络访问慢故障定位思路 丢包 报文在网络链路上传输时,可能会有部分报文在链路中被丢…

用深度学习改进乳腺癌MRI诊断| 文献速递--AI辅助的放射影像疾病诊断

Title 题目 Improving breast cancer diagnostics with deep learning for MRI 用深度学习改进乳腺癌MRI诊断 01 文献速递介绍 乳腺磁共振成像(MRI)是一种检测乳腺癌的高度敏感的方式,报告的敏感性超过80%。传统上,其在筛查…

【算法】动态规划-斐波那契数列模型

目录 1、第N个泰波那契数 1.1 算法原理讲解 1.1.1 状态表示 1.1.2 状态转移方程 1.1.3 初始化 1.1.4 填表顺序 1.1.5 返回值 1.2 代码实现 1.3 空间优化 2、三步问题 2.1 算法原理讲解 2.1.1 状态表示 2.1.2 状态转移方程 2.1.3 初始化 2.1.4 填表顺序 2.1.5 返…

(四十一)大数据实战——spark的yarn模式生产环境部署

前言 Spark 是一个开源的分布式计算系统。它提供了高效的数据处理能力,支持复杂的数据分析和处理任务,是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。Spark Core:实现了Spark的基本功能,包含任务调度、内存管理、错误…

上线前端系统

上线一个静态的前端系统(续) 在eleme服务器上 启动服务 启动rpcbind [rooteleme-static ~]# systemctl restart rpcbind 启动nfs [rooteleme-static ~]# systemctl restart nfs 重启服务 启动smb [rootstatic-server img]# systemctl start smb…

SQL数据库模糊查询指定的字符的表资料(CHARINDEX)

1.目的 MSG栏位里面有很多组合内容的字符信息,需要进行模糊查询。 2.问题 正常使用LIKE 语句可以通用大部分的查询需求,但是遇到部分的特殊字符,例如:[] 资料是存在数据资料中,但是查询反馈的结果是没有内容&#xf…

二刷代码随想录训练营Day 16|513.找树左下角的值、112.路径总和、106.从中序与后序遍历序列构造二叉树

1.找到左下角的值 513. 找树左下角的值 - 力扣(LeetCode)代码随想录 (programmercarl.com) 代码: class Solution { public:int maxDepth INT_MIN;int result;// 深度最大,确保是最后一行 先遍历左孩子再遍历右孩子 确保是左下…

进程地址空间,零基础最最最详解

目录 建议全文阅读!!! 建议全文阅读!!! 建议全文阅读!!! 一、什么是地址空间 1、概念 2、主要组成部分 3、特点和作用 (1)虚拟化&#xf…

Java并发—volatile关键字

在这篇文章Java并发—Java内存模型以及线程安全-CSDN博客多次提及volatile关键字,这是一个非常重要的概念,主要用于多线程编程中,它确保了变量的可见性和禁止指令重排序,但不保证原子性,下面详细解释volatile关键字的作…

未来3-5年,哪些工作会被AI取代

一篇由高盛经济学家约瑟夫布里格斯 (Joseph Briggs)和德维西科德纳尼 (Devesh Kodnani)撰写的报告指出,全球预计将有3亿个工作岗位被生成式AI取代。 报告称:“最近出现的生成式人工智能将降低劳动力成本和…

​宁德时代:续航还剩多少?

车企价格战打到供应商,连续增利不增收。 今天我们看宁德时代的增长电池续航还剩多少? 巨头长成,就要面临增长瓶颈。“宁王”24年中报公布,业绩喜忧参半。二季度营收869.96亿,同比下滑13.18%, 已经是宁德时…

冠军之选:奥运冠军青睐的游泳耳机款式大公开

在最新一届的夏季奥林匹克运动会中,泳池边的激烈竞争再次点燃了全球观众的热情。游泳运动员们,以惊人的速度和毅力,一次又一次地刷新纪录,向世人展示了人类极限的无限可能。而在这些运动员备战的过程中,有一个细节或许…

吴恩达老师机器学习-ex5

有借鉴网上部分博客 首先,我先使用该数据集,通过线性回归的方法,做了一个预测问题 import numpy as np import scipy.io as sio import matplotlib.pyplot as plt from scipy.optimize import minimize#读取数据 path "./ex5data1.ma…

Spine 核心功能入门

核心功能入门 本文主旨是整理我在入手学习 spine 时的流程,以及对于基本功能的理解和常规 2D 动画实现的思路。 意在整理出一个简要的入门 spine 的流程,以及对于一些高阶功能的应用的思考。 本文基于 https://zh.esotericsoftware.com/ 官网教程进行思…

2024.8.1 作业

使用两个线程完成两个文件的拷贝&#xff0c;分支线程1拷贝前一半&#xff0c;分支线程2拷贝后一半&#xff0c;主线程回收两个分支线程的资源 #include <myhead.h>struct Buf {const char *file1;const char *file2;int start;int size; };int get_len(const char *arr…

从线段中搜寻提取闭合轮廓(二)

接上篇文章从线段中搜寻闭合轮廓_多线段搜索区域集合 快速-CSDN博客 1. 前言 调试了上篇文章中参考代码修了一些问题&#xff0c;优化了显示&#xff0c;但是由于算法逻辑存在一些问题&#xff0c;有很多不必要的性能损耗&#xff0c;且逻辑不是最优的&#xff0c;于是博主找…

FPGA开发——蜂鸣器实现音乐播放器的设计

一、概述 我们在进行蜂鸣器的学习的时候&#xff0c;总会在想既然蜂鸣器能够发出声音&#xff0c;那么它能够播放音乐吗&#xff0c;今天这篇我们文章我们就一起来学习怎样使用使用蜂鸣器来播放音乐&#xff0c;也就是怎样成为一个音乐播放器。 1、蜂鸣器的类型 在设计的时候…

玩机进阶教程-----手机恢复出厂 误删除照片视频 误刷机后 几种数据恢复操作步骤解析【一】

手机中存储有众多的照片 视频 文件或者电话本这类的数据,虽然目前很多机型都有云存储。可以随时同步手机的存储数据。但万一云存储没有开启同步或者密码忘记。或者恢复出厂等等原因造成以上的数据丢失。或者手机系统问题导致的不开机但需要其中的数据等等。那么如何简单快速的…

【项目日记(五)】梦幻笔耕-测试报告

❣博主主页: 33的博客❣ ▶️文章专栏分类:项目日记◀️ &#x1f69a;我的代码仓库: 33的代码仓库&#x1f69a; &#x1faf5;&#x1faf5;&#x1faf5;关注我带你了解更多项目内容 目录 1.项目背景2.测试环境3.测试计划3.1功能测试3.2自动化测试 1.项目背景 个人博客系统…