如何使用ffmpeg加入MP3並同時複製元資料?

如何使用ffmpeg加入MP3並同時複製元資料?

網路上的各個頁面都在談論如何使用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}"

相關內容