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

ffmpeg转化mp3至wav格式

单个命令行转化mp3文件到wav格式

ffmpeg -i input.mp3 -acodec pcm_s16le -ar 44100 -ac 2 output.wav

批量带进度条将其转换

count=$(ls *.mp3 | wc -l)
current=0
for file in *.mp3; do((current++))echo "is deal [$current/$count]: $file"ffmpeg -i "$file" -acodec pcm_s16le "${file%.mp3}.wav" -hide_banner -loglevel error
done
echo "conver down,conver $count mp3"

例如当前文件夹下有两个mp3文件

在这里插入图片描述

使用脚本将其转换为wav格式

注意:因为conver.sh包含 ​​Windows 换行符(\r\n)​​,而 Linux/macOS 系统使用的是 ​​Unix 换行符(\n),可以手动将其删除

sed -i 's/\r$//' conver.sh
chmod +x conver.sh
./conver.sh

执行结果如下:
在这里插入图片描述

则mp3就转换为wav完毕了

可以将其优化下,例如mp3文件多了后,将转换成功的wav文件保存到相应的文件夹中

 #!/bin/bashoutput_dir="./wav_files"
mkdir -p "$output_dir"# 获取 MP3 文件列表
mp3_files=(*.mp3)
total_files=${#mp3_files[@]}if [ "$total_files" -eq 0 ]; thenecho "错误:当前目录没有 MP3 文件!"exit 1
fi# 开始转换
for ((i=0; i<total_files; i++)); dofile="${mp3_files[$i]}"progress=$(( (i + 1) * 100 / total_files ))echo -ne "进度: $progress% | 正在转换: $file\r"ffmpeg -i "$file" -acodec pcm_s16le "$output_dir/${file%.mp3}.wav" -hide_banner -loglevel error
doneecho -e "\n转换完成!所有文件已保存到 $output_dir/"

例如,当前文件夹中不仅有mp3文件,还有wav格式的文件,为了方便后续统一处理,自动将已有的 WAV 文件复制到目标目录​

#!/bin/bashoutput_dir="./wav_files"
mkdir -p "$output_dir"# 功能1:转换所有MP3为WAV
mp3_files=(*.mp3)
total_mp3=${#mp3_files[@]}if [ "$total_mp3" -gt 0 ]; thenecho "正在转换MP3文件..."for ((i=0; i<total_mp3; i++)); dofile="${mp3_files[$i]}"progress=$(( (i + 1) * 100 / total_mp3 ))echo -ne "进度: $progress% | 正在转换: $file\r"ffmpeg -i "$file" -acodec pcm_s16le "$output_dir/${file%.mp3}.wav" -hide_banner -loglevel errordoneecho -e "\n已转换 $total_mp3 个MP3文件"
elseecho "未找到MP3文件,跳过转换"
fi# 功能2:复制已存在的WAV文件
wav_files=(*.wav)
total_wav=${#wav_files[@]}if [ "$total_wav" -gt 0 ]; thenecho "正在复制WAV文件..."for file in "${wav_files[@]}"; do# 检查目标文件是否已存在(避免重复复制)if [ ! -f "$output_dir/$file" ]; thencp -v "$file" "$output_dir/"fidoneecho "已复制 $total_wav 个WAV文件"
elseecho "未找到WAV文件,跳过复制"
fiecho -e "\n操作完成!所有音频文件已保存在 $output_dir/"

例如当前目录下有以下几个文件
在这里插入图片描述

则进行脚本运行转换:

在这里插入图片描述

则将wav文件和mp3文件均放置到wav_files文件夹中

http://www.dtcms.com/a/482209.html

相关文章:

  • 不同类型的 3D 文件格式
  • ElasticSearch 实战:全文检索与数据聚合分析的完整指南​
  • Day62 设备驱动程序开发基础与LED控制
  • 支持Word (doc/docx) 和 PDF 转成一张垂直拼接的长PNG图片工具类
  • JAVA同城预约服务家政服务美容美发洗车保洁搬家维修家装系统源码小程序+公众号+h5
  • 正规拼多多代运营公司如何优化网站结构
  • 三层前馈神经网络实战:MNIST手写数字识别
  • 深度学习(四)
  • 学习HAL库STM32F103C8T6(MQTT报文)
  • 【C++】C++11特性学习(1)——列表初始化 | 右值引用与移动语义
  • 网站布局 种类手机商城页面设计
  • 如何建设手机端网站电力公司建设安全文化
  • 红色 VR 大空间:技术赋能红色文化传承的运营价值与实践路径
  • 网络协议工程 - eNSP及相关软件安装 - [eNSP, VirtualBox, WinPcap, Wireshark, Win7]
  • WHAT - 前端性能指标(交互和响应性能指标)
  • 专业的媒体发稿网
  • dede旅游网站模板wordpress教学主题
  • 做网站的技术性说明怎么自己做微网站吗
  • VScode安装以及C/C++环境配置20251014
  • 黄页网站大全通俗易懂wordpress 数据库配置错误
  • 常规的红外工业镜头有哪些?能做什么?
  • 一文读懂分子结合位点的预测:为双荧光素酶实验铺路
  • SM4密码核心知识点
  • 当代社会情绪分类及其改善方向深度解析
  • Python 求圆柱体的周长(Find the perimeter of a cylinder)
  • 攻防世界-Web-unseping
  • Python 第十三节 Python中各种输入输出方案详解及注意事项
  • 优秀的网站设计分析西电信息化建设处网站
  • 网页设计第6次课后作业
  • 算法---双指针一