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

音频类型转换工具-可执行文件exe/dmg制作

朋友车载音乐需要MP3格式,想要个批量转换工具

准备工作

  1. brew install ffmpeg --HEAD或者官网下载安装ffmpeg并配置环境
  2. conda install ffmpeg 或者pip install ffmpeg-python

音频类型转换程序.py文件

exe文件在windows下打包,dmg在macos下打包,需要更换文件路径\\为/

# windows
# 获取文件夹中所有的文件名
def getFiles(path):import osfilenames = os.listdir(path)return filenamesdef trans_video_to_mp3(filePath,output_name,newType='mp3'):from pydub import AudioSegment# 读取数据文件song = AudioSegment.from_file(filePath)# 输出转换文件    song.export(output_name+'.'+str(newType), format=str(newType))song = None# 转换音频
def changeVideo(dataPath,newType=False):print('-------Start------')    import os# 如果是文件夹,则执行以下操作if os.path.isdir(dataPath):outputDir = r"" + dataPath + '\\..\\' + '输出'            # 如果输出文件夹不存在,则创建if not os.path.exists(outputDir):os.makedirs(outputDir) print('默认跳过.开头隐藏文件')    # 遍历文件夹中所有的文件,执行转换操作for file_name in getFiles(dataPath):if not file_name[0]=='.':# 生成文件路径filePath = r"" + dataPath + '\\' + file_nameprint('源文件路径', filePath)# 输出文件名    output_name = r"" + outputDir + '\\' + file_nameprint('输出文件路径', output_name)# 将数据文件转换到输出文件trans_video_to_mp3(filePath, output_name,newType)# 如果是一个文件则直接转换else:print('单个文件输出到同级目录下')output_name = os.path.splitext(dataPath)[0]         # 将数据文件转换到输出文件夹print('输出文件路径为 ', output_name+'.'+str(newType))trans_video_to_mp3(dataPath,output_name,newType) print('-----The  End-----')if __name__ == '__main__':       print('请将文件或目录地址输入控制台,然后回车')path = input("Enter your path: ")print('音频要转换为什么格式?')newType = input('Enter new type: ')changeVideo(path, newType if newType else 'mp3')

生成可执行文件

# 安装pipenv
pip install pipenv#建立虚拟环境
pipenv install
#进入虚拟环境(上一步可省略,因为没有虚拟环境的话会自动建立一个)
pipenv shell
# 随时查看安装的包
pip list
#安装模块
pip install pydub 
#打包的模块也要安装,否则会调用原有的库依旧会关联很多无用库
pip install pyinstaller
# 打包
pyinstaller -F .py文件路径 --distpath 输出文件夹
# 退出虚拟环境
exit
# 删除虚拟环境
pipenv ––rm

  • 可以转换常见格式如:mp4、mp3、wav、flac等
  • 无法解码转换网易云QQ音乐下载的ncm、mgg等加密格式(um库被删了可以找找,bushi)
  • 视频转换后只有音频
    使用方式

相关文章:

  1. 【最新】windows电脑FFmpeg安装教程手把手详解
  2. 解决pyinstaller打包exe文件过大的问题

相关文章:

音频类型转换工具-可执行文件exe/dmg制作

朋友车载音乐需要MP3格式,想要个批量转换工具 准备工作 brew install ffmpeg --HEAD或者官网下载安装ffmpeg并配置环境conda install ffmpeg 或者pip install ffmpeg-python 音频类型转换程序.py文件 exe文件在windows下打包,dmg在macos下打包&#…...

【Proteus仿真】【51单片机】公交车报站系统

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真51单片机控制器,使用LCD12864显示模块、DS18B20温度传感器、DS1302时钟模块、按键、LED蜂鸣器、ULN2003、28BYJ48步进电机模块等。 主要功能: 系统运行后&…...

C++--STL总结

参考教程:黑马程序员匠心之作|C教程从0到1入门编程,学习编程不再难_哔哩哔哩_bilibili 软件界一直希望建立一种可重复利用的东西,C的面向对象和泛型编程思想,目的就是复用性的提升。 大多情况下,数据结构和算法都未能有一套标准,…...

Python----图像的手绘效果

图像的数组表示 图像是有规则的二维数据,可以用numpy 库将图像转换成数组对象 : from PIL import Image import numpy as np imnp.array(Image.open("D://np.jpg")) print(im.shape,im.dtype)结果: 图像转换对应的ndarray 类型是3 维数据&am…...

Android13集成paho.mqtt.android启动异常

项目中原依赖是: implementation(org.eclipse.paho:org.eclipse.paho.android.service:1.1.1) {exclude module: support-v4transitive true } implementation org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.5在Android10系统运行正常,能够连接…...

STM框架之按键扫描新思路

STM框架之按键扫描新思路 引入代码展示思路分析 我们学习了定时器实现毫秒级/秒级任务框架,这期我们基于任务框架学习按键扫描新思路。 引入 在按键扫描的过程中,最重要的一步就是按键消抖,解决的方法最简单粗暴的就是先扫描一次按键状态&am…...

Linux服务器挂载另一台服务器的文件夹(mount)

我们实际应用中,会常遇到多个Linux服务器之间需要频繁共享文件,或者是一台服务器需要使用另一台服务器的闲置磁盘空间。最方便的方法就是挂载另一台linux文件夹(文件服务器),通俗理解为:当前服务器远程连接…...

剑指offer --- 用两个栈实现队列的先进先出特性

目录 前言 一、读懂题目 二、思路分析 三、代码呈现 总结 前言 当我们需要实现队列的先进先出特性时,可以使用栈来模拟队列的行为。本文将介绍如何使用两个栈来实现队列,并给出具体的思路和代码实现。 一、读懂题目 题目:用两个栈实现一…...

流媒体协议

◆ RTP(Real-time Transport Protocol),实时传输协议。 ◆ RTCP(Real-time Transport Control Protocol),实时传输控制协议。 ◆ RTSP(Real Time Streaming Protocol),实时流协议。 ◆ RTMP(Real Time Messaging Protocol),实时…...

ClickHouse的分片和副本

1.副本 副本的目的主要是保障数据的高可用性,即使一台ClickHouse节点宕机,那么也可以从其他服务器获得相同的数据。 Data Replication | ClickHouse Docs 1.1 副本写入流程 1.2 配置步骤 (1)启动zookeeper集群 (2&…...

C语言编程陷阱(五)

陷阱21:不要使用逗号运算符代替分号 C语言中,我们可以使用分号来结束一个语句,比如a = b;,这样可以让编译器知道语句的边界,以及执行的顺序。但是,如果我们想要在一个语句中执行多个表达式,就可以使用逗号运算符,比如a = (b = c, c + 1);,这样可以让编译器按照从左到右…...

chardet检测文件编码,使用生成器逐行读取文件

detect_encoding 函数使用 chardet 来检测文件的编码。然后,在 process_large_file 函数中,根据检测到的编码方式打开文件。这样,你就能够更准确地处理不同编码的文件。 import chardetdef detect_encoding(file_path):with open(file_path,…...

html所有标签和DOCTYPE的总结

一、DOCTYPE 1. 意义 DOCTYPE是一种标准通用标记语言的文档类型声明&#xff0c;告诉标准通用标记语言解析器它应该使用什么样的文档类型定义来解析文档。 2. 应用 现在&#xff0c;我们需要告诉标准通用标记语言解析器&#xff0c;我们接下去要用html来编写代码了。 <…...

2023年11月15号期中测验判断题(Java)

1-1 局部变量可以与成员变量重名。 正确答案&#xff1a;T 解释&#xff1a; 局部变量可以和成员变量重名&#xff0c;通常&#xff0c;为了区分局部变量和成员变量&#xff0c;会使用this关键字&#xff08;C称this指针&#xff0c;python是self关键字&#xff09;来特别声…...

基于 selenium 实现网站图片采集

写在前面 有小伙伴选题&#xff0c;简单整理理解不足小伙伴帮忙指正 对每个人而言&#xff0c;真正的职责只有一个&#xff1a;找到自我。然后在心中坚守其一生&#xff0c;全心全意&#xff0c;永不停息。所有其它的路都是不完整的&#xff0c;是人的逃避方式&#xff0c;是对…...

vue3相关内容

ref声明/赋值 操作基本类型数据 string number // 引入方法 import {ref} from vue // 声明变量 const name ref(A) // 修改值 name.value Breactive声明/赋值 操作引用类型数据 array object proxy不能直接赋值&#xff0c;会破坏响应式对象 // 引入方法 import {reacti…...

AWTK实现汽车仪表Cluster/DashBoard嵌入式GUI开发(七):FreeRTOS移植

前言: 一般的GUI工程都需要一个操作系统,可能是linux,重量级的,也可能是FreeRTOS,轻量级的。 一句话理解那就是工程就是FreeRTOS task任务的集合。 一个main函数可以看到大框架: 很显然,除了第一个是硬件配置的初始化,中间最重要的部分就是要创建任务,把AWTK的应用…...

《洛谷深入浅出进阶篇》P1995 程序自动分析——并查集,离散化

上链接&#xff1a;P1955 [NOI2015] 程序自动分析 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P1955 上题干&#xff1a; 首先给你一个整数t&#xff0c;代表t次操作。 每一次操作包含以下内容&#xff1a; 1.给你一个整数n&#xff0c;让…...

基于单片机的自动循迹小车(论文+源码)

1.系统设计 此次基于单片机的自动循迹小车的设计系统&#xff0c;结合循迹模块来共同完成本次设计&#xff0c;实现小车的循迹功能&#xff0c;其其整体框架如图2.1所示。其中&#xff0c;采用STC89C52单片机来作为核心控制器&#xff0c;负责将各个传感器等模块链接起来&…...

linux系统中安装python到指定目录

Linux系统中安装python 下载Python源码包 根据服务器系统和需要的Python版本&#xff0c;在Python官网下载对应的Python源码包。 安装依赖&#xff08;需要权限&#xff09; yum install gcc gcc-c patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel…...

OpenCV图像预处理失效全解析,深度解读光照不均、反光伪影、亚像素抖动下的鲁棒代码实现

第一章&#xff1a;OpenCV图像预处理失效的典型工业场景综述在工业视觉检测系统中&#xff0c;OpenCV常被用作图像预处理的核心工具&#xff0c;但其默认参数与理想假设在真实产线环境中频繁失效。光照剧烈波动、镜头污损、金属反光、高速运动拖影以及低信噪比成像等物理约束&a…...

10X探头隐藏技能:除了衰减信号,它如何用补偿电容拯救你的高频测量?

10X探头的高频测量奥秘&#xff1a;补偿电容如何成为信号保真的关键 在电子测量领域&#xff0c;示波器探头是工程师们不可或缺的工具&#xff0c;而10X探头凭借其独特的设计在高频测量中展现出无可替代的优势。本文将深入探讨10X探头内部补偿电容的工作原理&#xff0c;揭示它…...

实战复盘:我是如何用Turbo Intruder的race.py脚本,5分钟挖到一个高并发订单漏洞的

高并发漏洞狩猎实录&#xff1a;从Turbo Intruder脚本调优到电商系统攻防实战 去年在一次众测项目中&#xff0c;我偶然发现某电商平台的积分兑换系统存在并发处理缺陷。这个漏洞最终被评级为高危&#xff0c;而整个挖掘过程只用了不到5分钟——关键就在于对Turbo Intruder的ra…...

智能体间通信实践指南

每个雄心勃勃的 AI 项目都会遇到这样的时刻&#xff1a;你碰壁了。你有一个强大的语言模型&#xff0c;你让它做一些复杂的事情——也许从三十个不同角度研究一个主题,或者从头开始构建整个营销活动——但它就是……无法把所有东西整合在一起。上下文变得太大。任务太分散。输出…...

CentOS7 下 Go 多版本管理与无缝升级指南

1. 为什么需要Go多版本管理&#xff1f; 在CentOS7系统上开发Go项目时&#xff0c;经常会遇到这样的尴尬&#xff1a;新项目需要用最新版Go的特性&#xff0c;而老项目必须跑在特定旧版本上才能兼容。我去年就踩过这个坑——用Go 1.21写完的微服务&#xff0c;部署到生产环境发…...

Undecimus革新性全流程越狱技术指南:从核心价值到实用工具

Undecimus革新性全流程越狱技术指南&#xff1a;从核心价值到实用工具 【免费下载链接】Undecimus unc0ver jailbreak for iOS 11.0 - 12.4 项目地址: https://gitcode.com/gh_mirrors/un/Undecimus 一、核心价值&#xff1a;破解iOS生态三大痛点 Undecimus作为针对iOS…...

AceCommon:Arduino嵌入式零堆分配轻量C++工具库

1. AceCommon 库概述&#xff1a;面向嵌入式 Arduino 的轻量级底层工具集AceCommon 是一个专为资源受限的微控制器平台&#xff08;尤其是 Arduino 生态&#xff09;设计的零依赖、低开销 C 工具库。其核心设计哲学是“小而精、无侵入、可复用”。与常见的功能臃肿、依赖繁杂的…...

别再手动调API了!用Dify+FastAPI+阿里云OSS,5分钟搭建一个自动化的文生视频服务

从零构建AI视频生成流水线&#xff1a;DifyFastAPIOSS全链路自动化实战 在内容创作领域&#xff0c;视频制作正经历着从手工剪辑到AI生成的范式转移。传统视频制作需要专业软件、复杂操作和大量时间投入&#xff0c;而现代AI技术已经能够通过自然语言描述直接生成高质量视频片段…...

激活函数进化史:从Sigmoid到ELU,聊聊那些年我们踩过的‘梯度消失’和‘神经元死亡’的坑

激活函数进化史&#xff1a;从Sigmoid到ELU&#xff0c;聊聊那些年我们踩过的‘梯度消失’和‘神经元死亡’的坑 神经网络的世界里&#xff0c;激活函数就像神经元之间的"翻译官"&#xff0c;负责将输入信号转化为有意义的输出。但这位翻译官的脾气可不太好琢磨——…...

实用扩散模型完整指南:100行代码实现高效图像生成

实用扩散模型完整指南&#xff1a;100行代码实现高效图像生成 【免费下载链接】Diffusion-Models-pytorch Pytorch implementation of Diffusion Models (https://arxiv.org/pdf/2006.11239.pdf) 项目地址: https://gitcode.com/gh_mirrors/di/Diffusion-Models-pytorch …...