互联网上有很多页面介绍如何使用它ffmpeg
来合并 MP3 并复制标签,但我似乎无法让它正常工作。理想情况下,它会将所有 MP3 合并在一起,然后获取第一个 MP3 的元数据(如专辑、曲目、作者等),并将其复制到最终文件中。
我编写了以下脚本。虽然它合并了文件,但不会复制元数据。我以为参数-map_metadata 0 -id3v2_version 3 -write_id3v1 1
可以ffmpeg
做到这一点,但事实并非如此。我遗漏了什么?
#!/usr/bin/env bash
set -e
if [[ $# -eq 0 ]] ; then
echo "Usage: $0 <output_file> <mp3_file> <mp3_file> ..."
exit 1
fi
output_file="$1"
shift
queue_file=$(mktemp "${PWD}/queue.XXXXXX")
for m in "$@" ; do
echo "file '$m'" >> "${queue_file}"
done
cat "${queue_file}"
ffmpeg -f concat -safe 0 -i "${queue_file}" -c copy -map_metadata 0 -id3v2_version 3 -write_id3v1 1 "${output_file}"
rm "${queue_file}"