
Eu sei que o -map_channel
argumento pode especificar um canal de áudio específico dentro de um arquivo, mas existe uma maneira de fazer um argumento semelhante dentro de um gráfico de filtro?
Espero que algo assim seja possível:
-filter_complex "[0.0.0]showspectrum…[Left];[0.0.1]showspectrum…[Right]"
Algo assim é possível?
Responder1
Você pode usar ochannelsplit
filtro. Assumindo uma entrada estéreo:
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
Este é apenas um exemplo para mostrar como channelsplit
pode ser usado. Se você realmente quisesse showspectrum
separar os canais, basta fazer:
ffmpeg -i input -filter_complex "[0:a]showspectrum=mode=separate[v]" \
-map "[v]" -map [0:a] -c:v libx264 -c:a copy output.mkv