【python实用小脚本系列】用 Python 自己手搓一个给视频“静音”的小脚本,批量处理,轻松高效制作“无声电影”!

嘿,小伙伴们!今天我来给大家介绍一个超实用的 Python 小工具——一个能给视频“静音”的“声音消除器”!是不是听起来很酷?想象一下,你可以把任何有声视频变成无声视频,是不是很有趣?接下来,我带大家看看这个神奇的代码是怎么工作的,还能怎么玩出更多花样!

第一步:揭秘核心代码,看看它是怎么“静音”的

这个工具的核心功能是从视频中移除音频,生成一个无声版本的视频。听起来是不是有点像魔法?其实,它背后的工作原理非常有趣!接下来,我们来看看它是怎么实现的。

1. 设置命令行参数:告诉程序你的需求
parser = argparse.ArgumentParser()
parser.add_argument('-f',type=str,help='The file path of target video. ex. /home/user/example.mp4.\nDefault value is "demo.mp4"',default=base_dir + '/demo.mp4'
)
parser.add_argument('-n',type=str,help='The new file name.\nDefault value is {current file name}_noAudio.mp4',
)
args = parser.parse_args()
audio_path = args.f

这段代码的作用是设置命令行参数,让用户可以输入视频路径和输出文件名。如果没有输入,默认会使用 demo.mp4 作为输入文件。

2. 检查视频路径:确保输入文件有效
while True:try:VideoFileClip(audio_path)breakexcept Exception:print('Directory or file is not valid, please enter a valid file directory ...')audio_path = str(input('Enter the video path again (absolute path without space): '))

这段代码的作用是检查用户输入的视频路径是否有效。如果路径无效,程序会提示用户重新输入,直到输入正确的路径为止。

3. 移除音频并保存新视频:给视频“静音”
def remove_audio(audio):video = VideoFileClip(audio)  # 加载视频文件video = video.without_audio()  # 移除音频video.write_videofile(os.path.join(base_dir, new_file))  # 保存为新文件

这段代码是整个工具的核心。VideoFileClip 会加载视频文件,without_audio() 会移除视频中的音频,write_videofile 会把处理后的视频保存为新文件。

第二步:这个代码能用来干啥?应用场景大揭秘!

这个工具不仅仅是一个简单的“静音器”,它的应用场景其实非常广泛!以下是一些有趣的用法:

  1. 制作无声电影:给视频去掉音频,制作无声电影,增加创意。
  2. 保护隐私:移除视频中的敏感音频,保护隐私。
  3. 优化视频文件大小:音频通常占视频文件的大部分空间,移除音频可以显著减小文件大小。
  4. 创意视频制作:制作无声视频,方便后续添加新的音频或字幕。

总之,只要你需要处理视频中的音频,这个工具都能帮你轻松搞定!

第三步:扩展玩法,让工具更强大!

接下来,我来教大家两个进阶玩法,让你的工具变得更智能、更有趣!

扩展 1:批量处理视频——一键静音多个视频

我们可以扩展代码,让它支持批量处理多个视频文件。比如,你想把一个文件夹里的所有视频都变成无声视频,这个功能就能派上用场!

import osdef batch_remove_audio(folder_path):for filename in os.listdir(folder_path):if filename.endswith(('.mp4', '.avi', '.mov')):video_path = os.path.join(folder_path, filename)video = VideoFileClip(video_path)video = video.without_audio()output_filename = f"{filename.split('.')[0]}_noAudio.{filename.split('.')[1]}"video.write_videofile(os.path.join(folder_path, output_filename))print(f"Processed {filename}")# 使用示例
batch_remove_audio("path/to/video/folder")

这段代码会遍历指定文件夹里的所有视频文件,调用 remove_audio 函数生成无声版本,并保存到同一个文件夹里。

扩展 2:添加音频处理——给视频添加新音频

我们可以扩展代码,让它不仅能移除音频,还能给视频添加新的音频。比如,你想给视频加上背景音乐,这个功能就能派上用场!

from moviepy.editor import AudioFileClipdef add_audio(video_path, audio_path, output_path):video = VideoFileClip(video_path)audio = AudioFileClip(audio_path)video = video.set_audio(audio)  # 设置新的音频video.write_videofile(output_path)print(f"Added audio to {output_path}")# 使用示例
add_audio("input_video.mp4", "background_music.mp3", "output_video.mp4")

这段代码会加载一个视频文件和一个音频文件,把音频添加到视频中,并保存为新的视频文件。

总结:视频静音,创意无限!

好了,今天的分享就到这里啦!是不是觉得这个工具超级实用?它不仅能帮你移除视频中的音频,还能通过简单的扩展,实现更多有趣的功能。有了它,你的视频创作会变得更加轻松和有趣。

如果你也想拥有这样一个“声音消除器”,那就赶紧动手试试吧!相信我,有了它,你的视频创作会变得更加丰富多彩。

最后,别忘了点赞和分享,让更多人知道这个超实用的 Python 小工具!!

需要完整的源码,请在评论区留言,或私信我。

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

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

相关文章

【gpt生成-总览】怎样才算开发了一门编程语言,需要通过什么测试

开发一门真正的编程语言需要经历完整的设计、实现和验证过程,并通过系统的测试体系验证其完备性。以下是分阶段开发标准及测试方法: 一、语言开发核心阶段 1. 语言规范设计(ISO/IEC 标准级别) ​​语法规范​​:BNF/…

leetcode222 完全二叉树的节点个数

完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层(从第 0 层开始),则该层…

若依集成BladeX单点登录的令牌管理与api请求流程

目录 概述系统架构单点登录流程令牌管理机制接口调用流程关键代码实现数据结构安全性考虑常见问题与解决 概述 本文档详细说明若依系统如何实现与BladeX的单点登录集成,包括令牌管理和接口调用的完整流程。整个集成采用基于OAuth2的授权码流程,允许用…

《AI大模型应知应会100篇》第27篇:模型温度参数调节:控制创造性与确定性

第27篇:模型温度参数调节:控制创造性与确定性 摘要 在大语言模型的使用中,“温度”(Temperature)是一个关键参数,它决定了模型输出的创造性和确定性之间的平衡。通过调整温度参数,您可以根据任…

爱普生SG2520VGN差分晶振5G基站的时钟解决方案

在 5G 通信时代,数据流量呈爆发式增长,5G 基站作为信号的核心中转枢纽,承载着前所未有的数据传输与处理重任。从海量的物联网设备连接,到高速移动用户的数据交互,每一个环节都对基站的性能提出了严苛要求。而精准稳定的…

GitHub SSH连接终极解决方案

GitHub SSH连接终极解决方案:443端口修改多场景故障排查指南 一、问题现象速查 当开发者执行以下命令时出现连接异常: ssh -T gitgithub.com常见报错类型: 经典端口阻塞ssh: connect to host github.com port 22: Connection refused密钥验…

面向新一代扩展现实(XR)应用的物联网框架

中文标题: 面向新一代扩展现实(XR)应用的物联网框架 英文标题: Towards an IoT Framework for the New Generation of XR Applications 作者信息 Joo A. Dias,UNIDCOM - IADE,欧洲大学,里斯本&…

Qt unknown module(s) in qt:serialport解决方法

在Ubuntu和CentOS系统中,若使用Qt时遇到Unknown module(s) in QT: serialport错误,通常是由于未正确安装Qt的串口模块(QSerialPort)或项目配置不当导致。以下是针对两种系统的解决方案: 一、安装Qt串口模块 1. Ubuntu/Debian系列 安装开发包: 执行以下命令安装Qt5串口模…

阀门轴承电动车工件一键精修软件

若需定制开发“ComfyUI意见精修软件” 技术栈建议: 前端:React/Vue Figma插件API(直接读取设计稿)。 后端:Node.js/Python NLP库(spaCy/NLTK)。 数据库:MongoDB(存储…

chapter32_SpringMVC与DispatcherServlet

一、简介 从本章节开始进入SpringMVC的学习,SpringMVC最重要的类就是DispatcherServlet DispatcherServlet的本质是一个Servlet,回顾一下Servlet JavaWeb就是基于Servlet的Servlet接口有5个方法Servlet实现类是HttpServlet,自定义的Servle…

《Learning Langchain》阅读笔记3-基于 Gemini 的 Langchain如何从LLMs中获取特定格式

纯文本输出是有用的,但在某些情况下,我们需要 LLM 生成结构化输出,即以机器可读格式(如 JSON、XML 或 CSV)或甚至以编程语言(如 Python 或 JavaScript)生成的输出。当我们打算将该输出传递给其他…

中间件--ClickHouse-12--案例-1-日志分析和监控

1、案例背景 一家互联网公司需要实时分析其服务器日志、应用日志和用户行为日志,以快速发现潜在问题并优化系统性能。 2、需求分析 目标:实时分析日志数据,快速发现问题并优化系统性能。数据来源: 服务器日志:如 Ng…

多道程序和多任务操作系统区别

多道程序 vs. 多道任务:对比分析 ✅ 共同点 方面共同特征核心机制都依赖于进程/任务切换执行需求实现多个程序或任务"并发"执行系统支持都需要操作系统的支持(如调度算法、内存管理)本质目标提高资源利用率(CPU不空转…

齐次坐标变换+Unity矩阵变换

矩阵变换 变换(transform):指的是我们把一些数据,如点,方向向量甚至是颜色,通过某种方式(矩阵运算),进行转换的过程。 变换类型 线性变换:保留矢量加和标量乘的计算 f(x)…

闲来无事,用HTML+CSS+JS打造一个84键机械键盘模拟器

今天闲来无聊,突发奇想要用前端技术模拟一个机械键盘。说干就干,花了点时间搞出来了这么一个有模有样的84键机械键盘模拟器。来看看效果吧! 升级版的模拟器 屏幕录制 2025-04-18 155308 是不是挺像那么回事的?哈哈! 它…

智慧城市:如同为城市装上智能大脑,开启智慧生活

智慧城市的概念随着信息技术的飞速发展而逐渐兴起,它通过集成物联网、大数据、人工智能和数字孪生等先进技术,为城市管理和居民生活带来了前所未有的智能化变革。本文将深入探讨这些核心技术及其在智慧城市的典型应用场景,展示智慧城市如何提…

科技快讯 | 智谱开源最新GLM模型系列;“AI 洗头店”现身广州;ChatGPT上线图库功能

智谱开源最新GLM模型系列,启用全球域名“Z.ai” 4月15日,智谱开源最新GLM模型系列,包括32B和9B尺寸,涵盖基座、推理、沉思三类模型,全部遵循MIT开源许可协议。推理模型GLM-Z1-32B-0414实测推理速度达200 tokens/秒&…

第32讲:卫星遥感与深度学习融合 —— 让地球“读懂”算法的语言

目录 🔍 一、讲讲“遥感+深度学习”到底是干啥的? ✅ 能解决什么问题? 🧠 二、基础原理串讲:深度学习如何“看懂”遥感图? 🛰 遥感图像数据类型: 🧠 CNN的基本思路: 🧪 三、实战案例:用CNN对遥感图像做地类分类 📦 所需R包: 🗂️ 步骤一:构建训…

【多线程5】面试常考锁知识点

文章目录 悲观/乐观锁挂起等待锁/自旋锁偏向锁轻量级/重量级锁锁升级CASCAS引发的ABA问题解决方案 原子类 公平/不公平锁可重入锁ReentrantLock读写锁 Callable接口 这里的“悲观”“乐观”“挂起等待”“自旋”“轻量级”“重量级”“公平”“非公平”“可重入”仅代表某个锁的…

第三届世界科学智能大赛新能源赛道:新能源发电功率预测-数据处理心得体会1

看懂数据 比赛数据说明: 文档(报名之后可以下载)大小操作初赛测试集.zip94MB下载初赛训练集.zip632MB下载output.zip145KB下载 任务和主题 AI新能源功率预报:根据历史发电功率数据和对应时段多类别气象预测数据,实…