如何转换音频并保留所有格式的轨道元数据

时间:2018-09-16 13:04:00

标签: audio ffmpeg

我的输入是多个FLAC和OGG文件。 我想将它们全部转换为mp3。 (脚本可以进行批量转换,ffmpeg命令只需要处理一个输入文件即可。)

我也想保留标签(歌曲艺术家,曲目名称,专辑名称等)。 我当前执行此操作的命令是:

ffmpeg -vn -n -i $INFILE -c:a libmp3lame -q:a 1 -ar 44100 -map_metadata 0:s:0 -id3v2_version 3 $OUTFILE.mp3

现在的问题是:当输入文件是OGG文件时,它可以工作。但是,如果输入是FLAC文件,则无法使用。

我还找到了FLAC输入文件的命令:

ffmpeg -vn -n -i $INFILE -c:a libmp3lame -q:a 1 -ar 44100 $OUTFILE.mp3

(这是相同的,但是没有map_metadata选项。因此,复制FLAC标记时不带该选项。但是如果没有它们,则对OGG输入文件不起作用。对于选项,对FLAC输入文件不起作用。

如何在不需要其他命令的情况下处理两种输入格式并保留这两种标签?

1 个答案:

答案 0 :(得分:1)

使用

ffmpeg -n -i $INFILE -c:a libmp3lame -q:a 1 -ar 44100 -map_metadata 0 -map_metadata 0:s:0 -id3v2_version 3 -vn $OUTFILE.mp3

这会映射全局元数据和流元数据。

-vn属于输出。