Можно ли вызвать определенный аудиоканал в графе фильтра?
Я знаю что -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