Wie verwende ich ffmpeg, um MP3s zusammenzufügen und gleichzeitig die Metadaten zu kopieren?

Wie verwende ich ffmpeg, um MP3s zusammenzufügen und gleichzeitig die Metadaten zu kopieren?

Auf verschiedenen Seiten im Internet wird beschrieben, wie man ffmpegMP3s zusammenfügt und die Tags kopiert, aber ich kriege es einfach nicht hin, dass es richtig funktioniert. Im Idealfall würde es alle MP3s zusammenfügen und dann die Metadaten der ersten MP3s, wie Album, Titel, Autor usw., in die endgültige Datei kopieren.

Ich habe das folgende Skript zusammengestellt. Es fügt zwar die Dateien zusammen, kopiert aber nicht die Metadaten. Ich dachte, die -map_metadata 0 -id3v2_version 3 -write_id3v1 1Parameter ffmpegwürden das tun, aber das tun sie nicht. Was übersehe ich?

#!/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}"

verwandte Informationen