FFMPEG: opções de linha de comando para gravar áudio do microfone e alto-falantes

2

Estou usando o ffmpeg versão 2.4.7 na estação de trabalho Fedora-21. Quero gravar áudio simultaneamente do microfone e dos alto-falantes como fluxos separados. Eu estou usando o seguinte comando para isso.

ffmpeg -f alsa -i pulse -f alsa -i default -acodec libmp3lame -map 0:0 -map 1:0 outfile.mkv

Mas depois de executar este comando no terminal, eu tenho que ir às configurações de "Volume Control" na GUI, então vá para a aba "Recording", mude o "capture from" de um canal para "Built-in Audio Analog Stereo" , Microfone) e a "captura de" de outro canal para "Monitor de Áudio Estéreo Analógico Incorporado" (ou seja, Alto-falantes).

Mas como isso pode ser feito completamente a partir da linha de comando, para automatizá-lo para uso em scripts.

    
por Mohan 09.04.2015 / 00:19

1 resposta

4

Finalmente, encontrei uma maneira de alcançar o que eu queria, usando o utilitário PulseAudio "pacmd" .

Este tutorial me ajuda

$ pacmd list-sources|awk '/index:/ {print $0}; /name:/ {print $0}; /device\.description/ {print $0}'

Execute o comando acima para obter os nomes de todas as interfaces de gravação do sistema. Exemplo de saída abaixo.

    index: 0
    name: <alsa_output.pci-0000_00_1b.0.analog-stereo.monitor>
        device.description = "Monitor of Built-in Audio Analog Stereo"
  * index: 1
    name: <alsa_input.pci-0000_00_1b.0.analog-stereo>
        device.description = "Built-in Audio Analog Stereo"

Agora, execute o seguinte comando para gravar áudio de microfone e alto-falantes simultaneamente.

$ ffmpeg -f pulse -i alsa_output.pci-0000_00_1b.0.analog-stereo.monitor -f pulse -i alsa_input.pci-0000_00_1b.0.analog-stereo -acodec libmp3lame -map 0:0 -map 1:0 outfile.mkv
    
por 17.10.2015 / 12:47