使用ffmpeg将文件夹中的所有mp4音频文件转换为mp3

时间:2016-07-19 03:42:31

标签: ffmpeg mp3 gstreamer avaudioplayer mp4

如何使用ffmpeg将给定文件夹中的所有mp4文件转换为mp3。 我在google上看到的几乎所有链接都是关于将mp4视频转换为mp3。 我可以通过VLC播放器做到这一点,但我有大量收集~1000 mp4音频文件,并希望通过某些脚本或命令通过命令行完成。 是否可以通过gstreamer进行?

2 个答案:

答案 0 :(得分:7)

一种方法是bash for loop

仅转换.mp4个文件:

mkdir outputs
for f in *.mp4; do ffmpeg -i "$f" -c:a libmp3lame "outputs/${f%.mp4}.mp3"; done

转换.m4a.mov.flac

mkdir outputs
for f in *.{m4a,mov,flac}; do ffmpeg -i "$f" -c:a libmp3lame "outputs/${f%.*}.mp3"; done

对于转换任何内容,请使用" *"通配符:

mkdir outputs
for f in *; do ffmpeg -i "$f" -c:a libmp3lame "outputs/${f%.*}.mp3"; done

答案 1 :(得分:2)

FileInfo[] Files = d.GetFiles("*.mp4").Union(d.GetFiles("*.<any other file extension>")).ToArray(); 

foreach (FileInfo file in Files)
            {
               // str = str + ", " + file.Name;
                  builder.Append(Path.GetFileNameWithoutExtension(file.Name));

ProcessStartInfo startInfo = new ProcessStartInfo();
       startInfo.CreateNoWindow = false;
       startInfo.UseShellExecute = false;
       startInfo.FileName = "ffmpeg.exe";
       startInfo.WindowStyle = ProcessWindowStyle.Hidden;
       startInfo.RedirectStandardOutput = !string.IsNullOrEmpty("test");
     startInfo.Arguments = "-i " + filename + ".mp4 -q:a 0 -map a " + filename + ".mp3";

}