2016-11-15 146 views
1

我一直在寻找一种方式来批量减少对我的mp3文件相当大集合MP3比特率。鉴于这一定是一件超常见的事情,想要做这件事是令人惊讶的。批量降低比特率和MP3音频文件的大小与ffmpeg的

事实上,有几十个,也许上百个职位的人们询问如何做到这一点,和几十种实用工具可供不同,声称能做到这一点的钱数。环顾四周,尝试一些免费软件,我很惊讶没有人让批量转换/调整任务变得容易。

如果我想转换成一个单一的文件,我告诉他们这是做一个体面的方式:

ffmpeg -y -loglevel "error" -i "my_music_file.mp3" -acodec libmp3lame -ab $BITRATE "my_music_file_new.mp3" 

(虽然如果文件代替改变,导致我宁愿相同的名称。)

我需要使用的ffmpeg,将递归通过我的音乐目录,改变的我的mp3文件比特率一个简单的bash脚本。

+1

可以提供答案你自己的问题,所以考虑重新写你的问题,作为一个典型的问题,并提供解决方案作为一个问题的答案。这也让人们知道这个问题有一个可接受的解决方案。 – LordNeckbeard

回答

3

它花了一点摆弄,以获得正确的ffmpeg和查找选项,但这应该这样做。

#!/bin/bash 
MUSIC="FULL PATH TO YOUR MUSIC FOLDER" 
BITRATE=160k 
find "${MUSIC}" -name "*.mp3" -execdir echo "{}" \; -exec mv "{}" "{}.mp3" \; -exec ffmpeg -y -loglevel "error" -i "{}.mp3" -acodec libmp3lame -ab $BITRATE "{}" \; -exec rm "{}.mp3" \; 

因为ffmpeg的不能输出到没有的摧毁它相同的输入文件,脚本第一重命名文件,建立在你所选择的比特率的一个新的,然后删除旧文件。

我敢肯定,很多人会在这里的改进建议。我当然欢迎使脚本更具可读性的方法。