Você deve sinalizar o número correto de canais no lado da entrada, e para armazenar em FLAC, você precisará definir um layout de canal suportado. Então,
ffmpeg -f alsa -channels 4 -i pulse -channel_layout quad test.flac
Eu recentemente tenho um dispositivo de entrada USB de quatro canais (Behringer UMC404HD). O dispositivo está funcionando e o Linux o vê; Eu sei disso porque posso gravar quatro canais independentes usando o Audacity. No entanto, não consigo descobrir como pedir ao ffmpeg para fazer a mesma coisa.
Se eu configurar o ALSA e emitir este comando:
ffmpeg -f alsa -i pulse test.flac
Eu recebo um arquivo estéreo que contém o som do dispositivo multicanal que é composto pelos quatro canais misturados a estéreo (trata-o como fonte quadrifônica frontal e traseira).
ffprobe nos relatórios desse arquivo (entre a massa de outras informações):
Stream #0:0: Audio: flac, 48000 Hz, stereo, s16
Por mais que eu tente, não consigo determinar como colocar essa coisa no modo quádruplo, em vez de estéreo. Essa página parecia promissora, mas não consegui fazer nada disso funcionar para o meu caso (certamente muito mais simples !?): link
Alguém sabe como devo fazer isso? Parece que deveria ser uma coisa trivial, e provavelmente estou usando apenas as palavras erradas em minhas pesquisas.
Tags ffmpeg linux audio multi-channel