ฉันต้องการทราบว่ามีวิธีการแยกสเตอริโอเป็นสองไฟล์ wav ขาวดำหรือไม่ เดาแรกของฉันคือ
ffmpeg -threads "16" -i "$2" -map 0:1:1 "$3"
เพราะวิดีโอตัวอย่างของฉันมีข้อมูลดังต่อไปนี้:
Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 39mn 0s
Bit rate mode : Constant
Bit rate : 256 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
ดังนั้นฉันจึงมีออดิโอสตรีมนี้ที่มีสองช่องและต้องการสองช่องโมโน ตอนแรกฉันลองใช้ map_channel แต่นั่นไม่ได้ทำเคล็ดลับแทนฉันได้รับข้อความแสดงข้อผิดพลาด:
Syntax error, mapchan usage: [file.stream.channel|-1][:syncfile:syncstream]
ดังนั้นฉันจึงลองอีกครั้งด้วยโค้ดที่กล่าวถึงข้างต้นและอย่างน้อย ffmpeg ทำอะไรบางอย่าง แต่ผลลัพธ์ไม่ใช่สิ่งที่ฉันคาดไว้แทนที่จะแยกมันออกเป็นไฟล์ mono wav สองไฟล์ผลลัพธ์คือ:
info.system.container = WAVE
info.system.size = 449413166 Bytes
info.system.size = 428.59 MiB
info.system.playtime = 2340.69 s
info.audio0.codec = PCM
info.audio0.desc =
info.audio0.format_endianness = Little
info.audio0.format_sign = Signed
info.audio0.format_resolution = 16 bits
info.audio0.samprate = 48000 Hz
info.audio0.channels = 2
อีกครั้งด้วยช่องเสียงสองช่องฉันจะไปไหนผิด
-map_channel
ฉันไม่ได้ใช้จุดเดียว แต่ฉันใช้จุดสองจุดแทนดังนั้นจึงไม่น่าแปลกใจว่ามันจะไม่ทำงาน ตอนนี้มันใช้งานได้!