หน้าต่างๆบนอินเทอร์เน็ตพูดคุยเกี่ยวกับวิธีใช้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}"
@Gyan ท้ายนี้แล้วจะได้รับการคัดลอกไฟล์แรกไปยังไฟล์ที่ส่งออกสองครั้งหรือไม่?
—
Roxy
ไม่ไม่มีสตรีมแมปดังนั้น ffmpeg จะเลือกหนึ่งอินพุตและเนื่องจากคุณสมบัติสตรีมเหมือนกันมันจะเลือกอันแรก
—
Gyan
-i "${queue_file}" -i "first_file"
-map_metadata 1