На разных страницах в Интернете рассказывается о том, как использовать 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}"