¿Cómo usar ffmpeg para unir MP3 y copiar los metadatos al mismo tiempo?

¿Cómo usar ffmpeg para unir MP3 y copiar los metadatos al mismo tiempo?

Varias páginas en Internet hablan sobre cómo usarlo ffmpegpara unir MP3 y copiar las etiquetas, pero parece que no logro que funcione correctamente. Idealmente, lo que sucedería es que uniría todos los MP3, luego tomaría los metadatos del primer MP3, como álbum, pista, autor, etc., y los copiaría al archivo final.

He elaborado el siguiente guión. Si bien une los archivos, no copia los metadatos. Pensé que los -map_metadata 0 -id3v2_version 3 -write_id3v1 1parámetros ffmpeglo harían, pero no es así. ¿Qué me estoy perdiendo?

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

información relacionada