Я хотел знать, есть ли способ разделить стерео на два монофонических файла 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 что-то сделал, но результат оказался не таким, как я ожидал, вместо того, чтобы разбить его на два моно-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
Я не использовал одиночные точки, но вместо этого я использовал двойные точки, поэтому неудивительно, что это не сработало. Теперь это работает!-layouts
но нет примера, как это работает. Я попробовал это, и сообщение, которое я получаю,Missing argument for option 'layouts'
какой аргумент ожидает ffmpeg?Audio ID : 2 Channel(s) : 6 channels Channel positions : Front: L C R, Side: L R, LFE
, но я думаю, что уже нашел решение этой проблемы.Вы должны использовать фильтр разделения каналов для этого. -map не может этого сделать. Например:
Проверьте ссылку на документацию, которую я предоставил.
источник