现在下载的许多音乐文件是flac和ogg格式的,QQ音乐上下载的就是这样的,这些文件尺寸比较大,在某些场合使用不便,比如在车机上播放还是mp3格式合适,音质这些在车机上播放足够了,要求不高。比如本人就喜欢下载音乐到U盘,然后在车机上播放。手机开着导航,车机播放音乐。嗯,扯远了,言归正传。对于flac和ogg格式转换成mp3,有些网站和工具也有这个功能,但是有的好像还要收费,速度还很慢。这里借用ffmpeg.exe 工具的功能,然后写一个脚本做批量转换。首先需要下载ffmpeg.exe
ffmpeg下载链接
下载后解压文件,找到bin目录,里面有ffmpeg.exe 文件,复制出来。
下面是脚本的内容:
#! /bin/bash
ogg_count=$(find . -type f -name '*.ogg' | wc -l)
if [ $ogg_count -gt 0 ]; then
[ ! -d "mp3_folder" ] && mkdir mp3_folder
ls -Q *.ogg | xargs -i ./ffmpeg.exe -i {} {}.mp3
ls -Q *.ogg.mp3 | perl -lne '$old=$_;s{\.ogg}//;qx(mv $old mp3_folder/$_);print'
fi
flac_count=$(find . -type f -name '*.flac' | wc -l)
if [ $flac_count -gt 0 ]; then
[ ! -d "mp3_folder" ] && mkdir mp3_folder
ls -Q *.flac | xargs -i ./ffmpeg.exe -i {} {}.mp3
ls -Q *.flac.mp3 | perl -lne '$old=$_;s{\.flac}//;qx(mv $old mp3_folder/$_);print'
fi
我把脚本命名为 to_mp3.sh ,如下图所示:
把脚本、ffmpeg.exe、需要转换的音乐文件放在同一个目录。然后在git bash中执行脚本就行,如果后缀为sh的文件关联了git bash,可以直接双击执行。下面是执行过程中的部分截图。
执行完成后,脚本会自动新建一个文件夹 mp3_folder
转换好的mp3文件就在这个目录中