Можно ли вызвать определенный аудиоканал в графе фильтров?

Можно ли вызвать определенный аудиоканал в графе фильтров?

Я знаю, что -map_channelаргумент может указывать на конкретный аудиоканал в файле, но есть ли способ сделать аналогичный аргумент в графе фильтров?

Я надеюсь, что что-то вроде этого будет возможно:

-filter_complex "[0.0.0]showspectrum…[Left];[0.0.1]showspectrum…[Right]"

Возможно ли что-то подобное?

решение1

Вы можете использоватьchannelsplitфильтр. Предположим, что есть стереовход:

ffmpeg -i input -filter_complex \
"[0:a]channelsplit[l][r]; \
 [l]showspectrum=color=intensity,pad=0:ih*2[left]; \
 [r]showspectrum=color=intensity[right]; \
 [left][right]overlay=0:h[v]" \
-map "[v]" -map 0:a -c:v libx264 -c:a copy output.mkv

Это просто пример, чтобы показать, как channelsplitможно использовать. Если вы действительно хотите showspectrumразделить каналы, просто сделайте:

ffmpeg -i input -filter_complex "[0:a]showspectrum=mode=separate[v]" \
-map "[v]" -map [0:a] -c:v libx264 -c:a copy output.mkv

Связанный контент