ffmpeg-normalize 使用 id3v2 标签

ffmpeg-normalize 使用 id3v2 标签

我在 Windows 命令行中对带封面的音频运行 fmpeg-normalize,但生成带封面的输出文件的命令无法识别,它只在使用 c:v 复制选项时有效。使用其他选项则无效。ffmpeg-normalize 无法识别 id3v2 信息。

如何使用 ffmpeg-normalize 工具输出封面?

作品: ffmpeg-normalize "input.mp3" -nt ebu -t -10 -tp -0.5 -c:a mp3 -b:a 320k -ar 44100 --extra-output-options "-c:v copy" -o "output_LUFS.mp3" -p

不起作用: ffmpeg-normalize "input.mp3" -nt ebu -t -10 -tp -0.5 -c:a mp3 -b:a 320k -ar 44100 --extra-output-options "-c:v copy" "-id3v2_version 3" "-metadata:s:v title=""Album cover""" "-metadata:s:v comment=""Cover (front)""" -o "output_LUFS.mp3" -p

ffmpeg-normalize: error: unrecognized arguments: -id3v2_version 3 -metadata:s:v title="Album cover" -metadata:s:v comment="Cover (front)"

答案1

当我尝试规范化 mp3 文件时,上述命令并没有为我保留掩护,但仍然对复制 idv3 标签有很大帮助。谢谢!

我决定采取多个步骤:提取封面、规范化 mp3 文件、重新插入封面。

用它来提取覆盖:

ffmpeg -hide_banner -i "input.mp3" -an -c:v mjpeg -vf scale=320:-1 ./tmp/cover.png

一些解释:

  • an - 表示不复制音频流
  • c:v - 复制视频流,在我的情况下是封面
  • vf sacle=320:-1 - 将封面图片缩放至 320px,同时保持纵横比

下一步是规范化音频文件:

ffmpeg-normalize  "$i" -nt ebu -c:a mp3 -b:a 224k --extra-output-options "-id3v2_version 3" -o "./tmp/input.mp3" -p

我已删除此处不需要的选项。比特率仍为 224k。

最后一步是将其插回到封面上:

ffmpeg -hide_banner -i "./tmp/input.mp3" -i "./tmp/cover.png" -c copy -map 0 -map 1 -metadata:s:v title=""Album\ cover"" -metadata:s:v comment=""Cover\ \(front\)"" "./normalized/output.mp3"

此命令接受 2 个输入流:纯标准化 mp3 数据和封面图像。将它们一起复制到位于“标准化”文件夹中的最终文件中,同时将元数据添加到视频流中,表明这是封面。

总之,我创建了一个小脚本,它对文件夹中的所有 mp3 执行此操作,但不进行错误检查:

mkdir ./tmp
mkdir ./normalized
for i in *.mp3
do
ffmpeg -hide_banner -loglevel error -i "$i" -an -c:v mjpeg -vf scale=320:-1 ./tmp/cover.png
ffmpeg-normalize  "$i" -nt ebu -c:a mp3 -b:a 224k --extra-output-options "-id3v2_version 3" -o "./tmp/$i" -p
ffmpeg -hide_banner -loglevel error -i "./tmp/$i" -i "./tmp/cover.png" -c copy -map 0 -map 1 -metadata:s:v title=""Album\ cover"" -metadata:s:v comment=""Cover\ \(front\)"" "./normalized/$i"
rm ./tmp/cover.png
rm "./tmp/$i"
done

希望您觉得它有用。Apulai

答案2

命令配置有错误。

正确的命令是:

要规范化没有封面的文件:

ffmpeg-normalize "input_without_cover" -nt ebu -t -10 -tp -1.5 -c:a mp3 -b:a 320k -ar 44100 -o "output_normalized_without_cover" -p

要使用封面图片规范化文件:

ffmpeg-normalize "input_with_cover" -nt ebu -t -10 -tp -1.5 -c:a mp3 -b:a 320k -ar 44100 --extra-output-options "-c:v copy -id3v2_version 3 -metadata:s:v title=""Album cover"" -metadata:s:v comment=""Cover (front)""" -o "output_normalized_with_cover" -p

第二个命令将把输入文件的封面艺术添加到规范化的输出文件中。

相关内容