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

问题描述 投票:0回答:2

如何使用 ffmpeg 将给定文件夹中的所有

mp4
文件转换为
mp3
。 我在谷歌上看到的几乎所有链接都是关于将 mp4 视频转换为 mp3 的。 我可以通过 VLC 播放器执行此操作,但我收集了大约 1000 个 mp4 音频文件,并希望通过某些脚本或命令通过命令行来完成此操作。 可以通过 gstreamer 来完成吗?

ffmpeg mp3 gstreamer avaudioplayer mp4
2个回答
40
投票

一种方法是 bash for 循环

仅转换

.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

3
投票
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";
}
© www.soinside.com 2019 - 2024. All rights reserved.