我的输入是多个 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
Run Code Online (Sandbox Code Playgroud)
现在的问题是:当输入文件是 OGG 文件时它可以工作。但如果输入是 FLAC 文件,则不起作用。
我还找到了一个用于 FLAC 输入文件的命令:
ffmpeg -vn -n -i $INFILE -c:a libmp3lame -q:a 1 -ar 44100 $OUTFILE.mp3
Run Code Online (Sandbox Code Playgroud)
(这是相同的,但没有 map_metadata 选项。因此,在没有该选项的情况下复制 FLAC 标签。但是没有它们,它不适用于 OGG 输入文件。使用这些选项,它不适用于 FLAC 输入文件。
如何处理这两种输入格式并保留两者的标签而不需要不同的命令?
使用
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
Run Code Online (Sandbox Code Playgroud)
这映射了全局元数据和流元数据。
-vn属于输出。
| 归档时间: |
|
| 查看次数: |
3947 次 |
| 最近记录: |