Tôi muốn biết liệu có cách nào để tách âm thanh nổi thành hai tập tin đơn âm. Tôi đoán đầu tiên là
ffmpeg -threads "16" -i "$2" -map 0:1:1 "$3"
bởi vì video ví dụ của tôi có các thông tin sau:
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
Vì vậy, tôi có một luồng âm thanh này với hai kênh và muốn hai kênh đơn âm. Lúc đầu, tôi đã thử nó với map_channel, nhưng điều đó không thực hiện được thay vào đó tôi nhận được một thông báo lỗi:
Syntax error, mapchan usage: [file.stream.channel|-1][:syncfile:syncstream]
Vì vậy, tôi đã thử lại với mã được đề cập ở trên và ít nhất ffmpeg đã làm một cái gì đó, nhưng kết quả không như tôi mong đợi, thay vì chia nó thành hai tệp wav đơn, kết quả là:
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
một lần nữa với hai kênh âm thanh, vậy tôi đã sai ở đâu?
-map_channel
tôi đã không sử dụng các dấu chấm đơn lẻ mà thay vào đó tôi đã sử dụng các dấu chấm kép, vì vậy không có gì lạ khi nó không hoạt động. Bây giờ nó hoạt động!