Python如何将仅包含音频内容的Mp4,提取并转换为Mp3

article/2025/6/9 19:52:47

关于如何将Mp4转换为Mp3的文章很多,方案也都很有效。但是这其中的大部分方法,并不适用于该Mp4文件中仅包含音频内容的情况,比如:有人从YouTube,下载了仅包含音频内容的文件,这个文件其实还是Mp4格式的,只是没有视频内容,虽然可以通过直接将后缀名改为.mp3,将这个本质是Mp4的文件变为一个伪Mp3文件,也可以在一些播放器上进行播放,但终究不是真正的音频文件,我试过把这个文件放到foobar2000中播放,但是会被识别为无效的内容,而不能播放,如果将后缀改为mp4后,就可以正常的播放声音了。

那要如何把这个Mp4文件变成真正的mp3文件呢?

方法很简单,先要在Python中安装moviepy模块,可以通过 pip install moviepy 进行加载,之后就是几行代码可以解决的事情了,详见下面的代码及注释:

通过以下的python代码, 即可以将正常的Mp4文件转为Mp3, 也可以将只包含音频片断的Mp4文件转换为Mp3。

# pip install moviepy
# 安装 moviepy模块
import os
# 导入moviepy模块
import moviepy.editor as mp# 选择MP4文件
mp4_file = r"Youtube_Audio_only_file.mp4"# 通过替换文件名后缀,生成Mp3文件的新地址
mp3_file = mp4_file.replace('.mp4','.mp3')# 由于在读取无画面的Mp4文件的时候,系统会报错,从而中断程序运行,所以用try语句,先尝试按正常方式读取MP4
try:# 正常情况下,应该使用VideoFileClip来读取Mp4文件,并重新生成Mp3文件,代码如下:mp.VideoFileClip(mp4_file).audio.write_audiofile(mp3_file)# 但是由于从Youtube下载的仅包含音频的文件,其实并不是MP4文件,会出现 self.fps = infos['video_fps'] 的关键错误,# 所以不能采用这种方式读取,应该考虑用音频的方式读取
except:# 如果用正常的方式读取MP4出现错误,则采用读取音频的方式获取文件中的内容,再作输出。# 用音频的方式读取从Youtube下载的Mp4文件,并输出为mp3 音频文件。mp.AudioFileClip(mp4_file).write_audiofile(mp3_file)# 转换为MP3文件后,如果不再需要原Mp4文件可以直接删除该Mp4文件
os.remove(mp4_file)

如果需要批量处理的话,可以考虑每次将一个文件夹内的全部MP4文件进行转换,参考代码如下:

g_mp4_path = r"Mp4所在的文件夹路径"
for mp4_filename in os.listdir(g_mp4_path):if '.mp4' in mp4_filename:# 调用上面的那部分转换代码# 如果当前目录下的文件是Mp4格式,则可以进行转换为Mp3

我用TKinter编译了一个用于转换Mp4的简易程序,界面如下:
在这里插入图片描述
在对py进行打包的时候,遇到了 动态加载 的问题,在这里感谢 Lambda 在【Python记 #3】记一次python打包为.exe的经历 中详见介绍了解决方案。另外还有一个问题,就是调用moviepy模块后,打包成的exe文件特别大,我这次生成的可执行文件,接近150M。

如需要完整的python源代码以及打包的exe文件,请点击下载。 以上内容,希望能对你有所启发,如有不足之处,请指出,谢谢!


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

相关文章

PCM和WAV音频格式的区别,以及python自动转换

目录 WAV和PCM的简单介绍PCMWAV 关于音频的基础知识声道数channels采样位数bits采样频率sample_rate 进阶内容互相转换代码 WAV和PCM的简单介绍 PCM pcm:pulse code modulation,脉冲编码调制。将声音等模拟信号变成符号化的脉冲列,予以记录…

音频文件常用格式

目录 一、前言二、音频文件格式1、MP32、WAV3、WMA4、FLAC5、MIDI6、RA7、APE8、AAC9、CDA10、MOV 三、总结 一、前言 在复习备考《多媒体技术》时整理的多媒体技术音频文件的常用格式。本文完全足以应对《多媒体技术》中音频的相关考点后续还有一份多媒体技术相关的文档整理会…

Python处理音频文件的实用姿势

每天叫醒我的不是理想,是楼下广场舞的音乐。 音乐是人类的通用语言,不分国界不分种族。 抖音短视频爆火的关键因素之一,就是普通人也能便捷地使用BGM表达自我。 从感性角度看,音乐可以有很多种解释,如: …

用 Python 将音频内容转换为文本格式

当对一个或多个人的谈话进行记录时,采用一种高度准确和自动化的方式将口语提取为文本非常有用。转换成文字后,便可以将其用于进一步分析或用作其他功能。 在本教程中,我们将使用称为AssemblyAI(https://www.assemblyai.com/&#…

Python:运用pydub模块转换音频格式、对音频进行剪辑

Python:运用pydub模块转换音频格式、对音频进行剪辑 近端时间看了一个短视频,觉得视频的背景音乐片段很不错,想把这个背景音乐得到,虽然小编运用Python爬虫肯定能得到这首音乐,但是这个音乐片段肯定是得不到的,于是网上…

python 音频格式转换

一、安装pydub库 WinR运行输入cmd进入控制台窗口,输入pip install pydub 回车进行安装 二、编写代码 1、在音频文件夹目录下新建文件Audio_Deal.py 2、用python自带的编辑器打开 3、输入下方代码(把“安静的午后_高至豪.flac”格式转换为“安静的午后_高…

华为云从入门到实战 | 云速建站服务与企业主机安全服务

在网站成功开通后,需要为网站增加内容,例如商品信息、支付方式等,开启企业主机安全服务时,需为指定的主机分配一个配额,并确保已在所选区域购买了充足可用的配额。本节主要介绍企业主机安全服务的开启与配置相关过程&a…

【云速建站】多语言站点集合

【摘要】 本章介绍多语言插件的使用,包括新建语言站点、删除语言站点、编辑语言站点、设置默认语言等。更新了一键复制多语言站点。 本节介绍多语言站点的编辑维护 首先登录控制台,进入后台管理 1 新增多语言 1.1 新增多语言 进入站点编辑…

【云速建站】SSL证书自助部署

第一步 SSL证书申请 第二步 下载证书 第三步 获取证书内容 第四步 建站后台添加证书内容 第五步 DNS中添加一条精确cname解析 完成 第一步 SSL证书申请,确保域名的正确性,后面在绑定的时候要验证 第二步 下载证书,审核通过后就可以下载…

【ICP备案后如何进行域名解析(云速建站)】

ICP备案后如何进行域名解析(云速建站) 前提一、 华为云操作二、 其它平台添加解析记录三、 云速建站后台绑定域名 前提 已经顺利完成工信部ICP备案,若还没有备案,点击查看个人备案 进行备案操作(华为云速建站&#xf…

【云速建站如何个人备案】

云速建站如何个人备案 一、 操作二、 注意事项 前提:已经进行了域名的注册: 如何进行域名的注册可以点击 域名注册 查看如何操作 一、 操作 登陆 华为云官网,点击右上角的备案,进入如下页面,点击登陆备案系统 进入…

【云速建站SSL证书的添加】

云速建站SSL证书的添加 前提一、下载证书二、 添加证书 前提 已经申请了SSL证书,若还没有申请,可以点击 SSL证书申请以及购买 进行操作 这里需要注意的是为什么需要申请SSL证书,如果没有SSL证书,则网站通过浏览器打开后&#xff…

【云速建站】如何实现多用户权限管理

【摘要】 通过本部分的操作,您可以设置不同权限的角色,并添加相应角色下的管理员。如日常运营过程中,有时会需要多个部门、多位管理人员协作操作,比如添加商品、处理订单等。使用角色与权限管理可以有效解决这个问题。 一、主用户…

【云速建站】后台数据批量导入导出

【摘要】 主要分享了云速建站后台管理的批量导入数据操作方法,如产品分类、产品、淘宝在售产品等的批量导入 1 产品分类的导入导出 1.1 进入后台管理 首先登录云速建站控制台,进入后台管理-产品-管理分类 当前分类无数据 1.2 导出分类模板 点击…

【云速建站】一键生成手机页

【摘要】在开始前,需要说明一点,PC站和手机站的编辑是分离的,即PC站的页面编辑后,不会自动同步到手机站,如果手机站也需要PC站相同的编辑效果,是需要给手机站进行同样的编辑设置才可以的。本文是以未购买PC…

【云速建站】会员注册弹窗添加及设置

【摘要】 会员注册插件包含的注册项设置、注册窗口样式设置以及会员控件添加,分别是在三个不同的地方维护,本文就是讲述这三部分分别是在哪里维护。 云速建站的会员设置包括前端页面添加会员登录控件、后端维护会员注册项及注册窗口样式。 我们先登录云…

【华为云速建站的购买流程】

华为云速建站的购买流程 建议一、 购买1.1 成本中心 二、 续费 建议 建议在进行云速建站前,先注册好心仪的域名,关于如何注册域名:域名注册 可跟着步骤进行操作 一、 购买 首先登录华为云官网,选择云速建站 进入网站建设专场后…

【云速建站】按照给定模板从0开始编辑网站页面

【摘要】 本文以一个示例网站为模板,用云速建站从0开始一步步编辑网站页面内容。 1 示例网站 这次已示例网站为模板,从零开始编辑建设网页 示例网站地址:http://security-456.view.websiteonline.cn/ 2 维护后台数据 登录云速…

【云速建站】让你轻轻松松建立属于自己的网店

【摘要】 通过使用华为云云速建站,轻松创建网店,大家快来一起体验吧。 1 控制台订购 1.1 购买站点/模板 首先我们需要购买一个站点,如果还未注册华为云,还要先注册成为华为云用户。链接https://console.huaweicloud.…

【云速建站】表单应用

【摘要】 云速建站的留言插件是网站唯一一个表单类插件,留言插件的字段类型有下拉框,单复选,文本框,图片上传,三级联动,日期等,通过这些不同类型字段的组合,可以实现多样化的表单功能…